Здравствуйте, so5team, Вы писали:
s> ... s> С поправкой на то, что в Go за счет рантайма языка происходит автоматическая передиспетчеризации гороутин при обращении к блокирующим системным вызовам.
1. Мне приходилось переписывать веб-сервисы с Java на Go.
Web-сервис на Java + Tomcat + JSP требовал для работы 200-250 Mb оперативной памяти.
Тот же сервис, переписанный на Nginx + Go + html template занимал 20-30 Мб ОЗУ.
Выигрыш по памяти значительный. Если сервисы крутятся в облаках — можно прилично сэкономить.
2. Обработка ошибок. Она проста и незатейлива. Мы писали так:
S>Типа chain в Go -- это не first class citizens, а так, нашлепка сбоку
Так и есть, причем нашлепка настолько уродливая, что люди пытаются изобразить функциональщину для более комфортного чтения.
S>Не думал, что встречается Erlang головного мозга, а вот поди ж ты.
Случается, что у некоторых есть опыт работы с разными языками, платформами и концепциями. Так что возникает понимание, где какая экосистема в чем лучше. И осознание, в чем, например, хорош C#, а где удобен Go. А также что проще отлаживать, и почему. И заодно — что отлаживать не нужно. Или где реализация устрашающа (ага, расскажите мне про отладку async/await программ в C# ).
Go имеет современную экосистему (которой Erlang не имеет). Это как раз менеджеры пакетов, отладчики и прочее. Но именно как язык Go по простоте и выразительности на две головы ниже.
Re[6]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
Здравствуйте, SkyDance, Вы писали:
S>>Типа chain в Go -- это не first class citizens, а так, нашлепка сбоку
SD>Так и есть, причем нашлепка настолько уродливая, что люди пытаются изобразить функциональщину для более комфортного чтения.
К first-class ваша ссылка не имеет отношения. Если бы chan не был в Go first-class citizen, то, например, его бы не поддерживала Go-шная функция make.
S>>Не думал, что встречается Erlang головного мозга, а вот поди ж ты.
SD>Случается, что у некоторых есть опыт работы с разными языками, платформами и концепциями.
Жаль, что к этому опыту не прилагается еще и осознание того, что это вовсе не уникально.
Re[9]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, netch80, Вы писали:
N>>Уровень людей... ну наших — терпимо. Авторов исходного пакета софта... ну да, они умеют в Linux, а не Windows. На этом положительные слова заканчиваются. И во второй раз за неделю я вспоминаю столь любимого восточным соседом тов. Кобу: "Других людей у меня для вас нет." N>>Это реальный случай, когда я бы хотел Go вместо всей этой хери. Оно перестанет падать, оно будет лучше отлаживаться, и прочая и прочая. N>если GC не проблема, то чем Java(Scala/Kotlin/etc) с АОТ(Graal) не подходит? Ну или .NET?
тяжеленное говнище для кучи случаев. жрут память как не в себя.
Re[5]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
Здравствуйте, SkyDance, Вы писали:
SD>Все это появится, просто позже (если, конечно, гугль не решит сэкономить на команде, работающей над go), спираль — она на то и спираль.
Языку десять лет уже, а перечисленные фичи в базе лет так 30 уже.
if-ы в докере переписывать никто не будет.
Это не убьет основную фичу — "простоту"?
Re[10]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
Здравствуйте, VladiCh, Вы писали:
N>>если GC не проблема, то чем Java(Scala/Kotlin/etc) с АОТ(Graal) не подходит? Ну или .NET? VC>тяжеленное говнище для кучи случаев. жрут память как не в себя.
"Tяжелое говнище" это Спринги и Томкаты, которым давно пора на помоечку. В Go никакой магии в управлении памяти нет, GC там до сих пор хуже, a ValueType в Яву завезли.
Здравствуйте, Vladsav, Вы писали:
V>Все просто и глаз не спотыкается об if err != nil.
CheckFatalErr разве не должны быть распылену чуть менее чем везде?
Убьет, конечно (вместе с другими фичами). Но это и есть та самая спираль. Каждый язык (включая С, ага) имел с самого начала "основную фичу, простоту". Избежать усложнения человеки, я так понимаю, просто не в состоянии, поэтому через сколько-то лет появится очередной язык, основной фичей которого будет являться простота.
Re[7]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
Здравствуйте, SkyDance, Вы писали:
SD>Убьет, конечно (вместе с другими фичами). Но это и есть та самая спираль. Каждый язык (включая С, ага) имел с самого начала "основную фичу, простоту".
"C" всеже контрпример. Он не стал набирать фичи и в основном полировал синтакс.
Есть разная "простота". В понимание "golang" это не богатая композиция из минимального набора сущностей, а именно 'простота' в "быдлокодинге".
Re[9]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
Здравствуйте, ArtDenis, Вы писали:
AD>У Go возможны data races, так что непредсказуемое поведение всё равно будет. Но в любом случае это сильно лучше чем C/C++
Ну, в Go заложено много интересных возможностей. Например, два сабслайса от одного и того же слайса (или массива) — у них общая память. Пишешь в один — в другом меняется. А после первого append-а — как повезет.
Re[3]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
Здравствуйте, netch80, Вы писали:
N>Знакомые которые на нём пишут — одинаково рассказывают, не сговариваясь, что уровень, в первую очередь, копипастинга превышает все разумные пределы и все известные аналоги кода на других языках.
Мне кажется, эти люди внутри рассуждают, как если бы они писали на C++ или чем-то подобном, а фактически пишут на Go.
Я тоже пишу на Go, и как-то вот обхожусь без массового копипастинга.
N>Ругань типа "пока я собирался поменять все 4 места, где что-то надо было менять, добавили ещё 6" совершенно типична. N>А вот это уже наверняка результат отсутствия нормального наследования в объектах, соответственно, реюз кода катастрофически усложняется.
Может здесь пора сделать рефакторинг?
Re[5]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
Здравствуйте, SkyDance, Вы писали:
SD>Все это появится, просто позже (если, конечно, гугль не решит сэкономить на команде, работающей над go), спираль — она на то и спираль.
Вроде Пайк таки вышел на пенсию. Так что да, может и появится. Будет жаль...
Re[2]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
Здравствуйте, gandjustas, Вы писали:
G>Объясните в чем преимущество Go перед другими языками. Особенно с точки зрения именно языка, а не того, что вебсервис на pyhon переписанный на go в 100500 раз быстрее работает.
Он удобный, как старые тапочки.
Re[6]: Почему GO нишевый? Будущее за zig? Ошибаюсь?
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, gandjustas, Вы писали:
G>>Объясните в чем преимущество Go перед другими языками. Особенно с точки зрения именно языка, а не того, что вебсервис на pyhon переписанный на go в 100500 раз быстрее работает.
Pzz>Он удобный, как старые тапочки.