Здравствуйте, Sharov, Вы писали:
S>А он таки всплыл?
Книжки есть, народ копается; где-то на уровне Питона лет 10-15 назад.
S>Я вот тут подумывая учить языки для распр. выч. и выбирал между го и эрлангом. Решил выбрать второй. Выбор, правда, неокончательный.
Не уверен в правильности самого выбора. Тебе точно надо actor-model, а не map-reduce? Если да, то теперь хорошая actor-model много где есть. Как платформа jvm выглядит сильно лучше чем Erlang/OTP. На Акку или Clojure, смотрел?
Здравствуйте, Sharov, Вы писали:
S>Не, не смотрел пока. А чем Эрланг хуже -- фп, классический actor model и т.д. Мне чисто горизонт расширить (опять же, если будет время). И выбрал Эрланг, как люди, желающие поизучать фп, выбирают Хаскель. Clojure -- лисподобная, как-то не очень. Про Акку не знаю ничего, буду посмотреть.
Если поиграть, то там кроме actor model еще и вся экосистема другая — придется тратить время на эти детали, которые в эрланге так себе. Если фокус именно актеры, то есть смысл просто взять Акку с Java binding. После этого можно порционно добавить выразительности через ФП, переползая на Скалу. В ней много интересного и без актеров, в отличие от Ерланга.
Здравствуйте, Sharov, Вы писали:
S>А он таки всплыл?
Проекты на Go есть, например, в Google, Facebook, Soundcloud, Yandex, Mail.Ru. Куча стартапов его выбрали. Тот же Docker на Go.
Тут уже сам суди, всплыл это или нет
, SenorProgramador, Вы писали:
SP>Уважаемые гуру и адвансед пипл, посоветуйте материал (литературу, статьи, блоги, видео, курсы) на тему Microservices + GoLang. Благодарю.
Не очень понятно какая проблема решается, так что порекомендую глянуть самый популярный, как мне кажется, фреймворк с микросервисами на Go: https://gokit.io
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, SenorProgramador, Вы писали:
SP>>Уважаемые гуру и адвансед пипл, посоветуйте материал (литературу, статьи, блоги, видео, курсы) на тему Microservices + GoLang. Благодарю.
N>Пятничный флэймовой оффтоп... А зачем он вообще нужен технически?
N>ИМХО с С++ он не пересекается, так как в GoLang gc и соответствующий рантайм. А если так, то чем он лучше статики(Java/Scala) на jvm?
Краткий ответ — все он лучше. В каждом аспекте языка. Одна поддержка многопоточности языком чего стоит.
N>Хуже многим: библиотек мало, дженериков и вообще кучи плюшек нет, IDE нет. На ум приходит только АОТ и простота. Что я пропустил?
IDE тьма, дженерики есть, в теме разберитесь перед тем как писать
Здравствуйте, Tom, Вы писали:
N>>ИМХО с С++ он не пересекается, так как в GoLang gc и соответствующий рантайм. А если так, то чем он лучше статики(Java/Scala) на jvm? Tom>Краткий ответ — все он лучше. В каждом аспекте языка. Одна поддержка многопоточности языком чего стоит.
CSP из Go это всего лишь один из вариантов параллелизма. Если нужен именно он, то чем реализация например в Скале хуже: https://github.com/rssh/scala-gopher?
N>>Хуже многим: библиотек мало, дженериков и вообще кучи плюшек нет, IDE нет. На ум приходит только АОТ и простота. Что я пропустил? Tom>IDE тьма, дженерики есть, в теме разберитесь перед тем как писать
Можно пример нормальной IDE, где работает навигация по именам и отладка, примерно как в эклипсе или idea?
Дженерики насколько я знаю, есть только для встроенных коллекций. Если я не прав укажи плз.
Здравствуйте, SenorProgramador, Вы писали:
SP>Пока оправдываются, что и без дженериков неплохо.
И это правильно. Этот язык должен оставаться простым до отвращения. Иначе его единственный плюс пропадет, ведь по остальным пунктам он говно редкостное, но за его простоту все это можно простить
Здравствуйте, SenorProgramador, Вы писали:
SP>Go -- это язык который саппортит Гугле.
Без Гугла он бы вообще не всплыл, но меня интересуют больше технологические преимуществами самого языка.
SP>IDE есть и не один вариант -- Eclipse, JetBrains + LiteIDE и еще парочку, похоже вы действительно многое пропустили.
Я слышал, что отладка до сих пор не работает даже в gdb. Это не так?
SP>Но вопрос был не в этом. BTW -- Есть плюшки, которых даже в модерн С++ нет -- channels.
C++ сравнивать с Go несколько бессмысленно ввиду наличия у последнего gc и рантайма. Из за этого в областях ("правильные" областях!) применения C/C++ (системное программирование и создание высокопроизводительных библиотек) он не применим. Если же говорить про конкурентов в его реальной области применения, например те же "микросервисы", и не брать динамику, то главный будет JVM, где есть буквально все, что есть в Go (включая CSP, aka channels) и еще до фига чего в Go нет и никогда не будет.
Здравствуйте, novitk, Вы писали:
N>Я слышал, что отладка до сих пор не работает даже в gdb. Это не так?
gdb работает, по крайней мере в LiteIDE. С остальными тезисами согласен. И все же -- надежды на GoLang есть, молодой он ишо, не все пока полезное есть,
но отсутствие бесполезного или, скажем так, -- сомнительного -- тоже преимуществе -- хотя бы в скорости обучения новых юнитов ))
Здравствуйте, SenorProgramador, Вы писали:
SP>Уважаемые гуру и адвансед пипл, посоветуйте материал (литературу, статьи, блоги, видео, курсы) на тему Microservices + GoLang. Благодарю.
Я не в теме но пытаюсь разобраться надо оно или нет — AWS Lambda и Azure Service Fabric. Это микросервисы.
Здравствуйте, SenorProgramador, Вы писали:
SP>Уважаемые гуру и адвансед пипл, посоветуйте материал (литературу, статьи, блоги, видео, курсы) на тему Microservices + GoLang. Благодарю.
Кроме гугла ничего чего-то не советуется Особенно в контексте GoLang.
Здравствуйте, SenorProgramador, Вы писали:
SP>Уважаемые гуру и адвансед пипл, посоветуйте материал (литературу, статьи, блоги, видео, курсы) на тему Microservices + GoLang. Благодарю.
Пятничный флэймовой оффтоп... А зачем он вообще нужен технически?
ИМХО с С++ он не пересекается, так как в GoLang gc и соответствующий рантайм. А если так, то чем он лучше статики(Java/Scala) на jvm? Хуже многим: библиотек мало, дженериков и вообще кучи плюшек нет, IDE нет. На ум приходит только АОТ и простота. Что я пропустил?
Здравствуйте, novitk, Вы писали:
N>Пятничный флэймовой оффтоп... А зачем он вообще нужен технически?
Он очень-очень простой и кучи плашек нет там потому что они осознанно убраны. Любого студента за него можно посадить и не бояться что наговняет. При этом, довольно быстрый и с хорошим набором библиотек.
Здравствуйте, Tom, Вы писали:
Tom>Краткий ответ — все он лучше. В каждом аспекте языка. Одна поддержка многопоточности языком чего стоит.
Поддержка многопоточности языком, так же как дженерики, статические бинарники есть и в Ada. Также, к ней и GC прикручивали, разумеется не того уровня, как в JVM или более слабом C#, но вполне соответсвующий. Go тормозной по сравнению с явой, Ada же работает со скоростью Си. Налажать на ней очень сложно, даже и студентам.
Здравствуйте, kaa.python, Вы писали:
KP>Он очень-очень простой и кучи плашек нет там потому что они осознанно убраны. Любого студента за него можно посадить и не бояться что наговняет. При этом, довольно быстрый и с хорошим набором библиотек.
Ява имхо примерно одинакова по сложности, но быстрее, с лучшим набором библиотек и еще "более" любых студентов.
А зачем он вообще нужен технически?
N>ИМХО с С++ он не пересекается, так как в GoLang gc и соответствующий рантайм. А если так, то чем он лучше статики(Java/Scala) на jvm? Хуже многим: библиотек мало, дженериков и вообще кучи плюшек нет, IDE нет. На ум приходит только АОТ и простота. Что я пропустил?
Go -- это язык который саппортит Гугле. IDE есть и не один вариант -- Eclipse, JetBrains + LiteIDE и еще парочку, похоже вы действительно многое пропустили. Но вопрос был не в этом. BTW -- Есть плюшки, которых даже в модерн С++ нет -- channels.
Здравствуйте, kaa.python, Вы писали: KP>Дженериков в Go всё же нет.
Планируют только запилить: https://github.com/golang/go/issues/15292.
Пока оправдываются, что и без дженериков неплохо.
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, SenorProgramador, Вы писали:
SP>>Go -- это язык который саппортит Гугле. N>Без Гугла он бы вообще не всплыл, но меня интересуют больше технологические преимуществами самого языка.
А он таки всплыл? Я вот тут подумывая учить языки для распр. выч. и выбирал между го и эрлангом. Решил выбрать второй. Выбор, правда, неокончательный.
S>>Я вот тут подумывая учить языки для распр. выч. и выбирал между го и эрлангом. Решил выбрать второй. Выбор, правда, неокончательный. N>Не уверен в правильности самого выбора. Тебе точно надо actor-model, а не map-reduce? Если да, то теперь хорошая actor-model много где есть. Как платформа jvm выглядит сильно лучше чем Erlang/OTP. На Акку или Clojure, смотрел?
Не, не смотрел пока. А чем Эрланг хуже -- фп, классический actor model и т.д. Мне чисто горизонт расширить (опять же, если будет время). И выбрал Эрланг, как люди, желающие поизучать фп, выбирают Хаскель. Clojure -- лисподобная, как-то не очень. Про Акку не знаю ничего, буду посмотреть.