TGViewer
Точка входа Точка входа @func_main · 503 subscribers
Post #11 987
Последнее время активно пишу на 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
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.
More from @func_main
  1. Feb 26, 2022#СвоихНеБросаем подставим информационное плечо нашим бойцам и нашим людям на Донбассе и на…
  2. Feb 28, 2017Если у вас есть опыт разработки приложений, то вы наверняка замечали, что со временем у ва…
  3. Feb 24, 2017Сегодня на канале @techsparks увидел интересную статью, в которой автор рассказывает, как…
  4. Feb 22, 2017Выложили видео с митапа по Go в Авито. Всего было 4 доклада, но, считаю, наиболее полезный…
  5. Feb 22, 2017Очень часто разработчики, считающие себя заскилованными, не могут на интервью ответить на…
  6. Feb 19, 2017Одни борются за анонимность в сети, другие - за идентификацию каждого. По ссылке обзор js-…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →