LINUX.ORG.RU

Почему Go это плохо, и он вам, на самом деле, не нужен.

 ,


7

15

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

Дело в том, что Go это, на самом деле, «решение» внутренних гугловских проблем. Но отнюдь не проблем горизонтального масштабирования серверного ПО, как многие почему-то думают. Он приспособлен специально для использования в гугле вот в каком контексте.

Гугл нанимает большое количество тупых студентов, только-только после вуза или ПТУ, и заставлять их писать хоть какой-то простой код. И делать минимум ошибок, при этом. Для этого Go сделан таким тупым и упрощенным. И выкинут в паблик он только для того, чтобы вероятность, что у такого студента, только пришедшего в гугл, было хоть какое-то знание Go, была выше нуля.

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

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

Тут возникает вопрос - а почему этому тимлиду не дать в руки кодогенератор, вместо всей этой accidental complexity, возникающей из-за огромного количества строк кода, и из-за затрат на коммуникацию?

А тут надо понимать, как внутри устроены огромные корпорации типа гугла.

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

Естественно, это все отражается на качестве продуктов, и это видно как по полному прекращению инноваций в гугле, так и по постоянно мелькающим и закрывающимся высерам этой компании - hangouts, duo, google plus, google wave, и прочее и прочее, можете еще вспомнить много чего.

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

Никакой мифической простоты в отладке и в понимании кода Go не приносит. Да и сложность программных систем растет совершенно не из-за понятности/непонятности какой-то отдельной взятой строчки кода или функции. Потому, что, во-первых, понятность это понятие субъективное, во-вторых потому, что, отдельно взятая фунцкия на 5 строк понятна любому опытному программисту, будь она написана хоть на Rust, хоть на Common Lisp.

Сложность программных систем возникает из-за их размера. И Go эту проблему значительно ухудшает. Человек не может удерживать в голове слишком много вещей, даже если каждая отдельная вещь - очень простая. Количество RAM в голове ограничено.

В случае если вы не хотите выкидывать кучу денег просто так, и скорее предпочли бы нанять немного, но более-менее опытных программистов, Go будет только вреден, потому что все вменяемые люди от него, на самом деле, плюются. Он реально отталкивает опытных людей, которые способны понять сложные требования и написать, и поддерживать, более-менее сложные системы уровнем хотя бы нескольких сервисов плюс БД и MQ.

★★

Ответ на: комментарий от fpastush

.NET с обшарпаным - это жесткий биндинг еще к одной корпорации зла!

А Golang - к другой корпорации зла. Есть разница?

monk ★★★★★
()
Ответ на: комментарий от perl5_guy

This approach to programming is often (derisively) called cowboy coding. I don’t think a cowboy is quite the right image, because a cowboy must take frequent breaks due to the physical limitations of his horse. A better aspirational image is an obsessed scientist who spends weeks in the laboratory and emerges, bleary-eyed, exhausted, and wan, with an ingenious new contraption that possibly causes a fire on first use.

Офигенный блог, спасибо за линк.

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

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

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

lovesan ★★
() автор топика
Ответ на: комментарий от monk

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

fpastush
()

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

Где-то икнул один однострочник на перле.

ya-betmen ★★★★★
()
Ответ на: комментарий от lovesan

Какие контейнеры тебе помогут виртуализировать драйвера для отдельной ОС?

Для контейнеров и embedded use достаточно легко написать свой набор драйверов. Когда контролируешь железо и самого железа мало - очевидно что драйвера перестают быть нерешаемой проблемой.

В ОС основная часть работы это именно дрова.

А я почему-то думал что планировщик задач.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Ну поставь себе minix, с его планировщиком, посмотрю далеко ли ты уедешь.

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

lovesan ★★
() автор топика
Ответ на: комментарий от AntonI

разумные тексты

Сабжевый текст мог написать даже я, т.е. непрограммист, не знающий Go совершенно. Это называется «вброс».

thesis ★★★★★
()

Kubernetes, Docker, Dropbox ?

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

alnkapa
()
Последнее исправление: alnkapa (всего исправлений: 1)
Ответ на: комментарий от lovesan

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

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

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

Но как нишевые решения почти все коммерческие юниксы остались и живут до сих пор.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Там если что магии нет, а их написание - не верх карьеры программиста.

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

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

lovesan ★★
() автор топика
Ответ на: комментарий от lovesan

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

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

naushniki
()
Ответ на: комментарий от lovesan

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

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

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

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от alysnix

Ну вот и напишут под яблоговно, ведро, gnu/linux и винду.

А под ОС на .NET или CL не напишут.

lovesan ★★
() автор топика
Ответ на: комментарий от lovesan

Много какое железо имеет закрытые спецификации, те же видеокарты, как пример.

Еще одна фиксация?

Никто не будет под твою ОС будь она самой лучше в мире, просто так их писать.

Еще раз: «embedded use»

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

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

Идею понял?

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Еще раз: «embedded use»

Это у тебя фиксация. Вот на этом, походу.

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

Ага, и написанное самими ими, поди. Прямо АвтоВАЗ какой-то от мира технологий.

Почему только в банкоматах стоит винда? А не какое-то «специфичное ПО». А во всяком например автомобильном софте какой-нибудь QNX, который такое же древнее говно мамонта как линукс, и под которого есть куча дров, а не какая-нибудь новая и качественная ОС, написанная не на Си, и соответственнно умеющая в нормальную безопасность ПО итд?

lovesan ★★
() автор топика
Ответ на: комментарий от realbarmaley

Если долго смотреть в роба пайка, можно увидеть plan9.

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

naushniki
()
Ответ на: комментарий от lovesan

Ага, и написанное самими ими, поди. Прямо АвтоВАЗ какой-то от мира технологий.

Именно так да.

Почему только в банкоматах стоит винда?

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

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

QNX не в «автомобильном софте» а в промышленности вообще. Вопрос там не в древности или драйверах.

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

а не какая-нибудь новая и качественная ОС, написанная не на Си, и соответственнно умеющая в нормальную безопасность ПО итд?

Потому что безопасность это не первый приоритет для всех?

alex0x08 ★★★
()

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

RedPossum ★★★★★
()

отдельно взятая фунцкия на 5 строк понятна любому опытному программисту, будь она написана хоть на Rust, хоть на Common Lisp.

А на Forth?

Kolins ★★★
()
Ответ на: комментарий от hobbit

А почему что-то вообще должно быть сложным?
Что вы будете делать со своей сложностью через 10..20..50 лет? Думаете, что молодежь будущего (да и современная) будет хотеть все это делать даже за БОЛЬШИЕ деньги?
Я почему-то уверен, глядя даже на современное поколение, что молодежь плюнет на это и будет работать курьерами/тату-мастерами/баристами, а вы так и будете сидеть со своими супер-сложными оптимизированными программами, которые приносят компаниям триллионы долларов.

Jaeger1999 ★★★
()
Ответ на: комментарий от alex0x08

Именно так да.

Мифы и легенды Древней Греции. И даже если это так где-то делается, это провальный подход. Совковый. От которого даже АвтоВАЗ отошел. В современном рыночном обществе это не работает.

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

RTOS это не бином ньютона, и не магия какая-то, в отличие от вот этого:

https://www.qnx.com/developers/hardware_support

Потому что безопасность это не первый приоритет для всех?

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

lovesan ★★
() автор топика
Ответ на: комментарий от RedPossum

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

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

lovesan ★★
() автор топика
Ответ на: комментарий от alnkapa

Ничего лучше СИхи за 30 лет не придумали. И не придумают уже никогда.

Jaeger1999 ★★★
()
Ответ на: комментарий от Kolins

А что там сложного? Он тупой как полено.

lovesan ★★
() автор топика
Ответ на: комментарий от Jaeger1999

Я почему-то уверен, глядя даже на современное поколение, что молодежь плюнет на это и будет работать курьерами/тату-мастерами/баристами

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

RedPossum ★★★★★
()
Ответ на: комментарий от RedPossum

А кто будет это все ГОвно поддерживать через 20…50… 200 лет?
В будущем на рынке будет хоть пару человек которые захотят копаться в навозе, а?

Jaeger1999 ★★★
()
Ответ на: комментарий от lovesan

В современном рыночном обществе это не работает.

Первое правило рыночной экономики это ее полное отсутствие, если что.

RTOS это не бином ньютона, и не магия какая-то, в отличие от вот этого:

Так дерзай, будешь жить красиво и долго.

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

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

alex0x08 ★★★
()

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

Что-бы не измышляли любители функциональной чистоты и строгих нотаций - Go хороший, годный язык;

по железобетонной причине - на нём пишут. Это практикой доказано и неопровержимо. Чем дальше от домашних самодёлок, тем чаще встречается Go и реже Scheme/lisp.

MKuznetsov ★★★★★
()
Ответ на: комментарий от lovesan

Можно и на дотнет взять и посадить человека писать код, и на питон, и даже на лисп или эрланг. На Go может тоже можно, просто - не нужно.

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

Шарпы - слишком сложные (java - пообще жуть). Условно, чтобы понять как там ваши async await’ы работают с контекстами синхронизации и прочим говном, а также понять как лучше писать чтобы ошибки обрабатывать - надо прочитать челый CLR via C#. Чтобы начать асинхронный код в го колотить, надо прочитать три статьи суммарно на 1 час.

RedPossum ★★★★★
()
Ответ на: комментарий от Jaeger1999

А кто будет это все ГОвно поддерживать через 20…50… 200 лет?

будущие поколения перепишут, не беспокойся. Как будто кто-то сейчас поддерживает гуано тридцатилетнее массово

RedPossum ★★★★★
()
Ответ на: комментарий от RedPossum

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

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

Мне бы такую осознанность в из годы а не на лоре сраться

У тебя было детство в 20 и взрослость в 40. У них взрослость в 20 а в 40 начнется детство. Если у человека забрать детство и заставить работать - он его себе все равно вернет, сразу как заработает достаточно. Чудес нет.

alex0x08 ★★★
()
Ответ на: комментарий от RedPossum

Бизнесу нет разницы.

Дааа, рассказывай сказки. Не важно бизнесу. Бизнес как раз и ставит требования типа «пишем на жабе». Почему на жабе? На кой хер она всралась? Да потому что менеджерок услышал где-то на пьянке что жаба это энтерпрайз и все на ней пишут, вот почему.

Ему нужен минимальный оверхэдом в онбординге.

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

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

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

Лол, это какие-то российские менеджерские сказки.

Я работал с тем же Erlang в продакшне, и лично видел как легко люди в него въезжают, даже студенты вчерашние. Подходы и все остальное там вполне есть, и все это работает.

Шарпы - слишком сложные

Что значит сложные? В каком месте? Кому? Менеджеру который забыл как код писать? Почему это критерий?

также понять как лучше писать чтобы ошибки обрабатывать надо прочитать челый CLR via C#

На какой хер это надо читать? Чтобы try-catch научиться печатать? Не надо по ЯП вообще книжки читать. Максимум статьи и документацию(с которой у C# все в порядке).

Чтобы начать асинхронный код в го колотить, надо прочитать три статьи суммарно на 1 час.

Лол, а потом вопросы на стековерфлоу типа, а херли у меня код завис тут в цикле, и так далее. Вот уж как раз в Golang с асинхронностью и concurrent программированием - куча всратого неочевидного говна. Вот если бы он был Erlang то вообще нет проблем, там да, неоткуда ловить всякие дедлоки и прочее. А в Golang запросто - мало что у вас неочевидно и мутно написанный рантайм и неочевидный шедулинг и синхронизация горутин и каналов, так там еще и присутствуют и базовые примитивы синхронизации типа cv, мутексов итд - удачи это научиться совмещать «за час».

lovesan ★★
() автор топика
Ответ на: комментарий от lovesan

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

ergo ★★★
()
Ответ на: комментарий от MKuznetsov

по железобетонной причине - на нём пишут.

Некоторые и на коболе пишут, и на вижлбейсике. Доказано практикой, херли.

Чем дальше от домашних самодёлок

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

lovesan ★★
() автор топика
Ответ на: комментарий от lovesan

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

Ерланг не про перформанс от слова совсем. Он невероятно медленный. Так что у тебя не было хайлоада. Расслабься. Ерланг про удобную сетевую прозрачность и акторную модель. На этом он заканчивается.

ergo ★★★
()
Ответ на: комментарий от fpastush

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

Golang по дефолту тащит пакеты через прокси-сервер гугла. Что там не прибито?

hateyoufeel ★★★★★
()
Ответ на: комментарий от lovesan

Ага, в бинокль обложку книжки видел. Ох и чсв у тебя 😄

ergo ★★★
()
Ответ на: комментарий от ergo

Ерланг не про перформанс от слова совсем. Он невероятно медленный.

Вот нифига себе срыв покровов. А можно подробнее? Мне в свое время уши прожужжали скоростями Эрланга и его суперстабильностью. Получается врали?

alex0x08 ★★★
()
Ответ на: комментарий от ergo

Ерланг не про перформанс от слова совсем.

Легковесные треды отлично позволяют писать производительные распараллеливаемые системы даже с учетом общей медленности BEAM. Такое же но без эрланговской машины ты либо заколебешься писать и все-равно напишешь неработающее и глючное говно(привет Akka, привет core.async, привет golang), либо же будешь рубиться в обычные треды - и тут привет всяческие тормоза от тяжеловесных примитивов синхронизации, контекс свичей итд.

Так что у тебя не было хайлоада.

Огромное количество одновременно обрабатываемых соединений от клиентов в системе, самих клиентов - сотни тысяч, данных - петабайты в год. Не «хайлоад», да. Потому что слово «хайлоад» придумали какие-то колхозаны из постсовка, и что оно значит вообще непонятно. Зато high performance, high throughput & high availability.

Ерланг про удобную сетевую прозрачность и акторную модель. На этом он заканчивается.

Ну я ж говорю, ты о не разве что в интернете читал. Баззвордами сыпешь.

lovesan ★★
() автор топика

Мне лично хватило одной только информации о том, что там вместо enum числовые константы как в Си.

KivApple ★★★★★
()
Ответ на: комментарий от fpastush

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

Zhbert ★★★★★
()
Ответ на: комментарий от thesis

Но вброс то красивый. Я, непрограммист не знающий Го, согласен попо вcем озвученным ТС пунктам;-)

AntonI ★★★★
()
Ответ на: комментарий от lovesan

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

довольно спорное утверждение. Оно предполагает действие различных экономических стимулов «ради хайпа» и «ради денег», и только в ИТ хайп, а в остальных ни-ни. Типа магического места на земле, в котором не действует гравитация.

seiken ★★★★★
()
Ответ на: комментарий от lovesan

Бизнес как раз и ставит требования типа «пишем на жабе». Почему на жабе? На кой хер она всралась? Да потому что менеджерок услышал где-то на пьянке что жаба это энтерпрайз и все на ней пишут, вот почему.

Нет, это не так работает. Бизнес обсуждает стек/архитектуру/штат со своим CTO и опирается в выборе в первую очередь на эффективность, и в этом анализе учитывается и рынок труда и время доставки фич до пользователя, и скорость проверки гипотез, и затраты на мейнтененс etc. Дружеский совет: меняй майндсет, с таким подходом на финалке ты бы выше джуна ни в одном приличном месте не получил, и пофиг на твои впечатляющие харды.

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

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

Что значит сложные? В каком месте? Кому? Менеджеру который забыл как код писать? Почему это критерий?

Здесь я имел в виду затраты на вход.

документацию(с которой у C# все в порядке).

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

Вот уж как раз в Golang с асинхронностью и concurrent программированием - куча всратого неочевидного говна

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

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

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

RedPossum ★★★★★
()
Ограничение на отправку комментариев: