Последнее время активно пишу на Go (golang.org) и все сильнее убеждаюсь, что он со временем прижмет своих конкурентов по веб части.
В языке больше всего радуют 3 вещи:
- обработка ошибок
- жесткий синтаксис
- быстрый компилятор
Обработка ошибок в Go кардинально отличается от тех, которые я наблюдал в других "обычных" языках. Программист Go каждый раз должен делать осознанный выбор между "я забью на обработку ошибок" или " я обработаю эту ошибку сейчас", когда видит, что функция возвращает значение ошибки. Это дает возможность прямолинейно писать код и так же без труда его читать. В других же языках, чаще всего программист вообще не делает выбор, а просто забивает на обработку ошибок. Но в случае, когда обработка ошибок все-таки происходит, то везде вставляются try-catch блоки, что ведет к превращению кода в кашку и появлению побочных мануалов "как правильно отлавливать ошибки"
С жестким синтаксисом проблемы стиля кода отваливаются by design. Все как при коммунизме: все пишут одинаково (если забиндили вызов gofmt на сохранение кода, либо вызвали его руками) и нет никаких if в одну строку или тернарных операторов в тернарных операторах. С таким подходом к стилю кода, можно нанимать джуниоров не опасаясь за "нововведения по стилю" - они будут сходу писать простой и читаемый код (инфа проверена и оттестирована)
С компилятором все понятно: экономит время и нервы разработчика. Это позволяет увеличить кол-во сборок и сглаживает итерации ручного тестирования при написании кода
Рекомендую начать учить Go, хотя бы для того, чтобы увидеть другой подход. Стоит попробовать написать на нем простейшее приложение с обработкой http запросов, либо бота для телеграмма. Язык учится максимум за неделю, а рвотный рефлекс от нового синтаксиса проходит практически сразу (особенно если забиндить на сохранение файлов не просто gofmt, а сразу вот это: https://github.com/bradfitz/goimports)
Я начал познавать Go с этого тура: https://tour.golang.org
#golang #go
В языке больше всего радуют 3 вещи:
- обработка ошибок
- жесткий синтаксис
- быстрый компилятор
Обработка ошибок в Go кардинально отличается от тех, которые я наблюдал в других "обычных" языках. Программист Go каждый раз должен делать осознанный выбор между "я забью на обработку ошибок" или " я обработаю эту ошибку сейчас", когда видит, что функция возвращает значение ошибки. Это дает возможность прямолинейно писать код и так же без труда его читать. В других же языках, чаще всего программист вообще не делает выбор, а просто забивает на обработку ошибок. Но в случае, когда обработка ошибок все-таки происходит, то везде вставляются try-catch блоки, что ведет к превращению кода в кашку и появлению побочных мануалов "как правильно отлавливать ошибки"
С жестким синтаксисом проблемы стиля кода отваливаются by design. Все как при коммунизме: все пишут одинаково (если забиндили вызов gofmt на сохранение кода, либо вызвали его руками) и нет никаких if в одну строку или тернарных операторов в тернарных операторах. С таким подходом к стилю кода, можно нанимать джуниоров не опасаясь за "нововведения по стилю" - они будут сходу писать простой и читаемый код (инфа проверена и оттестирована)
С компилятором все понятно: экономит время и нервы разработчика. Это позволяет увеличить кол-во сборок и сглаживает итерации ручного тестирования при написании кода
Рекомендую начать учить Go, хотя бы для того, чтобы увидеть другой подход. Стоит попробовать написать на нем простейшее приложение с обработкой http запросов, либо бота для телеграмма. Язык учится максимум за неделю, а рвотный рефлекс от нового синтаксиса проходит практически сразу (особенно если забиндить на сохранение файлов не просто gofmt, а сразу вот это: https://github.com/bradfitz/goimports)
Я начал познавать Go с этого тура: https://tour.golang.org
#golang #go
GitHub
GitHub - bradfitz/goimports: (old repo) Tool to fix (add, remove) your Go imports automatically.
(old repo) Tool to fix (add, remove) your Go imports automatically. - GitHub - bradfitz/goimports: (old repo) Tool to fix (add, remove) your Go imports automatically.