Почему Golang подходит в качестве первого языка программирования?

Kate

Administrator
Команда форума
Материал подготовлен Никитой Кузнецовым, старшим разработчиком компании «МегаФон» и преподавателем курса “Go-Разработчик Pro” в Skillbox: «Упрощай! Вот девиз, который, как мне кажется, могли бы использовать разработчики языка Go».

Почему языки могут быть неудобными?​


Есть языки, в которых для реализации вложенности конструкций используются пробелы/отступы (например, Python), для определения вложенности используются ключевые слова (например, begin и end в Delphi), используются фигурные скобки (например, Си-подобные языки).

Программа может работать не так, как хотелось бы из-за лишнего или отсутствующего пробела, а ключевые слова добавляют лишние строки и символы на экране.

Чем удобен Golang?​


Golang основывается на лаконичности, которая делает язык читаемым и понятным: фигурные скобки уменьшают количество символов на экране, открывающая фигурная скобка находится на одной строке с командой, к которой относится вложенность.

Кроме того, отсутствуют круглые скобки в условиях и циклах, дополнительные ключевые слова для объявления переменной и присвоения ей значения, специальные символы, завершающие команду.

Задачи решаются с меньшим количеством ключевых слов, в сравнении с другими языками.

Чем интересен Go?​


В Go всего один цикл, а в некоторых языках их три или четыре.
Никита Кузнецов: «У многих возникает вопрос: можно ли упаковать все циклы, с предусловием, постусловием, итератором для прохода по коллекции, – в один? Но я полагаю, что новички запоминают один подход к написанию циклов проще, чем несколько. На помощь приходит for для всех действий! И уже не нужно тратить время, чтобы думать над лишними ключевыми словами».

Для наглядности
Посмотрите, сколько раз выполнится тело этого цикла на языке C# или Java:
for (;;) {
}


Опытный разработчик ответит, что это бесконечный цикл. А новичок?
В Go ни
for {
}

ни
for ;; {

}

не скомпилируются.
Хочешь бесконечный цикл? Укажи это явно:

for true {

}


Простота Go в сравнении с большинством языков​


Большинство современных языков программирования построено на объектно-ориентированных принципах (ООП). Основная загвоздка в ООП – полиморфизм, причем как в реализации самого языка, так и в понимании. Чтобы упростить понимание и снизить количество ошибок, в разработке появились новые принципы, например, SOLID.

  • В Go отказались от ООП в его оригинальной трактовке, но тот же SOLID в нём реализовать можно. Получается, что все возможности по созданию сложных систем есть, а основной трудности ООП – нет!

В большинстве языков программирования проекты раскиданы по разным папкам: ваши, чужие, которые вы скачали и пакеты, от которых зависят проекты.

  • Go разрабатывался в парадигме применения системы контроля версий Git, поэтому папки хранятся в одном месте – в $GOPATH/src. Когда вы пишите код или загружаете чьё-то решение с GitHub-а, всё собирается во едино.


В большинстве языков стоит вопрос: как правильно форматировать код?
  • В Go такого вопроса нет. Команда go fmt используется разработчиками во всём мире. Код отформатирован одинаково и в учебном примере, и в интернете, что позволяет новичкам быстрее разбираться с задачами.

Никита Кузнецов: «Разработчики Go создали язык с компактным кодом, быстрой компиляцией, сборкой «мусора», поддержкой параллелизма, но, по моему мнению, у них ещё получился язык, который отлично подходит в качестве первого языка программирования.

 
Сверху