Pull to refresh

Comments 1018

Ну что, поприветствуем нового лудита. Маркер - ненависть к микросервисам. Ну и жуткая смесь социальных лозунгов и технологий. Как хоршо было раньше - телефонный диск покрутил, такси вызвал, а сейчас - кругом микросервисы и злобные капиталисты угнетают пролетариев умственного труда, отчуждая их средства производства!

Попытайтесь хотя бы немного вникнуть в прочитанный текст. Он правда шире чем штамп "говорит плохо о распространненной технологии = луддит". Потому что пока что у вас получается только клеить ярлыки. Я лично сталкивался с подобным "отуплением" разработчиков и препращением их в сугубо рабочий инструмент который хорошо умеет только 1 функцию, в то время как разрабока ПО творческий процесс который не поддается стандартизации. Когда мышление человека ограниченно какой то строго очерченой областью или даже частью области это ужасно. Вы не создадите ничего уникального имея квадратно-гнездовое мышление. И то с какой с скоростью люди добровольно заключают контракт на ограничеие собственного мышления действительно пугает. Я переписывал код за такими разработчиками и мне удавалось его ускорить до 5 раз просто потому что я решал задачу, а не ходил "проторенной тропой" которая описана в первой выдаче со стека. А что до микросервисов, там могла быть любая вещь или технология требования к которой можно хорошо формализовать и описать. Тогда испольнителей можно действителньо менять по щелчку пальца, а общая вовлеченность в процесс остается на уровне ниже плинтуса.

испольнителей можно действителньо менять по щелчку пальца

Можно подумать, в этом есть что-то запредельно плохое. Соотношение кол-ва творцов/кол-во исполнителей (и вакансий с такими требованиями), я так подозреваю, с времён начала промышленной революции не особо меняется. Да, неквалифицированный труд не особенно высоко ценится, даже если за компом.

Можно подумать, в этом есть что-то запредельно плохое.

Плюсы в этом только у владельца бизнеса, для заменяемого это снижает его ценность на рынке труда, а соответсвенно и заработную плату. Вы к какой категории относитесь? Заменяемые или заменяющие?

Да, неквалифицированный труд не особенно высоко ценится, даже если за компом.

Неквалифицированный труд за компом это когда охранник в магазине через комп камеры смотрит. Разработка ПО уж точно не неквалифицированный труд.

Плюсы в этом только у владельца бизнеса, для заменяемого это снижает его ценность на рынке труда, а соответсвенно и заработную плату. 

То же самое относится буквально к любой автоматизации производства. В конечном итоге снижение себестоимости производства снижает минимально возможную для производителя цену продажи. При достаточном уровне конкуренции реальная цена продажи стремится к этой минимальной - то есть, в выигрыше получается третья сторона - потребитель.

В конце концов, когда-то профессиональные писцы, занимавшиеся высококвалифицированной и творческой работой, знатно проиграли от распространения печатного станка.

upd: подумал, что фордовский конвейер как пример будет лучше. Также уникальные специалисты оказались в проигрыше, а общество в выигрыше.

Вы правы в своих утверждениях.
Есть только оговорка, автоматизация хороша для анонимного потребителя, для вас лично это плохо, зарабатывать вы не сможете, и будете наблюдать дешевый продукт на полках который когда то и вас кормил.

Разработчики сейчас, в том числе и мы с вами можем знатно проиграть от подобного подхода легкой замены. Плюсы будут у бизнеса. У потребителя плюсов врятли добавиться(последствия тенденции не заморачиваться, не вовлекаться и формализовать разработку) видны уже сейчас(скайп сдохни уже), для программистов это откровенный минус.

Ну если предлагается целенаправленно бороться с любым развитием индустрии, которое ведёт к снижению цены для конечного потребителя, но вредно для исполнителя, то можно далеко зайти. В принципе, философия тут ровно та же работает, как у сотрудника фармкомпании, который смывает в унитаз только что синтезированный препарат, излечивающий заболевание без побочных эффектов, движимого тем, что с распространением этого препарата его работа станет не нужна (пример несколько утрированный, потому что не учитывается предполагаемое снижение качества от использования микросервисов). Микроэкономически - да, выигрышная стратегия. Но этически спорная, мне кажется.

Ну если предлагается целенаправленно бороться с любым развитием индустрии, которое ведёт к снижению цены для конечного потребителя, но вредно для исполнителя, то можно далеко зайти.

Если бросаться в крайности можно и поедание младенцев оправдать благими целями.
Но вы не забыли о чем речь изначально шла? О том что человек не видел ничего плохого в унификации и удешевлении программистов, я всего лишь обяснил краткосрочные перспективы, а не предлагал саботировать процесс и расстреливать менеджеров предлагающих ускорение/удешевление разработки.

а не предлагал саботировать процесс и расстреливать менеджеров предлагающих ускорение/удешевление разработки.

вроде бы я старался в статье показать удорожание/замедление разработки. мало того, в моём случае это удорожание было видно в рублях

Наверное вам не поверили про замену 50 строк кода делаемых в один спринт одним человеком на несколько десятков человеколет разработки. Больше реализЪму.

В вашем случае да, но компания глобально сэкономит на найме и фонде зарплат при дальнейм развитии идеи "разботчик не важен, если что возьмем другого".

Я так понял, в данном случае цель даже не просто в том, чтоб сэкономить. Цель в том, чтоб во-первых, никто из занятых микросервисами разработчиков не видел общей квртины того, что разрабатывается, и не мог повторить продукт, уйдя из компании. А во-вторых, низвести разработчика до уровня легкозаменимого винтика в системе, которого в любоц момент можно выбросить и заменить новым.

Есть только оговорка, автоматизация хороша для анонимного потребителя, для вас лично это плохо, зарабатывать вы не сможете, и будете наблюдать дешевый продукт на полках который когда то и вас кормил.

Зато появляется мотивация, найти новую нишу в которой необходим творческий потенциал.

Интересная мысль возникла: возможно такое замещение творчества автоматом как раз толкает НТП, выдавливая творцов с насиженных мест на фронтир?

Зато появляется мотивация, найти новую нишу в которой необходим творческий потенциал.

Если вы молоды, горячи и любите вызовы...но некоторые из нас уже не молоды))

Интересная мысль возникла: возможно такое замещение творчества автоматом как раз толкает НТП, выдавливая творцов с насиженных мест на фронтир?

Я думаю такое мнение имеет право на жизнь. Наука,например, плоды которой люди попроще приватизируют и превращают в полезные вещи, мутирует постоянно. Большое количество "творцов" находясь в нестандартизированных условиях пытаются получить какой то полезный результат..

У меня есть убеждение, что программистам вообще не платят "за знание пайтона". Программистам платят за то, что он может все, даже то, чего не знает. (Берет книжку, читает, и может).


Соответственно, пока программист такой вот универсальный солдат - он очень экономически эффективен и обоснованно получает большие деньги. Как только он становится "умею крутить гайку на 14, обеспечьте меня работой" - он может зарабатывать примерно так же, как водитель убера (им тоже надо осваивать один новый абзац в ПДД раз в пять лет).

Прежде всего программист - тот, ктотпрофессионально работает со сложными структурами (кода, например, или данных), а язык - всего лишь средство

Точно так же патентная система/авторское право являются "мутацией" в рыночном отборе — если не хочется платить автору, то придумывается свой вариант, и он может оказаться даже лучше.

UFO just landed and posted this here

Подписка на Netflix пока только дорожает *пожал плечами*

UFO just landed and posted this here

Массовое производство обуви сделало возможным то, что я могу пойти и купить пакистанские кроссовки за 10 евро на ярмарке утром воскресенья.

Хотя с поправкой на инфляцию, обувь должна стоить ну не меньше мопеда, и уж точно дороже двух порций еды в столовке.

UFO just landed and posted this here

Тут всё зависит, откуда начать отсчет :)

Если считать от Р.Х., то цена на обувь только падала, с небольшими скачками.

У Нетфликса же цена с момента появления цена растёт.

Другой пример: цены на VPS-ки падали вплоть до 2020-го.

UFO just landed and posted this here

Точнее 2 десятилетия, поколение. :-)

Может IP адреса подорожали? По крайней мере в scaleway подробно косты расписаны, и я вижу, что за IP-шник я плачу сравнимо с самой VPSкой.

А при этом сам Netflix никак не меняется? Ну там не знаю, количество доступного контента например растёт?

Или ещё какие-то изменения не связанные с "автоматизацией" внутри самого Netflix?

Не массовое производство, а наличие рабочей силы, готовой работать почти что за еду и перенос производства поближе к такой силе.

В условиях лютой монополизации во многих нишах IT отрасли не всегда приходится надеяться на удешевление продуктов.

Разработчики сейчас, в том числе и мы с вами можем знатно проиграть от подобного подхода легкой замены. Плюсы будут у бизнеса. У потребителя плюсов врятли добавиться(последствия тенденции не заморачиваться, не вовлекаться и формализовать разработку) видны уже сейчас(скайп сдохни уже), для программистов это откровенный минус.

Это от разработчиков не зависит.

Разработчикам платит бизнес, а значит бизнес устанавливает правила. Чтобы разработчики не делали, бизнес найдет способ сделать из них заменяемые винтики. Отдельные редкие случаи общую картину не испортят

И в конечном итоге этот низкоквалифицированный труд вообще будет заменён нейросетевыми алгоритмами.

Да, зато будет конкуренция за труд более высокого уровня.

Плюсы в этом только у владельца бизнеса, для заменяемого это снижает его ценность на рынке труда,

Это не так. Как раз незаменимость приводит к снижению ценности специалиста на рынке труда, поскольку приводит к консервации компетенции. Да, у текущего работодателя это может приводить к более высокой чем на рынке зп, но вы становитесь заложником данного работодателя.

Я бы сказал, что есть обе тенденции. Да, вы вникаете в конкретный бизнес, и да, за его пределами ваши компетенции (часть их, причем возможно самые дорогие) не будут нужны. Но в тоже время, человека, которые не тупой кодер, а творчески решает проблемы бизнеса, как правило оторвут с руками.

А вот не все так просто. Слишком неравноценен ущерб. Незаменимый сотрудник, как правило, имеет подушку, чтобы на полгодика взять творческий отпуск, неспешно пописать пет проект на новых технологиях, попроходить тесты, литкод покрутить. А там, гляди, и готов станет собес пройти. Было бы желание, а когнитивные способности у незаменимых людей неплохи.

А работодателю безвыходка вообще без вариантов. У него есть планы, обязательства, и при уходе незаменимого удар может и бизнес завалить, если сфера динамичная.

Поэтому одна из самых важных задач любого бизнеса - организовать процессы так, чтобы незаменимых не было. Даже если в итоге получается дороже - это плата за стабильность.

Разработка ПО уж точно не неквалифицированный труд.

100500 раз читал, что высшее образование программисту не особо необходимо. С убедительными примерами. Ну и чем тогда программист отличается от молотобойца (помощника кузнеца)? Кузнец показывает, куда херячить - молотобоец херячит. Программисту накидывают таски в джиру - он их закрывает.

Мне кажется, в программировании очень часто время уходит на изучение (скажем, на, то как работает API телеграм или модуль телеграмма, чтобы написать бота), почти каждый проект требует что-то новое учить. Периодически надо осваивать новые языки, фреймворки.

У меня есть диплом программиста, и "по диплому" у меня прямо сертифицированные академические знания паскаля. Но насколько ценен был бы программист, если бы он искал себе работу по диплому? Мне кажется, даже водитель более востребован сейчас, чем программист на паскале -)

Программист - тот кто учится. Любой хороший фронтендер может через месяц что-то делать на бэкенде а еще через месяц писать криптовалютные контракты.

высшее образование программисту не особо необходимо. С убедительными примерами.

А с чего вдруг "квалифицированность" == "высшее образование"?

Высшее образование - это про длительное систематическое обучение. Откуда берется "квалифицированность"? Из курсов для вайтишников?

Из длительного систематического обучения на практике, вероятно?

Каменщик в этом смысле ничем не хуже программиста. А уж врач так на 2 головы выше.

Гроссмейстеру образование тоже неособо необходимо, но если посадить на его место молотобойца и объяснить, как фигуры двигать, то результат всё равно будет удручающим.

Так и программирование — квалифицированный труд не потому, что нужны корочки и зубрение пыльных книг, а потому что обычный «уверенный пользователь ПК» не может даже приложение в автозагрузку добавить, если в нём нет такой галочки в опциях.

Обычный пользователь может иметь другую квалификацию. Он может не знать, где в Windows автозагрузка, но зато знать, в какой пропорции мешать песок, цемент и воду.

UFO just landed and posted this here

И заменяемый программист видит сигнал от Судьбы: чувак, все, на фортране ты уже много не заработаешь, учи всякие там дата-сайнс и криптовалюты - там тебя ждет много сладких работ с высокой зарплатой!

Ниоткуда не следует, что это приведет к снижению цены, а не к увеличению прибыли владельца.

Потерявшему работу не очень радостно от снижения цены на N процентов, когда зарплата равна нулю.

Соотношение кол-ва творцов/кол-во исполнителей (и вакансий с такими требованиями), я так подозреваю, с времён начала промышленной революции не особо меняется.


кстати, это очень плохо!

это говорит о никчемности современного строя.

Напомню, например, одно из определений коммунизма:

Коммунизм — раскрепощение и пробуждение высших творческих способностей в каждом человеке.

Коммунизм — раскрепощение и пробуждение высших творческих способностей в каждом человеке

Я чувствую в себе великий творческий потенциал строить на пляже очень креативные замки из песка, в перерывах попивая что-то прохладное. Но мне дают лопату и говорят - "вот лопата, вот песок, вот бетономешалка. твори давай."

Творчество это прекрасно (см скульптуры_из_песка.жпг), но для этого нужно долго и упорно учиться. Кидать песок лопатой проще.

> Но мне дают лопату и говорят — «вот лопата, вот песок, вот бетономешалка. твори давай.»

проблема людей с фрагментарным мышлением (в статье об этом есть) как раз в том и состоит, что они видят/сосредотачиваются исключительно на фрагменте, но целое не могут осилить.

В данном случае Вы, прочитав определение цели, фрагментарно стали смотреть только на неё и не можете понять: пока что она не достигнута. Чтобы этот фреймворк заработал, нужно ещё написать 100500 микросервисов.

В общем неудивительно, что вас заставляют кидать песок, вы ведь при капитализме живёте.

А при коммунизме его кто будет кидать?

В моей семье никогда не было огородов/дач/короче мест, где заниматься сельским хозяйством

мы вообще никогда не понимали: зачем закапывать пять вёдер картохи, чтобы по осени выкопать десять (или сколько там), и всегда рассматривали этот унылый ручной труд, как недоступное нашему пониманию развлечение.

То, что это именно развлечение я однажды понял на своей шкуре: приехали на майские к другу на шашлыки, а у него дом, участок, все дела. Ну и пока до назначенного мероприятия оставалось несколько часов, я, от нечего делать, взял лопату в руки и вскопал там… не помню. Кажется две сотки.

Устал прилично, но вечером, понял, что это хорошо/полезно/приятно для организма. В общем вспоминал вполне с удовольствием и когда снова попадал туда — опять где-то в чём-то помогал.

Вот бежать на беговой дорожке — не моё. Это какие-то бессмысленные телодвижения. А копать — вполне норм.
Правда дачу себе я заводить не стал и не стану, хотя возможность есть.

В общем, что я хотел сказать? Копать будет тот, кому хочется и нравится копать. Если вам (и мне) это не нравится, то вы (и я) — нерепрезентативная выборка.

Тех кому нравится копать и бетон мешать много. Очень много.

А почему вы так уверены в том, что потребность в тех, кто копает и мешает бетон, будет полностью закрыта теми, кому этот вид деятельности нравится?

а потому, что те, у кого есть потребность и талант планировать, при планировании учтут имеющиеся ресурсы и соотнесут их с необходимостями

"На сегодня потребности в колбасе нет", так и запишем.

возьмем современный капитализм
количество предпринимателей — 1%
количество предпринимателей, дающих работу 95% работников — ещё в десять раз меньше

Итого: большинству совершенно пофиг где работать: госкомпании или частной, важно, чтобы условия были приемлемыми. Вопросы смены строя затрагивают интересы унылого одного процента (ограничение сверху) людей, в большинстве своём неправедно владеющими капиталом.

Вот далеко ходить не будем.
Возьмём например Микрософт. Мальчик Билли, заработал на этом сотню-другую ярдов $$, то есть человечество за это поделие (шиндовс) заплатило сотню-другую ярдов.
а какова себестоимость?

а себестоимость оценивается довольно просто: берём аналог Шиндовс, ну скажем ReactOS. Функционал? Такой же. Какие-то программы не запускаются, но не потому что система технологически отстаёт, а потому что часть информации об интерфейсах закрыта/недоступна. Считая что ReactOS содержит в себе 95% функциональности Шиндовс, можно сделать вывод, что себестоимость двух систем соизмерима (разница в пределах двух-трёх раз, не более).

Далее смотрим список разработчиков и видим, что ограничивая сверху, они потратили на это ну не более сотни человеколет.

А человечество за продукт себестоимостью в сотню человеколет потратило сотни миллиардов долларов.

А ещё сотни миллиардов долларов на айфоны.

а если бы строй был более справедливым, то эти деньги могли быть потрачены на создание ТЯЭС, базы на Луне и Марсе итп

но «на сегодня потребности в колбасе нет». ТЯЭС никому не нужна, капиталу для самосохранения требуется переформатирование мира к новому фашистскому строю (логичное продолжение капитализма).
Для этого устроены войны, для этого придуман ковид и т.п.

Однако всё это приводит к тому, что капитализм проходит через слабое состояние. Предстоящая (уже идущая, но только-только начинающаяся) мировая империалистическая война даст нам момент, когда мы снова сможем превратить её в войну гражданскую и снять с шеи паразитов.

как-то так
возьмем современный капитализм
количество предпринимателей — 1%
количество предпринимателей, дающих работу 95% работников — ещё в десять раз меньше

А не подскажете откуда взята эта статистика? В Германии половина работников заняты в средних и малых предприятиях(до 250 сотрудников).

а вторая половина?

По состоянию на ноябрь 2022 года в России зарегистрировано 5 908 615 компаний, которые относятся к малому, среднему бизнесу и к ИП. Последних среди них — 3 642 621, то есть на каждые сорок жителей России приходится по одному индивидуальному предпринимателю


то есть в 2022 у нас 2.5% предпринимателей.
Правда надо помнить, что такой всплеск предпринимательства связан не с тем, что у всех жилка проснулась, а с тем, что чуть ни насильно многих таковыми сделали: был человек таксистом, а потом ему сказали «если будешь самозанятым, то будешь меньший процент отчислять с каждого заказа». Ну и многие таксисты теперь — предприниматели (как ни смешно это звучит)
то есть в 2022 у нас 2.5% предпринимателей.

Вот именно что у вас. Но с каких это пор Россия стала эталоном и происходящее в ней стало можно просто брать и экстраполировать на весь мир? Или даже на весь "современный капитализм"?


а вторая половина?

А вторая половина либо самозанятые, либо работают на фирмы с больше чем 250 сотрудников. Но лично мне дальнейшую статистику искать лень. Для того чтобы опровергнут написанное вами достаточно того что есть.

> А вторая половина либо

не надо «либо» сколько предпринимателей среди второй половины?

А какая разница? Что это изменит в том что ваше заявление неверно? Но если вам интересно, то можете сами переводить:


https://de.statista.com/themen/4137/kleine-und-mittlere-unternehmen-kmu-in-deutschland/
https://de.statista.com/statistik/daten/studie/321958/umfrage/anzahl-der-kleinen-und-mittleren-unternehmen-in-deutschland/
https://www.ratgebermagazin24.de/die-vernachlaessigten-saeulen-der-gesellschaft-die-kleinen-unternehmen

> А какая разница?

ну один процент или два — разницы в данном контексте никакой

Ну там получается однозначно больше: "Более 80% из 3,5 млн немецких предприятий являются малыми предприятиями, в которых работает менее десяти человек." То есть даже забыть про самозанятых и считать что у каждого предприятия всего один хозяин-предприниматель(а часто это не так) и что в каждом из них работает ровно девять человек(что тоже совсем не всегда так), то всё равно получится больше чем 1-2%.

> Ну там получается однозначно больше: «Более 80% из 3,5 млн немецких предприятий являются малыми предприятиями, в которых работает менее десяти человек

так сколько всего предприятий? 3.5 млн? а сколько население неметчины? 80 млн
4%? — унылое меньшинство
а сколько население неметчины? 80 млн

Я смотрю вы у нас мастер демагогии. Ну либо вообще не пытаетесь мозги напрягать. 80 миллионов это всё население. С пенсионерами, детьми и безработными.


А у вас уже так как 4% вместо 1% получилось. Да и то при worst case(ну то есть например часть из этих передприятий семейные и там все "предприниматели") :)

Те, у кого есть доступ к планированию, построят себе и своим детям дачи у моря. И потом возможно задумаются о базах на Луне.

 Вы не создадите ничего уникального имея квадратно-гнездовое мышление.

А можно спросить, что вы создали уникального на промежутке последних, ну скажем, лет десяти? Только вот прям по-честному уникального, а не имеющего уже десяток аналогов.

На Java за последний 1 год
Заточенный под нужды организации менеджер обработки собщений из кафки с несколькими очередями, приоретизацией и многопоточной обработкой.
Интеграцию с платежной системой
На Delphi за последние 4 года
Графические компоненты для отрисовки карт местности
Компоненты для работы с базами данных (аналог Hibernate из мира Java)

Про дельфи не знаю, но неужели никто и никогда до вас не писал обработчиков для кафки и интеграций с платежными системами?

Отделяйте уникальность идеи от уникальности реализации.
Уникальных идей практически не встречается. Идея написать менеджер в общем то не уникальна, а вот уникальна реализация учитывающая особенности требований моего конкретного работодателя. Без фреймворков, ворованного кода и проч..модуль, реализующий функционал который нельзя найти в интернете хотя бы похожий. С платежными системами тоже самое. Они одни для всех организаций, идея тоже одна..но реализации не похожи и близко. Если вы пишете микросевис или прочую генерируемую на 50%-80% вещь, вам физически не хватит места что бы как то свою идею реализовать иначе чем ваш сосед по столу. В итоге откуда вам знать как можно писать код иначе если вы с самого входа в айти писали в рамках супержестких правил и генерации? Неоткуда..только если самому читать исходники людей которые писали все что придет им в голову, но откуда взяться мотивации читать чужой код если тут плаття неплохо да и куча других дел. Отсюда вывод: если у вас квадратно-гнездовое мышление или вас под него согнули вы уже с этим врятли что то сделаете, а релизовать полет фантазии вам негде да и взяться ему неоткуда.

Я правильно понял, если человек может написать интеграцию с платежной системой, значит, у него уже не квадратно-гнездовое мышление и есть полет фантазии? Тогда ладно, я за себя спокоен.

Если оно подразумевает достаточно сложную логику, а не пару запросов и вы сами лично спроектировали и реализовали подобную интеграцию то да, без работы вы не останетесь и заменить вас одним днем будет крайне сложно.

только если самому читать исходники людей которые писали все что придет им в голову

Доводилось мне читать такой код. Можно нинада больше?)

Можете не читать, я разрешаю :)

А если серьезно, как и с освежителями воздухакнигами тут надо выбирать автора, я к примеру очень много интересного увидел в коде SAS планета.

Когда ты на работе - тут не повыбираешь автора)

Неужели никто и никогда до Ребрандта не рисовал голых толстых баб? :)

UFO just landed and posted this here

Если вы опустите глаза ниже по ветке то там будет более развернуто моя точка зрения и разжевано что же именно я имел ввиду.

UFO just landed and posted this here

 который хорошо умеет только 1 функцию

Так-то методу divide et impera не один десяток лет. В том числе в разработке ПО

UFO just landed and posted this here

А прочитанный текст — в основном демагогия и манипуляции.

ну дык написанный вами - ещё большая демагогия.

по сути вы ничего не сказали.

микросервисы - организационная а не технологическая штука - это не опровергнуто

парсеры пишутся не только с goto - удивительно что это было бы не так. статья это не постулирует

и в общем всё как всегда в спорах с вашим ником - извините, но вы мне перестали быть интересны ещё в прошлых моих инкарнациях на habr

UFO just landed and posted this here

Не укажут мне теперь путь, увы и ах.

не укажут, демагогией заниматься неинтересно. Ваш ник - признак того, что она началась.

UFO just landed and posted this here

(ещё раз) заглянул в ваш профиль

у нас с вами большая разница: вы работаете на трендах, я работаю против них

поэтому вы смотрите на меня свысока: дескать что за быдло тут

ну а я смотрю на вас как на ничтожество.

ничего личного, просто констатация фактов

UFO just landed and posted this here
> На каких трендах?

типы, разделение труда, как легализоваться в омерике итп
UFO just landed and posted this here
Типы в тренд вошли сильно после того, как я ими заинтересовался

вот опять вы не в силах разобраться с прочитанным


разве я хоть в одном месте написал о том, когда появились/вошли в тренд типы?

UFO just landed and posted this here
«Работаете на трендах» подразумевает, что что-то сначала становится трендовым, а потом этот работающий этим начинает заниматься

ухты! одно из моих предложений дошло до вашего мозга! круто! прогресс!

UFO just landed and posted this here
UFO just landed and posted this here

почему один? (глядя в ваш профиль) вы делаете это постоянно

UFO just landed and posted this here
Мне интересны граничные условия.

мне — неинтересны


граничные условия — всегда уникальны, по ним нельзя строить обобщения

UFO just landed and posted this here
Зато по ним можно проверять обобщения

наоборот. обобщения как правило делаются по среднестатистическому, по тренду итп. и в граничных условиях перестают работать.


потому проверять их тут, будете ну разве что вы

UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here

чтобы ссылаться на меня, ты сперва должен научиться читать, что я пишу. но, увы, у тебя пока с этим проблема

UFO just landed and posted this here
Ваш тезис: я работаю на трендах.
Наблюдаемый факт: мой основной язык последнее время — хаскель.

ага и он (тезис) по списку статей в профиле.


шушара побежала от мобилизации — ты словил тренд и тиснул статейку про гринкарты.


это именно тренд. хацкель тут не при чём.

UFO just landed and posted this here

ну шушара бежала и до мобилизации, на то она и шушара.


ты ж — её представитель, типичный

UFO just landed and posted this here

После этого оскорбления собеседника я о вас, в принципе всё понял. Держу пари, ваш разговор с начальником в статье был «немного» другим.

— Давайте вкорячим грязный хак в три продовых системы? Нет? А как же ТВОРЧЕСТВО.

А кто отвечать и поддерживать потом будет все это творчество вы так и не сказали. Карл Маркс? То-то и оно.

Как на быдло я смотрю только на тех, кто не умеет в аргументацию

неужели на себя вы смотрите как на быдло?
ни в жизть не поверю (опять просмотрел ваш профиль)

UFO just landed and posted this here
вариации на тему «нет ты»?

вы же иного варианта не приемлете, этот — хотя бы понимаете

UFO just landed and posted this here

ещё раз: монады — способ преобразовать лапшу из ада последовательных колбеков в нечто похожее на императив


чем монады отличаются от промисов? ТОЛЬКО ОДНИМ: промисы реализуют строго один (наиболее частый) паттерн, а монады — ажно четыре.


вот собственно и всё.


попробуйте осмыслить это

UFO just landed and posted this here

четыре ажно варианта: до первой ошибки, все варианты вообще, ну и так далее.


я понимаю, что трудно осилить, но попробуйте: чем монада от промиса отличается?

UFO just landed and posted this here

Разверните, пожалуйста, тему. Чем промисы сделаны неправильно и какого АПИ в них не хватает? Не ради дискуссии, реально интересно.

UFO just landed and posted this here
Плюс, во всех известных мне языках смешивается семантика «выполнится потом» и «может привести к ошибке», тогда как это две разные вещи и два разных эффекта, которые полезно разделять хотя бы ментально.

В Rust разделены, там футура может возвращать Result, аналог хаскельного Either.

Ой, что ж тут делается-то, а?

варианты колбеков, вид сбоку


перестаньте совать всюду свой ацтойный язык, попробуйте например на JS написать аналог Монад.


кроме как с лямбдами у вас это не получится никак.

UFO just landed and posted this here
Я правильно понимаю, что если на каком-то языке $концепция не выражается нормальным образом, а выражается только через $костыль, то $концепция — это $костыль, вид сбоку?

неправильно.


ещё раз: берём питон с колбеками и промисами. потом питон делает шаг и добавляет операторы async/await и прячет колбеки под капотом.


вопрос: колбеки перестали существовать?
ответ: они никуда не делись, просто об однообразном оформлении теперь заботится интерпретатор


вопрос: после того как сделан такой шаг, нужны ли программисту монады?
ответ: нет, нафиг не нужны

UFO just landed and posted this here
UFO just landed and posted this here

всё что можно сделать монадами можно делать и промисами. просто сложнее.
когда синтаксис промисов запихали под капот, эта сложность размывается и ни монады ни промисы не нужны

UFO just landed and posted this here
автоматически означает, что монады — подмножество промисов, просто с точки зрения их денотаций.

нет


если математическая библиотека поставляет четыре оператора умножить разделить сложить и вычесть


а другая — поставляет ещё и синус, то ни первая ни вторая не является подмножеством.


синус можно вычислить и с использованием первой и с использованием второй. просто во второй за вас это кто-то сделал запихав в соответствующую функцию.


новой парадигмы вторая библиотека не несёт. — это центральный тезис

UFO just landed and posted this here
Промис — частный случай монады, не наоборот

ну вот, наконец-то! именно так. промис покрывает 95% необходимостей возни с колбеками. кому-то захотелось покрыть оставшиеся 5 — наваяли фигню, назвали монадами.


в языке где есть файберы или корутины ни монады ни промисы становятся нафиг не нужны

UFO just landed and posted this here
А парсер вы будете писать на файберах или на корутинах?

а парсер я буду писать с применением стейтмашины. в этом месте использование монад — тупое переусложнение.


равно как и повсеместное использование типов

UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
На каких трендах?

Салтыков-Щедрин:


Чего-то хотелось: не то конституции, не то севрюжины с хреном, не то взять бы да ободрать кого-нибудь.
Отупление разработчиков не приводит ни к чему хорошему. Да, вы можете их уволить и заменить — но работать они будут хуже тех, которые не тупые. Поэтому те кто так поступает, в какой-то степени роют себе яму. Даже если не подозревают об этом.

>общая вовлеченность в процесс остается на уровне ниже плинтуса
В том числе и поэтому. Если процесс совершенствуют только избранные, а не все, если вовлеченность на нуле — ни к чему хорошему это не приведет.

А какое отношение способ деплоймента и комуникации (микросервисы) имеет к процессу разработки, и уж тем более как ограничивает его. Можно просто с такой же уверенностью сказать, что мэйкфайлы (или пакетирование) ограничивают.

Я всегда пишу код и стараюсь писать так, чтобы "испольнителей можно действителньо менять по щелчку пальца" и причин на это более чем достаточно

Во-первых, это показатель хорошей декомпозии и понятности кода.

Во-вторых, я, как исполнитель, меняюсь каждый день. Узнаю что-то новое, забываю что-то старое, бываю без настроения, бываю с настроением и т.д.

В-третьих, если все будут создавать места, где исполнителей можно менять по щелчку пальцев, то будет еще легче менять работу. Тебя заменили по щелчку пальцев? Не вопрос, найди где кого-нибудь заменят по щелчку пальцев на тебя, а он в свою очередь тоже такое место найдет. Хорошо же, ну?

Да-да-да. Марксизм в натуральном виде.
https://www.marxists.org/russkij/marx/1867/capital_vol1/29.htm
"...Машинный труд, до крайности захватывая нервную систему, подавляет многостороннюю игру мускулов и отнимает у человека всякую возможность свободной физической и духовной деятельности[707]. Даже облегчение труда становится средством пытки, потому что машина освобождает не рабочего от труда, а его труд от всякого содержания. Всякому капиталистическому производству, поскольку оно есть не только процесс труда, но в то же время и процесс возрастания капитала, присуще то обстоятельство, что не рабочий применяет условно труда, а наоборот, условие труда применяет рабочего, но только с развитием машины это извращённое отношение получает технически осязаемую реальность. Вследствие своего превращения в автомат средство труда во время самого процесса труда противостоит рабочему как капитал, как мёртвый труд, который подчиняет себе живую рабочую силу и высасывает её. Отделение интеллектуальных сил процесса производства от физического труда и превращение их во власть капитала над трудом получает своё завершение, как уже указывалось раньше, в крупной промышленности, построенной на базе машин. Частичное искусство отдельного машинного рабочего, подвергшегося опустошению, исчезает как ничтожная и не имеющая никакого значения деталь перед наукой, перед колоссальными силами природы и перед общественным массовым трудом, воплощёнными в системе машин и создающими вместе с последней власть «хозяина» (master). ..."

Смех смехом. Но когда своими руками автоматизируешь цех и в реальном времени видишь как истинные мастера своего дела способные на токарном станке розу выточить (буквально) замещаются простыми переносителями болванок/нажимателями кнопок — начинаешь в такое верить.
Есть надежды на «тёмный цех» — что совсем устранит необходимость в однообразном труде. Но глядя на всё растущую коприрастию появляются опасения, что это будет просто переход на следующий круг…

Мастерам - место в новых разработках и работе над прототипами.

Токарщик с разрядом по вытачиванию роз этим не занимается в принципе. Это вопрос к НИИ, к инженерам.

Это проблема, розы выточенные на станке не нужны.
У нас есть механик в лаборатории (токарь-фрезеровщик-всё-в одном лице), так после того как мы купили ЧПУ - мы его напрягаем значительно реже.
А что такое "темный цех"?

>А что такое "темный цех"?
Думаю по аналогии с dark stores - цех без работников.

Вы напрасно считаете пассаж смешным. Маркса волнует состояние человека, а не прогресс цивилизации. Труд действительно постоянно деградирует, становится все более не-человеческим.
Рекомендую для подробного изучения работу Гарри Бравермана "Труд и монополистический капитал: деградация труда в XX веке"

Прогресс цивилизации и влияет на состояние человека, причем влияет позитивно. Со времен Маркса люди стали работать существенно меньше, а благ потреблять намного больше. "Труд деградирует и становится нечеловеческим" это просто демагогия. Труд это работа, которую совершают люди для блага других людей. Он человеческий по определению.

Со времен Маркса люди стали работать существенно меньше, а благ потреблять намного больше.

так скажем — далеко не все

Со времен Маркса люди стали работать существенно меньше, а благ потреблять намного больше.

Шутка в том, что не последнюю роль в этом сыграла именно борьба рабочих за свои права. И марксизм в том числе, как теоритическая основа для всякого рода социалистов и социал-демократов.

Труд это работа, которую совершают люди для блага других людей. Он человеческий по определению.

Имеется в виду, что рабочий, который по 12 часов в день совершает на конвецере однообразные действия (например, перекладывает деталь от одного станка к другому), занимается тяжелым отупляющим трудом, становясь живым винтиком в конвейере.

Такой труд не оставляет места для творчества, скорей всего вреден здоровью, и угнетающе дейтвует на живого человека.

По крайней мере так оно было во времена Маркса. И скорей всего, встречается и сейчас, особенно там, где дешевая рабочая сила.

занимается тяжелым отупляющим трудом

Тяжёлый отупляющий труд придуман очень сильно задолго до капитализма. Механизация делает тяжёлый труд легче - до капитализма это было не востребовано. А что не везде есть место творчеству.. Так и люди разные. Можно креативно убирать снег с дороги, можно лечить людей строго по протоколу.

Если вы не поняли идею, переформулирую: сам труд все больше не соответствует психике и физиологии человека, например, требует от него постоянной концентрации внимания и быстрой реакции, заставляет делать однообразные движения, не дает чувства сопричастности и смысла.

заставляет делать однообразные движения

Вы картоху хоть раз в жизни копали?

Вы хотите познакомиться с моей биографией и жизненными впечатлениями, или ваш вопрос каким-то образом относится к ведущейся дискуссии?

Труд действительно постоянно деградирует, становится все более не-человеческим.
Ну да, что за работа у экскаваторщика сейчас — сиди, рычажки дергай, сплошная деградация. Зато вот раньше — лопату в руки, мышцы играют — чистейшее творчество и креатив!

Раньше - это во время промышленной цивилизации, но без экскаватора, или все-таки раньше, когда человек строил себе дом сам? В последнем случае, это реально было творчество и креатив, даже с лопатой в руках.

Боюсь, что вы вообще не понимаете, о чем речь.

В последнем случае, это реально было творчество и креатив, даже с лопатой в руках.
А Вы точно захотите жить в доме, который может построить человек без специализации строителя и без современных технических средств?
Боюсь, что вы вообще не понимаете, о чем речь.
Путь развития цивилизации — это путь специализации, все более и более узкой и глубокой, потому как объем знаний в каждой сфере постоянно растет. Да, человек может быть одновременно и строителем и врачом и еще кем-то, но чем более широкая сфера, тем хуже его знания и навыки в каждом из направлений, просто потому, что необъятного не объять. Поэтому в развитых странах строит один, отделывает другой, электрикой занимается третий и так далее.

А Вы точно захотите жить в доме, который может построить человек без специализации строителя и без современных технических средств?

А вы точно поняли, что речь в моем комментарии идет не о проблемах потребителя, а о проблемах непосредственного производителя?

Путь развития цивилизации — это путь специализации, все более и более узкой и глубокой

...И в конце этого пути мы получаем "Первых людей на Луне" Уэллса. Ну или "Геном" Лукьяненко, если хотите.

А вы точно поняли, что речь в моем комментарии идет не о проблемах потребителя, а о проблемах непосредственного производителя?
А кому нужен такой производитель, для которого проблемы потребителя не на первом месте? Уже проходили это «жри чо дали», опять забег по тем же граблям устраивать?

Себе он нужен. Вы же не пытаетесь оправдать рабство, я надеюсь?

Нет, я не оправдываю рабство, и вообще считаю это странным аргументом, как доведение идеи до абсурда.
Но я не только работник, но и потребитель услуг и товаров произведенных другими людьми. И как потребитель я заинтересован получать качественную услугу по доступной цене, а не хоть что-то за бешеные деньги, потому как производитель вот такой супер одухотворенный и ему только творчество интересно, а не мои проблемы.

А как работник в чем вы заинтересованы?

А как работник я заинтересован в возможности самостоятельного ВЫБОРА когда и на кого (или вообще на себя) мне работать и на каких условиях.
И да, в разное время и разных обстоятельствах человек может выбирать сильно разное — кто-то временно готов пахать на износ чтобы решить текущие проблемы, а кто-то наоборот уже все решил и предпочтет расслабленно делает мелкие проекты пару часов в неделю на фрилансе.
Пока есть конкуренция на рынке — такой выбор будет.

Раньше - это во время промышленной цивилизации, но без экскаватора, или все-таки раньше, когда человек строил себе дом сам? В последнем случае, это реально было творчество и креатив, даже с лопатой в руках.

Да, и раньше. Вот тебе поле, вот мотыга, херач отсюда и до заката. Такой креатив, что обделаться надо.

Сразу видно городских теоретиков. Вы б на своих 6 сотках хотя б годик повпахивали с лопатой - сразу б по-другому запели.

Вот тебе поле, вот мотыга

То есть, вы пишете о рабском труде, как я понимаю?

Так раньше так и жили. Даже свободные люди. В деревнях и сейчас живут. Свой огород, своё хозяйство. И как человек, вынужденный помогать со строительством дома скажу: нафиг такой креатив. Конкретно этот момент помог понять, что свой дом я буду покупать

На мой взгляд, эта цитата вырвана из контекста (вообще Маркса, как и многих других философов, цитировать сложно) и потому создаёт не совсем верное впечатление об отношении Маркса к технологиям и выставляет его противником машин как класса :)

Если говорить о технологиях, то философия Маркса (детерминизм) как и классичесая философская эпохи Просвещения (инструментализм) характерны нейтральным отношением к задачам и целям технологии, те воспринимают её как нейтральную силу находящуюся на службе человека (в отличие от Субстанциализма Хайдегера или Критической теории). Разница состоит в том, что в основе инструментализма лежит идея о превосходящем влиянии людей и общества на развитие технологии, т.е. считается контролируемой силой, а детерминизм считает наоборот и видит в развитии технологии первичную силу меняющую общество. 

Инструментализм можно описать фразой "не оружие убивают человека, а человек убивает человека", т.е. "смысл" в инструмент вкладывается уже обществом, и для того, чтобы поменять сценарии использования инструмента, надо поменять общество. Детерминизм при этом считает, что надо уже на этапе дизайна инструмента задумываться о том как появление именно такого инструмента с такими характеристиками повлияет на развитие общества. Т.е. идеи Маркса про фабрику не о том, что все машины надо срочно отменить, а о том, что дизайн любой автоматизации фабрики должен брать во внимание в том числе и то как это скажется на качестве и количестве рабочих мест после её внедрения. 

я одного не понял: а почему философия Маркса стала детерминизмом?

да, он говорил, что технологический уровень влияет на то, как построено общество, но чтобы прямо таки детерминизм?

По мне так, любой человек, окончательно признавший детерминизм — навсегда теряет смысл своего существования, перестаёт быть человеком, ну и уж точно никогда не станет великим философом :)

Во многих идеях философия Маркса совпадает с философией детерминизма хотя бы потому, что работы Канта были значительной базой на которую опирался Маркс. Но конкретно в данном случае речь идёт именно о том, что в философии Маркса технологии формируют(определяют, determin) общество и ценностям которым они служат.

Если мы сконцентрируется только на инструментализме и детерминизме, то, упрощённо (очень грубо), разница будет следующей. У общества есть система ценностей, любой инструмент, который мы создаём для служения этим ценностям по умолчанию нейтрален и просто инструмент. Далее, мы применяем этот инструмент на практике и он начинает ломать ценности, которым должен служить. В идеях инструменталистов - либо не тот инструмент, либо не правильно применяли, либо не туда куда нужно. В идеях детерминизма - задизайнили изначально неверно и в дизайн надо было закладывать ту систему ценностей, на службе которой инструмент должен стоять.

Материалистическая диалектика действительно есть детерминистическая теория. Вероятно это для вас новость, так как вы глубоко не пытались понять Маркса.

"Всему есть объективная причина" - так можно кратко охарактеризовать это мировоззрение. Оно детерминистично.

А я бы послушал про историю с топ менеджером с точки зрения топ менеджера. Что то в этой былине явно приукрашено.

PS: Микросервисы действительно помогают масштабироваться если умеешь делегировать и распределять труд.

Предполагаю что он решал свои задачи: набрать людей, дать ответственное задание сократить издержки. Тут пахнет гигантской ответственностью и премией.

Все описанное - не задачи топа, его задачи - определить стратегию, задать тренд и получить вменяемые отчеты о результатах от аналитиков.

Вы ошибаетесь. Определить стратегию, задать тренд и получить отчёты о результатах, это скажем так, разовая работа. Да, есть некоторые корпорации, где под топом подразумевается чувак, который вообще ничего не делает, и раз в месяц смотрит отчёт о выполнении стратегии, которую он утвердил в начале года. Но обычно топ-менеджмент тесно вовлечён и в тактическое управление, только на более высоком уровне. Грубо говоря, он и принимает решение, по какому пути пойдёт реализация проекта, и даёт распоряжение выделить средства на это, и контролирует выполнение, если проект достаточно важен.

А я бы послушал про историю с топ менеджером с точки зрения топ менеджера. Что то в этой былине явно приукрашено.

Тут недавно была статья - взгляд с другой стороны, выводы там другие, но плач Ярославны о том что в нанимаемых сотрудниках отсутствуют необходимые качества, типа ответственности, присутствует:
https://habr.com/ru/post/709516/

Просто история рассказана с точки зрения разработчика (скорее всего очень молодого), который ситуацию дальше "50 строчек кода", который он "может написать за день". Между тем этот код кому-то еще надо потом тестировать, кому-то собирать и развертывать, и кому-то мониторить и сопровождать. И у всех этих "кому-то" вся их существующая инфраструктура может быть (даже скорее всего) уже заточена под определенные шаблоны в которые "написанные за день 50 строчек кода" не влазит.

Так в это же и прикол. Все ограничения, техаудиты, и прочая херь рассчитана на код, который будет годами работать, поддерживаться.

А автор хотел сделать разовый проект, решить задачу, и потом его выбросить.

Для первой задачи, да, микросервисы затыкают массу дыр. Для второй создают проблемы.

А теперь вопрос, почему не иметь сразу 2 шаблона? Один для Кода с большой буквы, который на годы. Второй для разового маленького кодика на выброс? Лично моё мнение, что потому, что это откроет ящик пандоры. Если такое разрешить, то любой новый проект будут пускать по ветке 2, ибо продакт хочет бонус и медальку, а не ждать 4 года. И, вполне может выйти, что через какое-то время весь новый код будет формально считаться кодиком на выброс ради скорости разработки. Думаю, что очевидно, чем это закончится.

Причем если посмотреть "свыше" (а автор ведь говорит не про одну компанию, а в масштабах "мировой революции"), то рыночек отлично решает. Мы тут можем теоретически разное фантазировать, о том как надо или как не надо (не понимая деталей проекта), но очевидно же более общее правило: Как только яндекс будет неэффективно управлять своей службой такси (по любой причине) - на свободном конкурентном рынке тут же открывается ниша, где служба такси может все делать эффективнее и дешевле. И там, где у неэффективного яндекса поездка стоит 500р, у той службы она будет 200р. Потому что у них goto и эксепшены и сервисы правильные. А если же при правильных эксепшнах у них поездка все равно стоит 480р - то так ли важна эта проблема?

Что на практике подешевело в РФ по сравнению с 2000 годом, благодаря конкуренции именно на российском рынке? Телекоммуникации и западную электронику, естественно, исключаем.

Современная Россия как эталон для демонстрации рыночных механизмов? Нам до свободного рынка, демократии и капитализма еще оочень далеко. А то, что вы исключили (например, западную электронику) подешевело как раз потому, что там конкуренция есть.

Добавлено:

А вот разве как раз такси - не подходит?
Вообще, вы интересно задали вопрос: "кроме зарубежной электроники" (равносильно, кроме любой). И тут две мысли интересных возникли:

  1. Если мы практически все импортируем - то что может у нас подешеветь? Если и подешевеет, то потому что там подешевело.

  2. Мне кажется, очень часто из-за конкуренции не дешевеет, а изначально дешево. Ну вот выходит какой-нибудь новаторский смартфон, в какой-то мере он уникальный (первый смартфон с NFC, например). Но через месяц выйдет конкурент. Поэтому первый смартфон исходно стоит так, чтобы конкурировать с тем, кто только появится в будущем. Поэтому и дешеветь особо не приходится.

Хз, на примере Intel/AMD прямо видно, как цены снижаются после выхода И бенчмаркинга конкурентов.

Вообще-то в РФ - капитализм, причем можно сказать, эталонный. Критерий любой экономической деятельности - прибыль. Критерий неэкономической деятельности (медицина, госуправление, образование) - тоже прибыль. Какой еще вам капитализм нужен?

Что же касается "свободного рынка", то еще неизвестно, правило ли он или исключение.

Каким образом демократия к экономике - вообще неясно.

В России - госкапитализм, да еще и коррупционный, без равенства перед законом, без контролируемой и сменяемой власти. Мне кажется, вы капитализмом считаете любой бардак, но чтобы создать капитализм - надо еще работать.

Про белорусские креветки слышали же? Вот в капитализме их не бывает. Либо все возят креветки на равных словиях (в идеале), либо никто. В капитализме не оказываются миллиардерами случайные друзья по дзюдо. Это крайне, крайне маловероятное совпадение.

Демократия к экономике очень даже прямым образом. Вот одна не очень демократическая страна сейчас служит прекрасной иллюстрацией, что деньги из нее надо вывозить сейчас, и всегда надо было вывозить,а владываться в бизнес в ней - очень глупо.

В России — госкапитализм, да еще и коррупционный, без равенства перед законом, без контролируемой и сменяемой власти

взять Китай: там государство владеет (в процентах) большим количеством собственности чем Россия. Выглядит это неплохо.


взять США: там коррупция значительно более развита, а местами даже легализована. И ничего. Значительную часть мира строит.


В капитализме не оказываются миллиардерами случайные друзья по дзюдо.

в капитализме именно так всё и оказывается. друзья (реже) или родственники (чаще).


Вот в списке литературы в статье есть произведение Джека Лондона, крайне рекомендую почитать.


Демократия к экономике очень даже прямым образом

вообще никак.

Китай? Ну вот и приведите любой пример успеха из Китая, только посмотрите всего лишь на 1 шаг глубже, на причины этого (опишите эти причины, как я ниже сделал, причины помогают отличать то, что сделано "благодаря" от того, что сделано "вопреки").

Например, вот для России приведу вам пример. Я отчасти фрилансом зарабатываю (одиночка), отчасти небольшой частный бизнес (небольшая команда). Я сам научился новым технологиям. Сам нашел заказчика. Сам обсудил с ним условия работы, деньги. Выполняю работу. Получаю деньги. Часть денег - отдаю государству. Государство за меня ничего не сделала в этом плане (разве что дало некоторые налоговые льготы на первое время - то есть, так же, собирало с меня деньги, только чуть меньше). Но главное - не помогало. Ни один рубль мне не упал на счет от государства.

Какова роль государства в моем бизнесе? (я могу даже найти конкретные даты и номера указов-законов). Закон о свободе частном предпринимательстве. Закон о внешней торговле (они разрешили мне работать).. Закон о банковской деятельности (благодаря ему я могу переводить деньги. Но переводит мне их другой бизнесмен, банкир, а государство просто разрешает нам, всего лишь не бьет нас палками за это - ну и за то спасибо). Закон об отмене цензуры (иначе, какой интернет может быть?). Везде в моем бизнесе я вижу мой труд и труд других людей (бизнесменов). А упомянутые законы приняты в те самые легендарные "девяностые". С 2000 у меня на виду только один полезный закон - отменены разрешения на мобильные. (Но это опять же, государство не помогло, а перестало мешать). Так что, я знаю, кому в государстве я благодарен, и в какие даты эти действия произошли.

С интересом послушаю, как именно руководящая роль коммунистической партии Китая помогает Xiaomi делать смартфоны и почему их нельзя делать без помощи Партии.

Про легализованную коррупцию, простите, но это оксюморон. У вас какой-то свой, особенный, смысл вложен в это слово.

Какова роль государства в моем бизнесе?

примерно такая же как если бы вы открывали бизнес в другом государстве. отличий почти нет.


ну разве что вести бизнес в России гораздо проще чем, скажем, в любой европейской стране.


хочешь таксовать? ~5000 лицензия и вози себе пассажиров. в Париже такая лицензия до 250 тыс евро добирается (у них там что-то вродь аукциона/рынка лицензий)


хочешь на газельке перевозить грузы? Скажем мебель переезжающих людей. регаешь ИП и возишь. упрощёнка или не упрощёнка или даже самозанятость + ИП (без расчётного счёта — вообще бесплатно).
оформляется за день, расходы минимальны.
в США подобный бизнес потребует обязательные расходы на страховку (помимо госпошлин/налогов как у нас) начинающиеся от 50 тыс $ в год.


хочешь в германии IT-автоматизацию транспорта запустить? правительство может попросить тебя, ну скажем, построить фонтан в городе. А если не построишь — могут и не одобрить разрешение на занятие бизнесом.


и так всё


PS: всё перечисленное — это из моего опыта. много занимался автоматизацией средств транспорта, ну и близко с этим сталкивался.

Ну вот вы привели примеры как разные ограничения от государства мешают бизнесу. Но где же в этом помощь, тем более конкретный китайский пример?

я воспринял ваш текст как жалобу на то, что "в России не оч хорошо", ну и рассказал о своём опыте по другим странам. там всё гораздо сложнее.


чтобы государство именно помогало чем-то заниматься, надо, увы, заниматься чем-то значимым для государства. Это опять же общее для всего мира правило. Россия тут не лучше/не хуже прочих

Это хорошо, что там сложнее: значит, бизнесы сворачиваются там, и переезжают к нам. Бизнес ведь не дурак, он денежки считать умеет.

Как по мне, государство не должно помогать (кроме, может, каких-то исключительным случаев, которые не надо путать с правилом). Оно должно создавать условия для равной конкуренции и стараться не мешать. Откатываемся на самое начало ветки про конкуренцию. Если завтра я открываю свою службу такси, задача государства, чтобы я мог открыть ее легко, быстро, дешево. И чтобы гипотетические хулиганы от яндекса мне ноги не переломали и машины не сожгли. (То есть, устанавливать и поддеживать закон). Все. А писать мессенджеры, службы такси, делать банки, газеты, телеканалы и печь булочки - должны уже сами люди.

Как по мне, государство не должно помогать

как по мне так должно.


Оно должно создавать условия для равной конкуренции и стараться не мешать

как может появиться региональный конкурент Google? если без господдержки? никак.


как может появиться скажем производитель медицинского оборудования, при том, что импортное всяко дешевле?


вот кстати интересный бизнес, который государство поддержало, считаю что таких должно быть больше

А почему вы не хотите чтобы инвестициями занимались (только не смейтесь сразу, понимаю, что крайне радикальную вещь скажу): ... инвесторы?

Конкурента гугла создавать не надо, он уже есть - поисковик спутник. Все как вы и хотели, с господдержкой. Разве не счастье? Или вы хотите еще спутник-2, спутник-3, и все это на мои деньги (мой бизнес не просит у гос-ва), пока я совсем не сдохну?

А почему в России производить, скажем, медоборудование дороже, чем в швейцарии? Швейцарцу нужно платить 7000 долларов в месяц, русскому 1000 долларов в месяц. Почему швейцарские медицинские компании до сих пор не переехали в Россию, что они говорят?

> А почему вы не хотите чтобы инвестициями занимались (только не смейтесь сразу, понимаю, что крайне радикальную вещь скажу):… инвесторы?

а потому что это не работает.

> А почему в России производить, скажем, медоборудование дороже, чем в швейцарии? Швейцарцу нужно платить 7000 долларов в месяц, русскому 1000 долларов в месяц. Почему швейцарские медицинские компании до сих пор не переехали в Россию, что они говорят?

я представьте знаю почему. приблизительно году в 2003-2004 я работал в компании, которая разрабатывала то самое медоборудование. мы делали софт для агрегата автоматически разбирающего кровь на фракции и делающего какой-то набор анализов.
так вот, стоил этот агрегат — жалкие сто баксов на те деньги, конкуренты (швейцарские и проч) стоили условно двести, но-но-но…
швейцарским и проч… не требовалось лицензирование, а нам требовалось. и чтоб отбить только официальную стоимость лицензий, ну никак не получалось продавать девайс дешевле пятисот баксов.

в итоге — эта разработка ушла на завод в литве и сейчас, до сих пор, в Россию (насколько знаю) продаётся от имени иностранного бренда.

а всё почему? а потому что какие-то кретины в своё время как раз принимали всякие тупые законы на тему «чем свой производитель, лучше импортный»

какие-то кретины в своё время как раз принимали всякие тупые законы

Кретины - они же не с Марса прилетели? И законы пишутся не просто от фонаря, а с какой-то целью?

> Кретины — они же не с Марса прилетели?

в результате проигранной войны всегда у власти становятся кретины. это закон природы

> И законы пишутся не просто от фонаря, а с какой-то целью?

хорошо хоть ЛГБТ не успели легализовать, а то и это пришлось бы расхлёбывать

это закон природы

Нет такого закона ;)

хорошо хоть ЛГБТ не успели легализовать, а то и это пришлось бы расхлёбывать

А что такого несправедливого в ЛГБТ? Они как-то по особенному относятся к отчуждению результатов труда?

во-первых, они — такой же безопасный (для капитала) деструктивный (для общества) фактор, отвлекающий народ от конструктивного осмысления ситуации, как и описанные в статье

во-вторых, это просто омерзительно

в третьих, их цель (одна из) или смысл жизни — сообщать всему миру о своих перверсиях,

пруф и цитата:
Википедия:
каминг-аут как процесс, который важен для психологического здоровья гомосексуалов


то есть избавиться от них, предоставив им свободу заниматься друг дружкой, нельзя: для их «психического здоровья» им требуется, чтобы они постоянно всех вокруг информировали о том кто они

в четвёртых: это крайне агрессивная секта. если ей не давать укорот, то ещё с глубокой древности имеются свидетельства (которым более 3000 лет), что кончается это тотальной диктатурой ЛГБТ. Остановить подобную диктатуру возможно только силовым способом.

И пришли те два Ангела в Содом вечером, когда Лот сидел у ворот Содома. Лот увидел, и встал, чтобы встретить их, и поклонился лицом до земли. И сказал: государи мои! зайдите в дом раба вашего и ночуйте, и умойте ноги ваши, и встаньте поутру и пойдете в путь свой. Но они сказали: нет, мы ночуем на улице. Он же сильно упрашивал их; и они пошли к нему и пришли в дом его. Он сделал им угощение и испек пресные хлебы, и они ели. Еще не легли они спать, как городские жители, Содомляне, от молодого до старого, весь народ со всех концов города, окружили дом и вызвали Лота и говорили ему: где люди, пришедшие к тебе на ночь? выведи их к нам; мы познаем их.


их современная агрессивность подтверждается и тем, что они творят в школах на западе. Уже добрались до смены пола детям 4 лет!

впрочем это всё офтоп.

PS: Если хочется потролить на тему коммунизм и святые писания, то огорчу: как источник знаний коммунисты их не отрицали.

Как всё запущено то оказывается...

По счастью мы от этого инструмента отчуждения на данном этапе сумели отбиться.

но это всего одно сражение, не война.

Вы по моему не совсем поняли что, или точнее кого, я имел ввиду...

их современная агрессивность подтверждается и тем, что они творят в школах на западе. Уже добрались до смены пола детям 4 лет!

А можно пруф? Только не из соловьёв-ТВ, а первоисточник, чтобы хотя бы на западном языке ;)

на западном языке идите на запад. зачем вы здесь находитесь и общаетесь на восточном?

Жаль, пруфов не будет :( Значит, это всё выдумки? Фу, как некрасиво..

пруфы легко находятся, эту ветку захламлять не будем.
и пруфы про 4летнего и пруфы про смены пола в школах и большое интервью одного отца, не согасившегося с тем чтобы его несовершеннолетняя дочь сменила пол (по решению школьного психолога), которого за это несогласие посадили (кстати это интервью брали канадские журналисты и оно есть как на русском так на английском). В общем пруфов полно. Здесь, думаю не стоит дальше википедии ходить. Всё-таки это IT ресурс.

Где-то за орбитой Марса вокруг Солнца вращается обьект в форме чайника. Пруфов полно.

:D

во-вторых, это просто омерзительно

Это ты омерзителен. Ничего личного, просто констатация факта.

поскольку по прочим тезисам я не ожидал какого-либо оппонирования, то специально вписал этот пункт, чтобы люди могли остановиться на этом фрагменте.

Браво ;) Прямо как в известном анекдоте:

"Предлагаю расстрелять всех евреев и велосипедистов! - А велосипедистов за что?! - Я знал что по евреям у вас возражений не будет"

ну возразите по «евреям», смелее!

У меня есть возражения по расстрелам, но в вашей картине мира без этого никак.

вроде в подветке об ЛГБТ о расстрелах пока ничего не было?

или вы о том, что Гитлер (по данным ЦРУ) сам был ЛГБТ и это ещё один пример того, что если ЛГБТ не давать укорота, то они причинят миру безумный вред. Поясните?

А так-то да, это ещё одно подтверждение того, что это движение нужно ограничивать.
Один гомосексуалист, дорвавшийся до власти и… семьдесят миллионов жертв!:

Адольф Гитлер был бисексуалом, а также имел садомазохистские наклонности, говорится в отчете, подготовленном для президента США Франклина Рузвельта в 1943 году и рассекреченном в наши дни ЦРУ. В юности будущий фюрер проживал в мужском общежитии в Вене, куда состоятельные пожилые господа приходили для удовлетворения сексуальных желаний с молодыми красивыми парнями. Из документов ЦРУ следует, что Гитлер, возможно, имел любовную связь со своим помощником Рудольфом Гессом.

Лидер нацистской Германии Адольф Гитлер сочетал в себе гомосексуальную и гетеросексуальную ориентации, а также имел садомазахистские наклонности (https://www.cia.gov/readingroom/document/cia-rdp78-02646r000600240001-5), следует из рассекреченных материалов (https://www.cia.gov/readingroom/) ЦРУ, составленных в 1943 году для президента США Франклина Рузвельта.

В 70-страничном докладе также сообщается о сексуальном влечении фюрера к своему заместителю Рудольфу Гессу, который являлся трансвеститом, был известен в соответствующей среде под прозвищами «Фрейлин Анна» или «Черная Эмма» и имел обыкновение одеваться в женскую одежду. В ЦРУ не исключают сексуального контакта между ними во время отбытия тюремного заключения в 1920-е годы.
...

вроде в подветке об ЛГБТ о расстрелах пока ничего не было?

Пока не было ;)

Один гомосексуалист, дорвавшийся до власти и… семьдесят миллионов жертв!:

Давайте не так. Один художник, дорвавшийся до власти.. Этим художникам если не давать укорота, они причинят миру безумный вред. Всё правильно? ;)

Хотя может причина не в том, что он художник, а веган? Этим веганам, если не давать укорота...

> Давайте не так. Один художник

не-не-не. Аналогия некорректная.

с одной стороны — психическое отклонение, а с другой — профессия.

Ну так она изначально некорректная. И на это вам и указали.

Художник - это психическое отклонение. Как писатель говорю.

Так выходит, проблема в государстве? (оно плохие законы приняло). Но вместо того чтобы исправить плохие законы, вы хотите еще больше извратить ситуацию, и сделать чтобы какие-то кретины еще и инвестициями занялись?

> Но вместо того чтобы исправить плохие законы, вы хотите еще больше извратить ситуацию, и сделать чтобы какие-то кретины еще и инвестициями занялись?

это только в стране эльфов плохие законы исправляются по щелчку пальцев. А в реальном мире, плохие законы потребны плохим людям для обогащения, а капитал, стоящий за этими плохими людьми настолько огромен, что может смести не только того, кто пытается заменить плохое хорошим, но и вообще всю страну.

отсюда и войны, организованные этим капиталом
Но где же в этом помощь, тем более конкретный китайский пример?

с Китаем близко не сталкивался, вы, приводя свой бизнес в пример ведь хотели перевести на близкое сравнение? Не могу сказать ничего.


про Китай мы видим только макроэкономические показатели ежегодного развития, которые гораздо лучше многих прочих стран.
при этом, хоть Китай и называют "тоталитарным", а, например, количество зеков там и в абсолютных цифрах (sic!) и в относительных меньше чем скажем в "свободных" США.


Кто знает, может быть это как раз следствие приближенности политики государства к среднему человеку? Почему в США так много преступников, что они вынуждены держать по тюрьмам больше народу чем впятеро больший по населению Китай?

В Китае - своя "нефть". Их нефть - дешевая рабочая сила (огромное ее количество). Причина их успеха - то, что они приоткрыли (дали свободу) рыночные возможности для работы (выгоднее рыбу от берегов Великобритании везти в Китай, там чистить за копейки, и везти обратно). Плюс, еще где-то с 1970-ых годов распространились дешевые контейнерные морские перевозки (кстати, технология Docker как раз это обыгрывает в своем названии). Именно поэтому возить товары в Китай и из Китая стало дешево.

По мере того, как уровень благосостояния там растет (а расти с низкой базы - достаточно легко) - эта модель бизнеса потихоньку иссякает, уже не хотят чистить рыбу за цент, хотят уже за доллар. И уже приходится что-то думать (аутсорсить в более бедные страны или же механизировать или же возвращать работу своим работникам - к ним хотя бы везти быстрее и дешевле).

Но главное - никакого чуда централизации и тотального контроля там нет. Все всегда и везде создается через свободу (через то, что поводок там чуть-чуть приотпустили).

Если вы видите одновременность события А и какого-то фактора Б, надо понять, это А свершилось благодаря Б или же вопреки Б, установить причинно-следственную связь, а не выдумать ее просто на основании какого-то совпадения. "Моргенштерн выпустил новый хит, вышел новый процессор от Интел - слава Моргенштерну!"

такой "нефтью" обладают сотни государств по миру, а вот рост только у Китая.


выходит дело не (только) в нефти?

Конечно. Любой ресурс имеет свою потенциальную максимальную стоимость и реальную. Потенциально - Китаец не хуже швейцарца, мозга у него не меньше, рук тоже. Значит, теми же руками по той же технологии может делать тот же "швейцарский" товар (И у него получится именно швейцарский, в смысле качества. А не китайский). Значит, китайцы могут ориентироваться на медианную ЗП в 7000 долларов. Насколько сейчас недотягивает Китай до этой цены - вот столько и обходится им "руководящая роль компартии".

И Китай - не худшая страна на планете, есть страны, где тоже люди есть, у них тоже 1 голова и две руки, но условия для бизнеса и инвестиций там еще хуже, да.

UFO just landed and posted this here
Так вы же не из будущего прилетели?! Про то каким путем шел Китай и к чему пришел — мы скоро узнаем.

Принесли суровым сибирским лесорубам японскую бензопилу


  • ну-ка, — сказали лесорубы и подсунули ей дуб


  • вжж! — сказала бензопила и распилила дуб


  • хгм, — сказали лесорубы и подсунули ей бетонную шпалу


  • в-жжжжжггггррр! — сказала бензопила и сломалась


  • то-то же! — сказали лесорубы и отправились валить лес традиционным способом



Китай может и опрокинут: подкупив ли элиты, прямым ли военным столкновением, опрокинув ли Россию и заблокировав Китаю все доступы к ресурсам.


если человека убивают ударом кирпича по голове, то факт убийства ничего не говорит о вредности того образа жизни, которого он придерживался

UFO just landed and posted this here

ваши рассуждения не отличаются от средневекового уровня

только тогда кто-то осуждал шамана или епископа, а теперь вы - тестирование на вирусы

UFO just landed and posted this here

вы капитализмом считаете любой бардак

Я считаю капитализмом ровно то, что написано в любом учебнике политологии, включая западные. Капитализм - это экономико-политическая система, в которой главным критерием экономической деятельности является прибыль. РФ прекрасно под это определение подходит, даже с избытком.

Если вы считаете капитализмом только райские рекламные картинки, то это исключительно недостатки вашей когнитивной картины мира.

Похоже, в мире более одного учебника, и в них даже немного разные определения...

Из самых популярных - википедия. Причем определяющим там является первое предложение (про равенство, собственность, итд) - так как оно видимое, его можно проверить. А второе (про главный критерий), мне кажется, вообще лишнее, ненужное пояснение, оно про психологию (а чужая душа - потемки). Откуда нам знать, больницу открыли потому что хотят спасать людей, или потому что желают подло наживаться на болезнях. :-)

Вот в капитализме их не бывает. Либо все возят креветки на равных словиях (в идеале), либо никто.

Вы написали ерунду. Заградительные пошлины и другие меры ограничения импорта применялись в самых что ни на есть капиталистических странах, причем постоянно и активно.

Более того, именно с помощью таких мер развитые страны и строили собственную экономику.

Для вашего дальнейшего просвещения: https://www.amazon.com/Bad-Samaritans-Secret-History-Capitalism/dp/1596915986

При чем тут заградительные пошлины? Я не о них, а о равенстве перед законом. Каким-то образом получается так, что возить европейские креветки в Россию нельзя, но для друзей "кого надо", в Беларуси появилось море-океан со своими креветками, а таможенная служба не видит в этом никакого подвоха.

UFO just landed and posted this here

Откройте любой учебник политологии, можно западный. И прочитайте определение.

P.S. Больше всего свобод было в первобытном обществе.

UFO just landed and posted this here

Так Яндекс Такси ведь монополист на рынке, и другие, "более эффективные" компании он наверняка сможет выдавить нерыночными методами.

Какими? Братками с паяльником и поджогами машин?

А автор хотел сделать разовый проект, решить задачу, и потом его выбросить.

А автор не думает, что без "все ограничения, техаудиты, и прочая херь" его разовый проект может обвалить кучу всего другого и принести больше убытков чем должен был бы принести выгоды?

Разовый код годится там, где кроме тебя и еще полутора калек его никто не использует и от него ничего больше не зависит.

Он расскажет о гигантской сложности систем и куче связности, которую можно победить только микросервисами.

Потому что менеджер тем важнее, чем больше у него людей в подчинении. Если он упростит архитектуру и оставит 15-20 человек вместо 150, то его политический вес в компании сократится в примерно во столько же раз.

А регламенты ему помогают бороться с теми, кто может работу сократить.

дай волю этим инженерам - никакого бизнеса не станет (с) чье-то

сказано было про ситуацию, когда инженер стремится упростить и автоматизировать (хочет решить задачу), а манагер - усложнить и повысить стоимость (цель не решить задачу, а через процесс ее решения достичь каких-то еще целей)

Всю статью, похоже, надо в раздел "юмор".

необоснованное суждение "о вредности оператора goto"

Пишу на C# c 2005 года, недавно поймал себя на том, что не могу вспомнить а есть ли там оператор "goto" вообще. Даже в документацию полез из любопытства. (Оказалось, что все-таки есть).

Заставьте творца, который живёт внутри, выйти на первый план!

За 15+ лет разработки уже з*ся половину если не больше рабочего времени не работать, а разбираться во всевозможном творчестве творческих творцов.

Я понимаю, что для перекидывания Json'ами между микросервисами оператор goto не нужен, собственно потому некоторые разработчики о нём и не слышали. Но для того, чтобы такие разработчики могли перекидывать свои Json'ы максимально быстро, другим разработчикам приходится терпеть боль от использования такого "плохого" инструмента и скрепя зубами писать код используя его, т.к. по-другому скорости не получить. Возможно для Вас они не авторитет, они всего-лишь разрабатывают dotnet:
https://github.com/dotnet/runtime/blob/main/src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs

Слабонервным лучше не открывать, 60 операторов goto в 1-м файле.

Человеку свойственно хейтить то что он не понимает/не умеет пользоваться. Возможно оператор goto просто не для всех. Я использовал его буквально пару раз в своей жизни, и не считаю его чем то из дьявольских вещей, но общество видимо склонно округлять и срезать уточнения получая цепочку "оператор goto выручает, но если вы будете использовать его неосторожно получите по лбу" => "goto бьет людей" => "goto не должен существовать". Последней стадией начинается плохое отношение и отлучение от процесса раработки тех кто его использовал успешно или просто нейтрально к нему относится.

на бейсике активно им пользовались, и вроде смотрелся он там весьма органично )
а в более поздних языках его заменили конструкциями типа break, continue, case и тп )

Конечно он нужен, как нужно многое другое из неиспользуемого, точнее из не часто используемого. Важно, чтоб каждое применение было осознанным и ожидаемым.

Получается ещё во времена Дейкстры была проблема с творцами со стремлением захламления кода, когда кажется, что лучше совсем запретить, чем дождаться момента невозможности использования.

Конкрентно по вашей ссылке, очень легко понять зачем там нужен goto(по первым 10 штукам по крайней мере), по сути это и есть один из вариантов правильного его использования, еще вариант правильного использования на мой взгляд - это выйти из вложенного цикла, хотя иногда для этого есть отдельный механизм в языке.

боль от использования такого "плохого" инструмента

Вроде автор коммента ругает не goto, а призыв к творчеству а коде, в целом не случайно придумали линтеры и прочие штуки для стандартизации, не очень приятно в коде видеть имена переменных типа таких _Cammel_caseVar_DATA_SOURCE или что человек где-то пишет if в одну строчку а где-то такойже if в 4 строчки или кто-то внезапно решил написать свой парсер json-a, т.к. он творец, но допустил в нём ошибку, я думаю автор коммента больше говорил про такие штуки

Так я и не критиковал автора комментария. Но если писать 17 лет на C# и ни разу не сталкиваться с goto, то может просто круг решаемых задач не требовал знания такой вещи, как goto. Допустим я в своей практике занимался "творческими" задачами и приходилось пользоваться этим оператором. Возможно когда-нибудь моё творчество тоже кто-то раскритикует, назовёт код лапшой и перепишет все без goto, заодно уронит производительность какого-нибудь "творческого" алгоритма раз в 10. По поводу goto в dotnet можно ещё вот так посмотреть:
https://github.com/search?l=C%23&q=org%3Adotnet+goto&type=Code

но это уже совсем для смелых.

назовёт код лапшой и перепишет все без goto

Тут немного другой ход мыслей должен быть, чтобы решать проблему правильно:

  • goto это низкоуровневая операция

  • люди не умеют постоянно думать низкоуровневыми операциями

  • иногда бывает код, где абстракция, которая позволяет не пользоваться низкоуровневыми операциями, протекла и не работает (например, роняет производительность)

  • если мы воспользуемся низкоуровневой операцией руками, потому что знаем, что здесь она работает, лучше не станет, потому что сломаются типизация, кодтрансформеры, линтеры и коллеги

  • нужно починить абстракцию: ещё разок поискать какие-нибудь альтернативные фичи в ЯП, которые позволяют записать эти goto без просадки производительности (какие-нибудь там named break/continue, return, генераторы и т.п.), а когда совсем не останется вариантов, сделать кодогенератор, который генерирует код с goto.

Я посмотрел в один метод, в котором 10 goto. Которые вообще не нужны. Они все ведут на две метки в конце файла:

Done:
    return retVal;

ReadFirstToken:
    retVal = ReadFirstToken(first);
    goto Done;

Почему вместо goto Done; нельзя написать return retVal; а вместо goto ReadFirstToken; return ReadFirstToken(first); для меня загадка.

Ага, и ещё парочку примеров правильного использования goto:

        Done:
            return ConsumeTokenResult.Success;
        IncompleteNoRollback:
            return ConsumeTokenResult.IncompleteNoRollBackNecessary;
        IncompleteRollback:
            return ConsumeTokenResult.NotEnoughDataRollBackState;
            return true;

        IncompleteRollback:
            return false;

Несомненно, если переписать это творчество без goto, то оно потеряет 90% производительности

Вот этот код (первый попавшийся модуль в ядре) как ни переписывай без goto - всегда будет хуже, чем с goto.

Ну вообще для таких целей можно использовать менеджер контекста. Но увы, упираемся в возможности языка.

вы имеете ввиду аналог with из мира питона?

но там получается крайне многословная конструкция, и возникает вопрос: зачем она нужна? Только чтобы избежать goto?

Менее многословная чем вариант с goto, но с большим уровнем вложенности.

Да, коммент был исключительно про то, чтобы показать, что современные подходы достигли и превзошли уровень выразительности, который раньше можно было достичь через goto

А какая разница, если в байткоде все равно будет какой-нибудь JMP?

Борьба с goto — это не про отсутствие безусловных переходов в программе, а исключительно про читабельность и сопровождаемость высокоуровневого кода.

Так цель выпилить goto из кода, а не jmp из машинного кода. Когда у тебя есть менеджер контекста, ты его написал в одном месте и переиспользуешь во всех остальных местах. Сразу же избавляет то того, что кто то забыл вызвать завершающую функцию или перепутал их порядок. Плюс читаемость, плюс надежность. А то что компилятор потом его преобразует в тот же jmp, так это же хорошо, минимум накладных расходов значит.

чтобы использовать менеджер контекста (например в python) нельзя просто так взять и написать его один раз.

Нужно каждый раз определять объект с методами __enter, __exit, __aenter, __aexit

Можно взять декоратор contextlib.contextmanager, который обернёт любой метод в класс с нужными дандерами.

Как минимум от err_pm и err_out избавится не составляет труда, на эти теги ровно по одному условному переходу, можно остальной код унести в else.

Как, кстати, и err_clk.
Т.е. на стандартных if/else оно выглядит вот так:

static int amba_read_periphid(struct amba_device *dev)
{
	struct reset_control *rstc;
	u32 size, pid, cid;
	void __iomem *tmp;
	int i, ret;

	ret = dev_pm_domain_attach(&dev->dev, true);
	if (ret) {
		dev_dbg(&dev->dev, "can't get PM domain: %d\n", ret);
	}
	else {
		ret = amba_get_enable_pclk(dev);
		if (ret) {
			dev_dbg(&dev->dev, "can't get pclk: %d\n", ret);
		}
		else {

			/*
			 * Find reset control(s) of the amba bus and de-assert them.
			 */
			rstc = of_reset_control_array_get_optional_shared(dev->dev.of_node);
			if (IS_ERR(rstc)) {
				ret = PTR_ERR(rstc);
				if (ret != -EPROBE_DEFER)
					dev_err(&dev->dev, "can't get reset: %d\n", ret);
			}
			else {
				reset_control_deassert(rstc);
				reset_control_put(rstc);

				size = resource_size(&dev->res);
				tmp = ioremap(dev->res.start, size);
				if (!tmp) {
					ret = -ENOMEM;
				}
				else {

					/*
					 * Read pid and cid based on size of resource
					 * they are located at end of region
					 */
					for (pid = 0, i = 0; i < 4; i++)
						pid |= (readl(tmp + size - 0x20 + 4 * i) & 255) << (i * 8);
					for (cid = 0, i = 0; i < 4; i++)
						cid |= (readl(tmp + size - 0x10 + 4 * i) & 255) << (i * 8);

					if (cid == CORESIGHT_CID) {
						/* set the base to the start of the last 4k block */
						void __iomem *csbase = tmp + size - 4096;

						dev->uci.devarch = readl(csbase + UCI_REG_DEVARCH_OFFSET);
						dev->uci.devtype = readl(csbase + UCI_REG_DEVTYPE_OFFSET) & 0xff;
					}

					if (cid == AMBA_CID || cid == CORESIGHT_CID) {
						dev->periphid = pid;
						dev->cid = cid;
					}

					if (!dev->periphid)
						ret = -ENODEV;

					iounmap(tmp);
				}
			}
			amba_put_disable_pclk(dev);
		}
		dev_pm_domain_detach(&dev->dev, true);
	}
	return ret;
}

стал ли код лаконичнее? нет

стал ли он эффективнее? хз

а избавиться от goto можно

Он не стал менее лаконичным. Он вряд ли поменял эффективность (потому что переходы дословно те же). Зато все условные переходы, по которым можно прийти на err_clk видны из структуры кода (а не из его чтения).

Он не стал менее лаконичным

совершенно точно стал. теперь в коде больше строк, теперь длина этих самых строк тоже выросла

Тогда давайте заменим в оригинальном коде все вхождения повторяющегося паттерна
if (assertion_evaluating_to_true) {
    error_handling();
    goto cleanup_label;
}

На широко известный в узких кругах макросrequire_action(assertion_evaluating_to_false, cleanup_label, error_handling());
Код станет короче, понятнее, и «голого» goto для обработки ошибок там больше не останется, т.е. если goto там таки появится — он начнет намного яростнее бросаться в глаза, и все такие места можно будет найти грепом, и при этом не нужно будет отделять обработку ошибок от выходов из глубоких вложенных {} и т.п.

Хрен с ней, с длиной строк. Код стал менее читаемым. При каких условиях выполняется строка X? Надо добраться до начала блока, ага перед началом блока else, значит надо еще один блок промотать вверх до if. Но этот if вложен в другой else... Это какая-то "Игра в классики" Хулио Кортасара, а ведь изначальный листинг читался сверху вниз как линейный текст.

Так переходы не поменялись - конкретная строчка кода раньше и теперь выполняется при одних и тех же условиях, просто раньше из кода было неясно, сколько предварительных условий проверяется, а теперь видно.

Вы, верно, шутите? RAII или defer.

Результат выполнения будет абсолютно одинаковым. Но я не могу взглянув на этот код с уверенностью в 100% сказать, что после замены goto на return даже в этих местах компилятор в итоге выдаст абсолютно одинаковый asm код. Чтобы ответить почему именно разработчики оставили в этих местах goto, нужно скомпилировать и смотреть в дизассемблер и делать бенчмарки. Я не думаю, что код, который парсит все Json в Asp.Net Core сервере писали глупые люди. У них 100% есть куча бенчмарков для этого кода, который запускался тысячи раз на разных архитектурах. Возможно есть причина в этих goto, и выигрыш даже 0.5% на ровном месте стоит чуть больше "красивого" кода. В противном случае, почему бы не открыть PR в кодовую базу dotnet и не предложить им улучшить читаемость кода и понимание control flow?

Потому что все эти ваши return ReadFirstToken займут больше места в байткоде (и в ассемблере, когда код откомпилируется), протянутся в кеш цпу, вытолкнут из него обрабатываемый текст, и просадят производительность. Конечно, я не проверял (и вообще на C# не пишу), но на других ЯП парсеры писал, и там компактность кода парсера (особенно если lookahead не ограничен и бывает большим) весьма важна.

UFO just landed and posted this here

Кто ж спорит, я тут рядом коммент об этом и написал. Здесь-то речь шла о том, почему нельзя везде просто сделать return.

Это видать писал адепт "одного return на функцию".

Слабонервным лучше не открывать, 60 операторов goto в 1-м файле.

У Дейкстры AFAIK претензия к использования GOTO только в качестве оператора безусловного перехода. В том же RISC-V вызов функций делается через инструкцию JAL, JARL (jump and link). Если у вас нет стека, то без goto вам никак.

goto не бывает безусловным. этот оператор всегда размещают в каких-то частях кода, при том что попадание туда ограничено массой условий.

конечно можно писать в самом начале функции `goto label`, но зачем?

Зависит от языка: на ассемблере сплошь и рядом. Например jump label в самом начале памяти ставится для перехода на entry point, так как перед ней как правило идет таблица векторов прерываний, а процессор стартует не с нулевого адреса. Также это будет использоваться если у вас жестко зашиты адреса, например для немаскируемых прерываний, а новый код туда просто не помещается. Тогда будете уходить по jump и возвращаться. И как я уже сказал выше, Вы исходите из того что в системе есть стек куда сохраняются адреса возвратов функций. Уберите из системы стек и останется только goto. Но конечно можно сказать ассемблер - не ЯП.

Три раза ха. Олдовый ассемблерный goto - это восхитительная в своей хтони вещь, которая позволяла вам, к примеру, телепортироваться из середины одного метода в середину другого, позволяя им шарить куски кода без вынесения их в независимые подпрограммы.

Бывает. Например, при имплементации far jump линковщик раньше мог сделать goto на другой goto :)

И исключения в шарпе тоже есть. И всем этим можно пользоваться, никто в шарпе не заявляет, что это антипаттерны.

Автор перегибает =)

Ага, меня это в какой-то момент настолько выбесило, что я в итоге написал свой велосипед для работы с сокетами.


Если кратко, то при неблокирующих операциях с сокетами постоянно бросаются исключения (EWOULDBLOCK, EINPROGRESS и т.д.), которые на самом деле не ошибки, а просто штатная работа API. Из-за этого при подключённом отладчике в debug-сборке производительность падала до пары десятков IOPS. Без отладчика было чуть лучше, но все равно критично.


P.S. Возможно, сейчас дела с этим немного лучше, но тогда это были времена Mono, когда .NET Core только появлялся.

у нас один разработчик как-то начитался о вреде "goto" и стал вместо "goto" писать "throw SUCCESS", в продукте все исключения логируются, мы долго потом думали, что означают в логе записи: Exception: operation completed successfully.

Уж лучше бы он писал "goto"

Разбираться в творчестве творцов - шедевр )
Сразу лайк и подписка, видно родственную душу ?

Мне кажется, это частый случай, когда исключение воспринимается как правило.

Правило в том, что с goto обычно все плохо. Но... иногда в рубрике "программисты шутят" появляется какая-то интересная задача, которая с goto решается изящнее, чем-то лучше. Такое бывает, верю. Но надо понимать, что это исключение.

Или вот термины "военная хитрость" и "боевой дух" (то, чему меня последний год чтения новостей научил) - конечно же лучше, когда есть высокий боевой дух. Но как мы видим, не слишком он помогает. Похоже, ракеты-пулеметы тоже имеют некоторое значение, а боевой дух - скорее дополнение, хорошее, полезное, но не такой значимое, как показано в детских книжках и фильмах.

Или, помню множество историй о том, какой "дутый" ВВП в развитых странах: мол, можно один и тот же товар пятьсот раз перепродать, ВВП по цифрам будет большой, а по факту никакой. И да, это тоже верно, так же, как полезность goto в редкой задачке. Полезное исключение, которое хорошо бы знать, понимать, и не забывать, что оно - именно исключение.

Вообще, мне кажется, правила важны только в детстве, когда ты их еще не знаешь. А в более взрослом возрасте правил знаешь даже больше, чем нужно и гораздо важнее понимать, как эти правила "пересекаются", какое правило важнее другого, где границы применимости каждого правила.

Но надо понимать, что это исключение.

ядро OS - исключение

парсеры - исключение

стейтмашины - исключение

итп

Оператор goto - для меньшевиков. Настоящие марксисты используют только setjmp/longjmp. Только такой функционал позволяет по-настоящему вырваться из контекста.

то Вы ругаете тех, кто хейтит goto, то сами безапелляционно ругаете микросервисы. Нет ничего плохого ни в том, ни в другом. Каждой задаче- свой инструмент, плоха крайность.

goto - технологический инструмент

микросервисы - инструмент организации труда (ну или отчуждения, если по Марксу)

это разные сферы, одна - IT'шная, другая - вне-IT'шная.

как-то так

ну или отчуждения, если по Марксу

При чём тут отчуждение труда вообще? В монолите человек также пишет свой модуль и не может написать свою систему один и с нуля.

IT не существует вне бизнеса, какое бы технически классное решение ты не предложил, если затраты будут выше возможного, бизнес загнётся и решение будет никому не нужным. Оно останется классным, но мертвым.
Именно потому микросервисы - наше будущее ?‍♂️

Автор решил много набросить на вентилятор
1. Goto - причины не в авторитете, разработчики согласны с доводами, они очевидны, проверены и логичны. Поэтому требование по неиспользованию возведено в абсолют, неудобства его отсутствия ничтожны на фоне преимуществ когда программисты никогда им не пользуются. Вопрос к автору - что вам не понятно в этих доводах и причинах "табу" на goto? Вы писали сколько-нибудь сложные проекты где он используется как значимый способ управления потоком вычислений, а не в 1 месте?
2. Про динамическую типизацию - аналогично причины почему разработчикам не нравится опять же известны, широко обсуждались, крупные коллективы разработчиков осознали проблемы и всячески стремятся типизировать проекты. Проблемы на этапе написания кода - подсветки синтаксиса, валидации и автодополнения кода. Проблемы на этапе исполнения - ошибки типов в рантайме, накладные расходы на динамическую типизацию. Вопрос к автору - вы разрабатывали сколько-нибудь крупные и\или нагруженные проекты с динамической типизацией? Вам непонятны аргументы или у вас есть чем их ультимативно перебить?

Вы писали сколько-нибудь сложные проекты где он используется как значимый способ управления потоком вычислений, а не в 1 месте?


я писал модули для ядра Linux. однако я в дисклаймере написал, что спорить по частностям не буду. Загляните в исходники ядра и убедитесь, что код с зависимой инициализацией без goto будет значительно менее читабелен