На сегодняшний день одной из главных трудностей для начинающего программиста является выбор языка программирования, с которого он бы мог начать изучение основ программирования. В школах чаще всего в качестве первого такого языка выступает язык Pascal, однако по сути данный язык является своего рода тренажером, отрабатывающим у учащихся понимание основ алгоритмизации. Однако более рациональным являлось бы изучение языка, который в последствии мог бы быть полезен, но при этом чтобы он был не столь сложен (как, например, C++ и C#), чтобы не отпугнуть программистов. Таким языком может являться компилируемый многопоточный язык Go (в более ранних версиях именуемый как Golang, сокращение от Go language). Разработка данного языка началась в 2007 году в компании Google, над его разработкой занимались такие профессионалы, как Роберт Гризмер, Роб Пайк и Кен Томпсон, и первый релиз состоялся уже в 2009 году. Данный язык разрабатывался как язык системного программирования для создания высокоэффективных программ, работающих на современных распределённых системах и многоядерных процессорах. При этом его можно рассматривать как попытку создать замену языку Си (о чем также свидетельствует схожесть синтаксиса). При разработке уделялось особое внимание обеспечению высокоэффективной компиляции [1].
По версии TIOBE (индекс, демонстрирующий популярность языков программирования) язык Go от Google признан самым популярным языком программирования в 2016 году. Как видно из рейтинга языков программирования за 2017/2016 годы язык программирования Go за 1 год смог совершить резкий скачок с 54 на 13 место, такого скачка не было замечено ни у одного другого языка программирования, это свидетельствует о том, что данный язык уже в то время обрел популярность и престижность. Причин этому достаточно много, но главные – это его простота, многопоточность и скорость компиляции. При этом данный язык не перестает развиваться. В января 2020г. язык Go поднялся с 16 на 14 место, о чем говорит свежий рейтинг языков программирования от по версии TIOBE [2]. Данный рейтинг представлен на рисунке 1.
Рисунок 1 – Рейтинг популярности языков программирования на 2020 год
В плане количества вакансий язык Go также имел резкий скачок на 161% в 2016 году, согласно исследованию сайта hh.ru [4], что также говорит о дальнейших перспективах и востребовательности данного языка на бирже труда.
Касаемо тех, кто уже использует данный язык в своих разработках, то нужно упомянуть в первую очередь такие OSS-компании, как Docker, CoreOS и Hashicorp, которые, используя Go как свой основной инструмент, осуществляют революции в разработке серверов. Помимо этого, Go всё чаще используется в разработке баз данных, поисковых движков, http-прокси или систем мониторинга. Также данным языком пользуются такие компании как Nokia, SoundCloud, Apple, Yandex, BitBucket и т.д. При этом для работы с данным языком имеется огромный перечень IDE: Atom, Sublime, Notepad++, Vim и т.д.
В итоге можно сказать об основных преимуществах языка Go: это простой язык, который легко изучить и читать, что делает написание кода приятным занятием; статически-типизированный, что позволяет избежать ошибок при написании кода; компилируется в машинный код, что способствует практически мгновенной компиляции; быстрый и масштабируемый; встроенная поддержка concurrency (посредством goroutines и channels); возможность писать в функциональном стиле, наличие замыканий (closures) и анонимных функций; возможность использования функций в качестве аргументов; имеется сборщик мусора; богатая стандартная библиотека, также есть возможность использования библиотек C++, C#; open-source и сильное сообщество (500+ контрибьюторов).
Заключение
Таким образом, можно сделать вывод, что такой малоизвестный в нашей стране язык программирования, как Go можно назвать одним из самых перспективных на данный момент языком программирования, обладающим невероятно большим потенциалам, что говорит о целесообразности изучения данного языка в учебных заведениях.
Библиографический список
- Mark Summerfield. Programming in Go Creating Applications for the 21st Century. Addison Wesley, 1 edition, 2012.
- TIOBE Index 2019. URL: https://www.tiobe.com/tiobe-index/ (дата обращения: 13.01.2020).
- HeadHunter [Электронный ресурс]: Самые востребованные языки программирования 2016. URL: https://habrahabr.ru/company/hh/blog/318450/ (дата обращения: 17.01.2020).