Комментарии 13
Что-то тут не вяжется. Люди использующие Go как основной инструмент, собираются расширить свой стек изучив PHP... При этом в дополнении с Go изначально PHP использовали только 50... Кстати 50 чего? Человек, процентов? Нижняя ось не ясна.
А еще кое-где легенда по цветам не совпадает с чартом.
Спасибо, что подсветил ошибку в легенде — поправили
Шкала в людях. Да, PHP действительно кажется не самым перспективным языком для изучения в дополнению к Go, но у кого-то это в планах ¯_(ツ)_/¯
За один только список ссылок огромное спасибо!
скудость стандартной библиотеки, которая приводит к необходимости
самостоятельно писать то, что в других языках уже реализовано «из
коробки».
Ну если не брать синтаксический сахар, то не такая она и скудная, и на самом деле хотелось бы более развернутых комментариев по этому утверждению
Приходят в го их питонов поэтому и дженериками не умеют пользоваться.
У нас 2 языка на постоянке в стеке очень разные по "духу" Golang и Kotlin.
Скажу так - меня лично НЕ бесит `err != nil` , гораздо больше бесит когда в ревью я вижу как Java/Kotlin разработчики любят класть болт на обработку ошибок или наоборот использовать исключения для передачи управления. В итоге я на Kotlin начал писать ближе к Golang (используя Result<T> и обязательную реакцию на статус ошибки в вызывающем коде)(правда сам Golang тут непричем, я к такому стилю в Kotlin начал приходить до практичкского исполоьзования Golang или Rust.
Поэтому как раз обработку ошибок в Go я как раз считаю очень и очень здравой.
Меня лично в Go по сравнению с Kotlin/Java/Rust/C++ раздражает какая-то нарочитая недоделанность генериков (и появились как-то не сразу, и появились какие-то недоделанные - нельзя делать Generic методы, только функции без ресивера). Вот они бы могли возглавить рейтинг недовольства.
А вот что прямо радует, без шуток - предельно быстрый, простой и полнофункциональный встроенный тулчейн - модульная система на базе GIT, внятный тестовый движок из коробки, cover, бенчмарки, профайлинг, линтер, документация - все из коробки без необходимости проведения вуду-ритуалов над Gradle как это обычно происходит в Jvm истории
Курс от МФТИ сейчас лежит на рутрэкере.
Удивительно что в курсах нет route256
Обьясните в какой момент становится необходимым rust, когда пишешь проекты на go?
Странное и повсеместное утверждение что синтаксис Go подобен С/С++ .. скорее уже Пасклю, Модуле, Джаве. Даже := взято оттуда! Кстати, если он Си-подобен, то где мои любимые union? :) (дженерики не предлагать). Горутины и каналы .. похоже, что Роберт Пайк притащил в язык Хоаровское взаимодействие процессов, забыв что оно впервые реализовано в Ада.. :) Что не нравится в Go:
err != nil -- это да, "вне конкуренции". Кстати, группы разработчиков часто настраивают линтеры так, чтобы не обработанную ошибку нельзя было подавить через _!
запятая в конце строк.. хотели избавиться от ;, зато наплодили запятых. Ни одна закрывающаяся скобка толко на новую строку не переносится.
for _,item := range slice(map|array) {} 80% циклов с таким перебором .. именно так, скрипач не нужен!
[]interface{} -- зубная боль гошника, не смотря на то, что стандартная библиотека этим переполнена по самое не балуйся.
Медленный runtime, использование пакета reflect в недрах стандартной библиотеки, что ещё снижает производительность.
Отсутствие select над слайсом каналов. В Аде такое есть, однако..
Тотальная передача по значению. Дорого и содержит острые подводные камни.
Что нравится в Go:
Простота и лаконичность синтаксиса. Это вам не Ада.. :)
Небольшая стандартная библиотека, закрывающая (пусть и не эффективно) большую часть потребностей. В принципе есть всё, что требуется.
Интерфейсы, отделенные от структур (объектов). Очень интересный и оригинальный подход в обход ООП. Та же "таблица виртуальных методов", но .. отделенная от класса. Очень переспективное направление, кмк.
ИМХО, как мнение к опросу, на который видимо опоздал.. не для споров. :)
Бесит, что err != nil: главные инсайты из опроса Go-разработчиков
Месяц назад мы вместе с Хабром спросили у Go‑разработчиков, чем они живут, над какими задачами работают и где черпают полезную информацию о Go. В этом посте расскажем об основных инсайтах, а также узнаем, почему многие Go‑разработчики знают Python и мечтают выучить Rust.