Size: a a a

2020 May 03

AC

Alexandr Cebotari in Go-go!
нет, занимаюсь вебом, зависит от проекта, пишем на PHP, NodeJS.
источник

RS

Roman Sharkov in Go-go!
Alexandr Cebotari
нет, занимаюсь вебом, зависит от проекта, пишем на PHP, NodeJS.
мой путь был C++ -> (переход в веб) PHP -> NodeJS -> Go

так или иначе при разработке API’шек и backend систем я пришёл в Go и пока-что не планирую переезжать
источник

AK

Anton Kucherov in Go-go!
Alexandr Cebotari
Всем привет. Ребят, подскажите пожалуйста. При каких обстоятельствах стоит задумываться о том, что стоит переходить на го? Как я понимаю го используется в основном для создания микросервисов в какой-то сложной архитектуре, где ставятся задачи, с учетом того, что очень большое количество людей будет пользоваться продуктом. Стоит ли его изучать если пока таких целей не ставится?  Я думал что го станет отличной заменой избыточной архитектуре фреймворков, которых мы используем и на нем будет удобно писать Restful API. Прав ли я или заблуждаюсь?
Из последнего интервью с Робом Пайком:

Evrone: Software developers tend to label things, such as Dart being a "frontend language", and C being a "system low-level language", and so on. How would you term the Go programming language now, given its feature set and usage?
Rob: Go is a general-purpose programming language. Write whatever you want in it and don't worry about pinning the language, or any other technology for that matter, to a single problem domain
источник

V

Vadim in Go-go!
создатель что угодно может сказать чтоб язык раскрутить), но все то знают что го не язык общего назначения, у него довольно узкая ниша
источник

RS

Roman Sharkov in Go-go!
Anton Kucherov
Из последнего интервью с Робом Пайком:

Evrone: Software developers tend to label things, such as Dart being a "frontend language", and C being a "system low-level language", and so on. How would you term the Go programming language now, given its feature set and usage?
Rob: Go is a general-purpose programming language. Write whatever you want in it and don't worry about pinning the language, or any other technology for that matter, to a single problem domain
Pike заинтересованная персона, тут скорее играет ограниченность Go в interoperability с другими языками. Нельзя просто взять C/C++ библиотеку и её использовать, для этого нужен уже cgo. Много полезных вещей на C++ которые на Go переписывать либо не целесообразно либо невозможно
источник

DP

Daniel Podolsky in Go-go!
Vadim
создатель что угодно может сказать чтоб язык раскрутить), но все то знают что го не язык общего назначения, у него довольно узкая ниша
думает @Cloud66
источник

DP

Daniel Podolsky in Go-go!
Roman Sharkov
Pike заинтересованная персона, тут скорее играет ограниченность Go в interoperability с другими языками. Нельзя просто взять C/C++ библиотеку и её использовать, для этого нужен уже cgo. Много полезных вещей на C++ которые на Go переписывать либо не целесообразно либо невозможно
почти ничего из того, что написано на С++, невозможно переписать
источник

RS

Roman Sharkov in Go-go!
Daniel Podolsky
почти ничего из того, что написано на С++, невозможно переписать
вот я о чём и говорю. Теоретически да, Go - ЯП общего назначения, но на практике его конечно-же не везде применишь..

на условном Python можно написать как фронт, так и бэк, так и мобильное приложение и ML и т.д. Экосистема очень сильная, из-за этого его популярность и растёт

Go же скорее специализируется на backend & automation и блестяще справляется в этой нише

но это моё личное мнение 🙂
источник

AC

Alexandr Cebotari in Go-go!
@Romshark благодарю, вот у меня такая же ситуация. Только вот стоит вопрос целесообразности, чтоб можно было руководству объяснить, что нужно двигаться в этом направлении. На сколько Ваш выбор зависит от сложности проектов с которыми Вы работаете? Если ли просадка по скорости разработки с переходом на новый язык?
источник

DP

Daniel Podolsky in Go-go!
Roman Sharkov
вот я о чём и говорю. Теоретически да, Go - ЯП общего назначения, но на практике его конечно-же не везде применишь..

на условном Python можно написать как фронт, так и бэк, так и мобильное приложение и ML и т.д. Экосистема очень сильная, из-за этого его популярность и растёт

Go же скорее специализируется на backend & automation и блестяще справляется в этой нише

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

AK

Anton Kucherov in Go-go!
Vadim
создатель что угодно может сказать чтоб язык раскрутить), но все то знают что го не язык общего назначения, у него довольно узкая ниша
Я думаю что создателю виднее, зачем он его создал, вам так не кажется? Что касается текущего положения вещей, я не отрицаю, что есть области в которых Go пока что слаб. Но этот факт не противоречит первому.
источник

V

Vadim in Go-go!
Anton Kucherov
Я думаю что создателю виднее, зачем он его создал, вам так не кажется? Что касается текущего положения вещей, я не отрицаю, что есть области в которых Go пока что слаб. Но этот факт не противоречит первому.
нет не кажется, виднее миллионам разработчиков
источник

RS

Roman Sharkov in Go-go!
Alexandr Cebotari
@Romshark благодарю, вот у меня такая же ситуация. Только вот стоит вопрос целесообразности, чтоб можно было руководству объяснить, что нужно двигаться в этом направлении. На сколько Ваш выбор зависит от сложности проектов с которыми Вы работаете? Если ли просадка по скорости разработки с переходом на новый язык?
начните с maintainability. Это, ИМХО, главный критерий в вопросе выбора технологии для backend’а.

PHP и JavaScript это ужас в плане поддержки.. отсутствие стат. типизации, большое количество runtime ошибок, отсутствие инструментов отладки и оптимизации

ну и завершите производительностью. Я знаю истории когда люди кластеры из десяток машин заменяли на парочку машин после перехода на Go. Разумеется, производительность это вопрос тонкий и требует конкретного анализа того, где в системе тормоза. Но очень часто я слышал истории когда оптимизировать PHP/JavaScript/Python становилось уже просто невыгодно, а переход на Go был не столь болезненным как на тот-же условный Rust (про C++ вообще молчу)
источник

RS

Roman Sharkov in Go-go!
возможно некоторых удобностей может не хватать (например если вы привыкли работать с ORM, то Go может в этом плане показаться примитивным), но в целом я нахожу Go единственным языком, на котором я могу читать чужой код и не задыхаться (это не значит что лучше нет, просто лично я после Node/PHP/C++ более лучшего варианта на данный момент не знаю)

и кстати да.. я знаю про TypeScript, но к сожалению TS под капотом тот-же JS, те-же банальные 64-bit integer он не умеет..
источник

AC

Alexandr Cebotari in Go-go!
Благодарю Вас за ответ
источник

V

Vadim in Go-go!
Daniel Podolsky
в том же интервью пайк говорит, что go стал языком системной интеграции. и это правда - все инфраструктурное пишут теперь на go. и я жду со дня на день оркестратора, вроде ansible, написанного на go. ну - как пример
источник

DP

Daniel Podolsky in Go-go!
скорее нет, чем да
источник

VI

Vadim Inshakov in Go-go!
@onokonem @antonikucherov ок, но что если вы пишете блокэксплорер для ноды эфира, и там ну никак ты эту ноду не замокаешь, а всё, что делают твои функции - это дергают API ноды; тогда что, вообще без юнитов быть? или юнитами покрывать простейшие хелперы, которые не сильно связаны с основной функциональностью?
источник

AK

Anton Kucherov in Go-go!
Vadim Inshakov
@onokonem @antonikucherov ок, но что если вы пишете блокэксплорер для ноды эфира, и там ну никак ты эту ноду не замокаешь, а всё, что делают твои функции - это дергают API ноды; тогда что, вообще без юнитов быть? или юнитами покрывать простейшие хелперы, которые не сильно связаны с основной функциональностью?
Я в этой области 0, поэтому ничего не скажу 🙂
источник

VI

Vadim Inshakov in Go-go!
Anton Kucherov
Я в этой области 0, поэтому ничего не скажу 🙂
замените слово "эфир" на "база данных, для которой нет готовых моков и никогда не будет" 😅
источник