Go явно не конкурент Python. Python простой и понятный. Go раздутый и непродуманный. Если в Python какие-то вещи делаются в одну строчку кода, то на Go нужно какую-то лапшу писать которая будет приводить только к лишним ошибкам.
Единственный минус Python — это отсутствие типизации. В этом плане в Dart поступили очень правильно введя в Dart 2 strong mode с обязательной явно типизацией.
На сколько я знаю фишка сопрограмм именно в том, чтобы избежать затратных переключений контекста. Или все же переключение контекста так же происходит и разница лишь в том, что в сопрограммах можно этим управлять?
Я имею ввиду что никак не могу понять чем переключение контекста отличается от сопрограмм. Переключение контекста получается полностью дамп всех регистров делает, а у сопрограмм затрагиваются только некоторые регистры?
>сопрограммы… сохранить текущий стек
А где он будет сохраняться? Если программа записала что-то в регистры процессора и новая сопрограмма туда тоже что-то хочет записать чтобы выполнить вычисление, то как все это будет работать?
Ну если контейнер будет являться диапазоном (Range) то canFind будет с ним так же работать. Если нужно что-то другое, то ничего не мешает реализовать у контейнера свой метод Contains.
Но тут то вся соль в том, что на Go нужно костыли городить уже в простых случаях.
>Везде
Да ладно врать то. Вы примеры покажите чем Go проще других языков.
>количестве способов сделать одно и тоже
Поверьте, как только возникнет более или менее серьезная задача, то программисты на Go будут дико костылить просто потому что в других языках проблему тщательно обдумали и взвешивали кучу за и против, а на Go решением будет бездумный гуглеж кода по принципу «вроде работает и хрен бы с ним». Отсюда поддержка этого кода будет просто адовой.
>и угадать, что же он попытался упаковать в те 5 символов
Ага, к примеру по `canFind` или `Сontains` ну совершенно не очевидно что они делают и приходится гадать.
>Тут глупо спорить. Кто-то считает, что если учить 4 года Haskell
Так, стоп. Причем тут Haskell. Вопрос был в том чем Go проще C#/Java/D/Swift/Python. Можете пример показать? Ну вот допустим я в Python могу проверить вхождение так: if x in arr
На D это будет: if (arr.canFind(x))
На других языках тоже примерно так же.
Вы будете утверждать, что на Go это проще делается?
По факту больше кода, больше ошибок, дольше разработка, сложнее рефакторинг, тестирование, отладка и тд.
Кстати, один я заметил интересную особенность, что на Go активно переходят только PHP-шнки т.е. в большинстве своем те люди, которые привыкли писать лапшеобразный код.
Я реально слабо представляю себе кейс когда человек решит перейти с C#/Java/D/Swift на Go и сможет внятно объяснить свое решение.
Особенно занятно читать вранье про простоту Go. Каким местом он простой? Что на нем делается проще чем на других языках? Такой бред могут нести только люди никогда в жизни ничего серьезного не писавшие. Вся эта простота (а по факту примитивность) приводит лишь к тому что на мало-мальски сложных проектах начинается дикое костылестроение т.к. в языке не оказывается каких-то элементарных синтаксических конструкций. Итогом является закономерный Го-внокод.
Заголовок не соответствует содержанию. Правильно было назвать статью так: «Mail.ru опять обобралась». Куда этим людям поисковик делать если они публично позорятся в каждой публикации.
Пробовал Xamarin. Оно сырое просто до ужаса. Плюсов нет. Одни сплошные минусы. Ради интереса попробовал Dart и flutter. Оно хоть и альфа-бетное все, но зато хоть не такое глючное.
Так что скоро на JS наконец то можно будет забить.
Единственный минус Python — это отсутствие типизации. В этом плане в Dart поступили очень правильно введя в Dart 2 strong mode с обязательной явно типизацией.
Да ничем. Она отсутствует.
Rust с каждой версией все более и более уродским становится.
Вот хороший пример читаемости синтаксисов:
Go:
C++
Rust:
D:
А где он будет сохраняться? Если программа записала что-то в регистры процессора и новая сопрограмма туда тоже что-то хочет записать чтобы выполнить вычисление, то как все это будет работать?
Но тут то вся соль в том, что на Go нужно костыли городить уже в простых случаях.
Читается лучше чем к примеру:
>если же у вас там массив то в цикле проверять придется.
А ну вообще прелестно! Проще некуда!
Вот видите даже в каких-то стерильных условиях типа: «Если ваш 'arr' это мэп то» код на Go оказывается куда менее читабельный чем на других языках.
Да ладно врать то. Вы примеры покажите чем Go проще других языков.
>количестве способов сделать одно и тоже
Поверьте, как только возникнет более или менее серьезная задача, то программисты на Go будут дико костылить просто потому что в других языках проблему тщательно обдумали и взвешивали кучу за и против, а на Go решением будет бездумный гуглеж кода по принципу «вроде работает и хрен бы с ним». Отсюда поддержка этого кода будет просто адовой.
>и угадать, что же он попытался упаковать в те 5 символов
Ага, к примеру по `canFind` или `Сontains` ну совершенно не очевидно что они делают и приходится гадать.
Так, стоп. Причем тут Haskell. Вопрос был в том чем Go проще C#/Java/D/Swift/Python. Можете пример показать? Ну вот допустим я в Python могу проверить вхождение так:
if x in arrНа D это будет:
if (arr.canFind(x))На других языках тоже примерно так же.
Вы будете утверждать, что на Go это проще делается?
По факту больше кода, больше ошибок, дольше разработка, сложнее рефакторинг, тестирование, отладка и тд.
Так ГДЕ Go простой??
Я реально слабо представляю себе кейс когда человек решит перейти с C#/Java/D/Swift на Go и сможет внятно объяснить свое решение.
Особенно занятно читать вранье про простоту Go. Каким местом он простой? Что на нем делается проще чем на других языках? Такой бред могут нести только люди никогда в жизни ничего серьезного не писавшие. Вся эта простота (а по факту примитивность) приводит лишь к тому что на мало-мальски сложных проектах начинается дикое костылестроение т.к. в языке не оказывается каких-то элементарных синтаксических конструкций. Итогом является закономерный Го-внокод.
10 лет непрерывных побед.
Интересно почему?)) После C# Go выглядит еще более убого чем Basic.
Julia все же больше для математиков и ученых создана.