Как стать автором
Обновить

Комментарии 14

Интересно мнение разработчиков которые до перехода на golang работали с другими языками, какие личные ощущения.Ведь golang по сути язык процессов и процедурного подхода.На мир и разработку теперь надо смотреть по другому.Кто что скажет?

Это другой мир, другие парадигмы. И либо человек их принимает, либо — нет. В остальном приятный, как по мне, язык без излишеств. Программировать параллельно на пхп и гоу. В наш стек, собственно, я принёс go. Для тех случаев, где пхп был страшным оверхедом.

пхп был страшным оверхедом.

что может быть проще строки на РНР?
Можете дать пару примеров?
По мне PHP может быть слишком простым и недостаточным для многих задач, но оверхедом — это навряд ли и уж тем более страшным
Вы видели размер докер-образа с go приложением на базе scratch образа? Когда у меня стоит задача сделать пару запросов к некоему апи (еще и конкурентно), переформатировать ответ для пользователя и вернуть в json, то утилитка на go будет действительно копеечной (да еще и без внешних зависимостей). Тогда как для адекватного решения на php без внешних зависимостей или же без велосипедостроительства обойтись сложно, а если посмотреть на размер образа, куда всё это собрано, то и вообще печально становится. Это я еще на счет производительности и потребляемой памяти умолчу.
Надо будет покопаться.
Я просто исходил из того что РНР уже установлен и крутится.
А не когда мы пишем кусочек чего-то независимо от тог что уже имеется.
РНР редко используется в отрыве от некоего веб приложения.

Если же у вас РНР не стоит, и задача независимая сама по себе, естесственно вы в праве решать на чем и как ее писать и деплоить. Просто по мне, в данном контексте, тогда странно звучит упоминание РНР вообще.
О PHP идёт упоминание просто потому, что это один из языков используемого стека. И речь идет прежде всего о микросервисной архитектуре (куда go, кстати, отлично вписывается). Там в отношении PHP в принципе не применимо выражение «установлен и крутится».
Скорее всего, речь шла не про чистый PHP, а, скорее, про энтерпрайз-фреймворки. Тот же Symfony, например, даже в облегченной версии зачастую является оверхэдом.
Если смотреть с колокольни PHP, я рад что появились Golang и Ballerina. Чтобы круто писать на PHP — надо забить голову тучей библиотек, знать про расширения, эти 50-500мб докер образы из-за композера, надо тюнить композер, надо тюнить PHP, надо тюнить fpm, PSR, туча ненужных фреймворков (viable по факту только Symfony и Laravel), внутрянка PHP — адский ад, там надо делать параллельный бранч, и рубить топором всё легаси.

И тут расцвет Go: стандартизировано всё из коробки, заточен на concurrency, строгая типизация, весь тулсет в комплекте, grpc из коробки, любой транспорт легко интегрировать, консольные приложения писать в кайф, мультиОС без танцев с бубном, докер образы 50мб в среднем, в общем для веба — я не вижу лучших альтернатив.
Из минусов — тяжко мозги перестроить вначале, но как процесс прошёл — добро пожаловать в новый лучший мир.
Есть ещё Ballerina — топовый язык для интеграций веб софта (для прослоек, gateways и т.д.).
NodeJS не рассматриваю, для меня это PHP с Swoole/ReactPHP.
Писал на Java раньше, потом на Python, теперь поровну Go и Python. По сравнению с Питоном удивляет, что скомпилированная прога работает почти всегда, с первого раза и не валится в рандомных местах — такие давно забытые ощущения. Кросс-компиляция нравится. Язык простой, немного странное ООП, но терпимо, когда руку набьешь. Каналы и горутины — это просто праздник какой-то.
Сейчас активно изучаю Go.

Я бы разделил уровень понимания Go на «до понимания концепции горутин и каналов» и «после понимания этой концепции».
Писать код можно начинать в первый же день знакомства с языком, он очень простой.
Но что-то интересное начинает получаться только после того, как в голове окончательно укладываются два его кита — горутины и каналы.

Из приятных бонусов — на нём реально просто написать какой-нибудь микросервис, который сможет, к примеру, выполнять транскодирование сетевых запросов на скоростях 10k+ RPS и делать это на старом 2х ядерном процессоре.
Т.е. любые задачи уровня «API Gateway» на нём решаются очень легко.
Как тут было сказано, глоток чистого воздуха. Часто приходиться смотреть и вникать код на php,python,js — пока соберешься с мыслями, пока вспомнишь, что куда. На go проще — ну это с моей колокольни.
НЛО прилетело и опубликовало эту надпись здесь
Проблема в том, что для джунов почти нету вакансий и тратить большое количество времени нету смысла. Все было бы хорошо, если бы не было так плохо…

Прямо сейчас гоферы нужны в Авито, ВК Пей, Яндекс, Озон и ещё в кучу контор поменьше. А свободных гоферов на рынке нет. Поэтому единственная стратегия сейчас это "нанимать специалистов уровня миддл и выше с других языков и на месте обучать их го".
В 2015 году мы так в лазаде наняли порядка сотни бекендеров с опытом в пхп/питон/джве/перл и на месте уже переобучали на го. Единственное условие было "желание изучать и писать на го".
Сейчас основной костяк опытных гоферов Рунета это экс-лазадовцы.
Про остальные конторы не скажу но в Авито прямо сейчас тоже экспериментируют с наймом сильных специалистов бекендеров кто не имеет опыта на го ( либо имеет но мало). И уже на месте они будут изучать го.
П.С. естественно платить при этом специалистам надо не как "джунам" а как нормальным миддл/сеньорам (не меньше чем они получали работая на текущем языке которым они владеют в совершенстве). Иначе какой смысл сеньору с 5+ опыта на пхп переходить на го падая при этом по зарплате

Зарегистрируйтесь на Хабре, чтобы оставить комментарий