HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p><strong>Рассказываем, как Go или Golang постепенно захватывает мир, почему ему особо не нужны фреймворки и когда лучше и как учить Golang.</strong></p>
1 <p><strong>Рассказываем, как Go или Golang постепенно захватывает мир, почему ему особо не нужны фреймворки и когда лучше и как учить Golang.</strong></p>
2 <p>Go - молодой язык программирования с открытым исходным кодом и огромным комьюнити опытных разработчиков, которые его активно используют. Go создавался в качестве более эффективной, простой и доступной альтернативы другим языкам программирования внутри Google в 2007 году.</p>
2 <p>Go - молодой язык программирования с открытым исходным кодом и огромным комьюнити опытных разработчиков, которые его активно используют. Go создавался в качестве более эффективной, простой и доступной альтернативы другим языкам программирования внутри Google в 2007 году.</p>
3 <p>Тогда Гугл активно развивался, в том числе и увеличивалось количество кода, который используется для управления инфраструктурой. В итоге программ постоянно становилась медленнее, а поддерживать их было все сложнее и сложнее. Поэтому облачные инженеры в Google пришли к выводу, что им проще придумать новый язык программирования и перенести на него все легаси, чем постоянно оптимизировать весь код. Плюс это позволило бы иметь язык с производительностью как в С, но при этом на котором легко можно программировать.</p>
3 <p>Тогда Гугл активно развивался, в том числе и увеличивалось количество кода, который используется для управления инфраструктурой. В итоге программ постоянно становилась медленнее, а поддерживать их было все сложнее и сложнее. Поэтому облачные инженеры в Google пришли к выводу, что им проще придумать новый язык программирования и перенести на него все легаси, чем постоянно оптимизировать весь код. Плюс это позволило бы иметь язык с производительностью как в С, но при этом на котором легко можно программировать.</p>
4 <p>Один из создателей Golang Роб Пайк говорил, что он должен быть похож на С, C++ или Java - чтобы специалистам не пришлось сильно переучиваться. Но при этом он должен быть проще, быстрее и эффективнее - потому что сотрудники Google в первую очередь инженеры, а не ученые, которые могут тратить сотни часов на изучение технологии.</p>
4 <p>Один из создателей Golang Роб Пайк говорил, что он должен быть похож на С, C++ или Java - чтобы специалистам не пришлось сильно переучиваться. Но при этом он должен быть проще, быстрее и эффективнее - потому что сотрудники Google в первую очередь инженеры, а не ученые, которые могут тратить сотни часов на изучение технологии.</p>
5 <p>Go разрабатывался как опен-сорс проект и публично вышел в 2012 году. За 10 лет он стал одним из самых популярных языков программирования: в 2022 году он<a>находится</a>на шестом месте по популярности среди тех, которые используются на GitHub, обогнав PHP, C, C#, Ruby и Swift.</p>
5 <p>Go разрабатывался как опен-сорс проект и публично вышел в 2012 году. За 10 лет он стал одним из самых популярных языков программирования: в 2022 году он<a>находится</a>на шестом месте по популярности среди тех, которые используются на GitHub, обогнав PHP, C, C#, Ruby и Swift.</p>
6 <h2>Содержание</h2>
6 <h2>Содержание</h2>
7 <ul><li><a>Где используется Go (Golang)</a></li>
7 <ul><li><a>Где используется Go (Golang)</a></li>
8 <li><a>Почему разработчики любят Go</a></li>
8 <li><a>Почему разработчики любят Go</a></li>
9 <li><a>"Go - идеальное карьерное развитие для PHP-разработчиков": преподаватель Хекслета Влад Гукасов - про Go-разработчиков</a></li>
9 <li><a>"Go - идеальное карьерное развитие для PHP-разработчиков": преподаватель Хекслета Влад Гукасов - про Go-разработчиков</a></li>
10 </ul><h2>Где используется Go (Golang)</h2>
10 </ul><h2>Где используется Go (Golang)</h2>
11 <p>Изначально Go создавался для программ, связанных с сетями и инфраструктурой, в качестве замены популярных высокопроизводительных серверных языков, таких как Java и C++. Сегодня же Go используется в бэкенде для огромного количества различных направлений разработки:</p>
11 <p>Изначально Go создавался для программ, связанных с сетями и инфраструктурой, в качестве замены популярных высокопроизводительных серверных языков, таких как Java и C++. Сегодня же Go используется в бэкенде для огромного количества различных направлений разработки:</p>
12 <ul><li>Облачные и серверные приложения, веб-сервисы</li>
12 <ul><li>Облачные и серверные приложения, веб-сервисы</li>
13 <li>DevOps и автоматизация процессов</li>
13 <li>DevOps и автоматизация процессов</li>
14 <li>Приложения для взаимодействия с командной строкой</li>
14 <li>Приложения для взаимодействия с командной строкой</li>
15 <li>Искусственный интеллект и Big Data</li>
15 <li>Искусственный интеллект и Big Data</li>
16 <li>Разработка микроконтроллеров и робототехники.</li>
16 <li>Разработка микроконтроллеров и робототехники.</li>
17 </ul><p>Однако лучше всего Go раскрывается как язык программирования для взаимодействия с инфраструктурой. Самые популярные инструменты в этой области написаны именно на Golang - Kubernetes, Docker и Prometheus.</p>
17 </ul><p>Однако лучше всего Go раскрывается как язык программирования для взаимодействия с инфраструктурой. Самые популярные инструменты в этой области написаны именно на Golang - Kubernetes, Docker и Prometheus.</p>
18 <h2>Почему разработчики любят Go</h2>
18 <h2>Почему разработчики любят Go</h2>
19 <p><strong>Простота</strong></p>
19 <p><strong>Простота</strong></p>
20 <p>Go прост в изучении и в понимании основных концепций. Есть популярная байка, что всю спецификацию и документацию Golang можно без проблем прочитать за полдня. Те, кто выбирают Go в качестве второго языка, подтверждают, что его правда освоить легче, чем другие технологии.</p>
20 <p>Go прост в изучении и в понимании основных концепций. Есть популярная байка, что всю спецификацию и документацию Golang можно без проблем прочитать за полдня. Те, кто выбирают Go в качестве второго языка, подтверждают, что его правда освоить легче, чем другие технологии.</p>
21 <p><strong>Высокопроизводительные приложения</strong></p>
21 <p><strong>Высокопроизводительные приложения</strong></p>
22 <p>Go очень производителен: на нем просто писать высокопроизводительные приложения. Он был разработан для автоматизации процессов в больших масштабах, поэтому с ним можно создавать системы с высокой производительностью и нагрузкой.</p>
22 <p>Go очень производителен: на нем просто писать высокопроизводительные приложения. Он был разработан для автоматизации процессов в больших масштабах, поэтому с ним можно создавать системы с высокой производительностью и нагрузкой.</p>
23 <p>Кроме того, Go отлично взаимодействует с инфраструктурой и облачными платформами. Его используют как основу Amazon Web Services, Microsoft Azure и Google Cloud Platform (GCP).</p>
23 <p>Кроме того, Go отлично взаимодействует с инфраструктурой и облачными платформами. Его используют как основу Amazon Web Services, Microsoft Azure и Google Cloud Platform (GCP).</p>
24 <p><strong>Комьюнити и зарплаты</strong></p>
24 <p><strong>Комьюнити и зарплаты</strong></p>
25 <p>У Go очень живое и активное сообщество, так как это опен-сорс проект. Они самостоятельно контрибьютят его, создают новые модули и библиотеки, а также помогают изучать его новичкам. Несмотря на опен-сорс историю, Go активно поддерживается Google, поэтому он быстро развивается и активно меняется.</p>
25 <p>У Go очень живое и активное сообщество, так как это опен-сорс проект. Они самостоятельно контрибьютят его, создают новые модули и библиотеки, а также помогают изучать его новичкам. Несмотря на опен-сорс историю, Go активно поддерживается Google, поэтому он быстро развивается и активно меняется.</p>
26 <p>Про зарплаты: у Go-разработчиков вторая на IT-рынке зарплата в США, она превышает $140 тыс. в год. Однако стоит отметить, что такой перекос в зарплатах у специалистов на американском рынке может быть связан с тем, что большинство из них работают в Google, где традиционно разработчики получали большую зарплату.</p>
26 <p>Про зарплаты: у Go-разработчиков вторая на IT-рынке зарплата в США, она превышает $140 тыс. в год. Однако стоит отметить, что такой перекос в зарплатах у специалистов на американском рынке может быть связан с тем, что большинство из них работают в Google, где традиционно разработчики получали большую зарплату.</p>
27 <p>По результатам опроса сервиса Stack Overflow за 2021 год, Go разработчики<a>зарабатывают</a>за год в среднем в мире $75 тыс. в год - это делает язык восьмым по прибыльности из всех существующих. Это больше, чем Пайтон-разработчики ($59 тыс. в год), JS-разработчики ($54 тыс. в год), Ява-разработчики ($51 тыс. в год) и PHP-разработчикам ($38 тыс. в год). Вероятно, такая зарплата связана с опытом Go-разработчиков, в него редко идут джуниорами и практически не учат в качестве первого языка программирования.</p>
27 <p>По результатам опроса сервиса Stack Overflow за 2021 год, Go разработчики<a>зарабатывают</a>за год в среднем в мире $75 тыс. в год - это делает язык восьмым по прибыльности из всех существующих. Это больше, чем Пайтон-разработчики ($59 тыс. в год), JS-разработчики ($54 тыс. в год), Ява-разработчики ($51 тыс. в год) и PHP-разработчикам ($38 тыс. в год). Вероятно, такая зарплата связана с опытом Go-разработчиков, в него редко идут джуниорами и практически не учат в качестве первого языка программирования.</p>
28 <p>На сайте HeadHunter на конец лета 2022 года было 2 641 вакансия с упоминанием языка программирования Go. Зарплаты начинаются от 80 тыс. рублей, при этом есть 40 вакансий, по которым платят более 600 тыс. рублей в месяц.</p>
28 <p>На сайте HeadHunter на конец лета 2022 года было 2 641 вакансия с упоминанием языка программирования Go. Зарплаты начинаются от 80 тыс. рублей, при этом есть 40 вакансий, по которым платят более 600 тыс. рублей в месяц.</p>
29 <p>В вакансиях в связке с Go часто требуются технологии:</p>
29 <p>В вакансиях в связке с Go часто требуются технологии:</p>
30 <ol><li>Docker</li>
30 <ol><li>Docker</li>
31 <li>Postgres</li>
31 <li>Postgres</li>
32 <li>Kubernetes</li>
32 <li>Kubernetes</li>
33 <li>gRPC</li>
33 <li>gRPC</li>
34 <li>Git</li>
34 <li>Git</li>
35 <li>Rest API</li>
35 <li>Rest API</li>
36 <li>Python</li>
36 <li>Python</li>
37 <li>PHP</li>
37 <li>PHP</li>
38 </ol><h2>"Go - идеальное карьерное развитие для PHP-разработчиков": преподаватель Хекслета Влад Гукасов - про Go-разработчиков</h2>
38 </ol><h2>"Go - идеальное карьерное развитие для PHP-разработчиков": преподаватель Хекслета Влад Гукасов - про Go-разработчиков</h2>
39 <p><strong>Преподаватель Хекслета Go Влад Гукасов рассказывает, зачем PHP-разработчики переходят на Go, почему языку практически не нужны фреймворки и какие у Go есть уникальные IT-концепции.</strong></p>
39 <p><strong>Преподаватель Хекслета Go Влад Гукасов рассказывает, зачем PHP-разработчики переходят на Go, почему языку практически не нужны фреймворки и какие у Go есть уникальные IT-концепции.</strong></p>
40 <p>Меня зовут Влад Гукасов, я работаю бэкендером в международной финтех-компании Space307. Основной язык на бэкенде в нашей организации - Go.</p>
40 <p>Меня зовут Влад Гукасов, я работаю бэкендером в международной финтех-компании Space307. Основной язык на бэкенде в нашей организации - Go.</p>
41 <p>До этого я писал на PHP, но в определенный момент появилась задача, где идеально подходил именно Go. Мы реализовывали сервис для веб-сокетов - это микросервис, поэтому PHP для этой задачи плохо подходит, зато Golang - отлично. Так я познакомился с Go, делал рабочие фичи и параллельно проходил курсы на разных платформах. Потом я поменял работу, и новую искал уже с упором на Go - теперь я поддерживаю легаси на PHP, и пишу новый код на Golang.</p>
41 <p>До этого я писал на PHP, но в определенный момент появилась задача, где идеально подходил именно Go. Мы реализовывали сервис для веб-сокетов - это микросервис, поэтому PHP для этой задачи плохо подходит, зато Golang - отлично. Так я познакомился с Go, делал рабочие фичи и параллельно проходил курсы на разных платформах. Потом я поменял работу, и новую искал уже с упором на Go - теперь я поддерживаю легаси на PHP, и пишу новый код на Golang.</p>
42 <p>Вообще, Go - идеальное карьерное продолжение для PHP-разработчика. Многие разработчики используют эти два языка в синергии, потому что все большие старые проекты в России написаны на PHP - "ВКонтакте", "Авито", у<a></a>VK много проектов на нем. Но нагрузка постепенно растет, спектр задач расширяется, поэтому компании переходят на более эффективные и современные технологии.</p>
42 <p>Вообще, Go - идеальное карьерное продолжение для PHP-разработчика. Многие разработчики используют эти два языка в синергии, потому что все большие старые проекты в России написаны на PHP - "ВКонтакте", "Авито", у<a></a>VK много проектов на нем. Но нагрузка постепенно растет, спектр задач расширяется, поэтому компании переходят на более эффективные и современные технологии.</p>
43 <p>Go для таких проектов идеально подходит - его легко изучить, у него огромный перформанс, он хорошо сочетается с железом серверов. Поэтому большинство крупных корпораций пишут новые сервисы именно на нем, и нанимают бэкендеров в основном со стеком PHP/Go или Python/Go.</p>
43 <p>Go для таких проектов идеально подходит - его легко изучить, у него огромный перформанс, он хорошо сочетается с железом серверов. Поэтому большинство крупных корпораций пишут новые сервисы именно на нем, и нанимают бэкендеров в основном со стеком PHP/Go или Python/Go.</p>
44 <h3>Плюсы Go</h3>
44 <h3>Плюсы Go</h3>
45 <p>По синтаксису Go входит в C-подобную группу, как и многие другие языки программирования, поэтому на него легко перейти и ему легко обучиться. То есть разработчик всю жизнь писал на PHP, а потом просто взял и перешел на Go. И начал писать код в тысячи раз производительнее предыдущего. Это самый главный плюс.</p>
45 <p>По синтаксису Go входит в C-подобную группу, как и многие другие языки программирования, поэтому на него легко перейти и ему легко обучиться. То есть разработчик всю жизнь писал на PHP, а потом просто взял и перешел на Go. И начал писать код в тысячи раз производительнее предыдущего. Это самый главный плюс.</p>
46 <p>Второй большой плюс: Go отлично подходит для микросервисов. Go - компилируемый язык, но сам процесс компиляции занимает у него меньше секунды. То есть даже большие проекты собираются в считанные секунды - для компилированных языков это очень хорошая скорость.</p>
46 <p>Второй большой плюс: Go отлично подходит для микросервисов. Go - компилируемый язык, но сам процесс компиляции занимает у него меньше секунды. То есть даже большие проекты собираются в считанные секунды - для компилированных языков это очень хорошая скорость.</p>
47 <p>Третий плюс: весь проект и вся кодовая база собирается в один бинарный файл. Это значит, что можно писать один код, который потом легко компилировать под любую платформу и архитектуру процессора - под Windows или Linux. Этим часто пользуются в DevOps, когда надо написать скрипты и скомпилировать их под каждое железо. И делается это просто одной строкой.</p>
47 <p>Третий плюс: весь проект и вся кодовая база собирается в один бинарный файл. Это значит, что можно писать один код, который потом легко компилировать под любую платформу и архитектуру процессора - под Windows или Linux. Этим часто пользуются в DevOps, когда надо написать скрипты и скомпилировать их под каждое железо. И делается это просто одной строкой.</p>
48 <p>Go изначально был спроектирован для больших нагрузок - под ней в данном случае подразумевается количество выполняемых параллельных задач. Чтобы программа работала параллельно, нужно писать асинхронный код, который будет в один момент времени выполнять несколько действий. В Go для этого реализована концепция Green Threads в виде горутин. И так получилось, что писать асинхронный код в Go несложно, при этом он достаточно производительный, максимально утилизирует все ресурсы железа, в том числе ядра процессора.</p>
48 <p>Go изначально был спроектирован для больших нагрузок - под ней в данном случае подразумевается количество выполняемых параллельных задач. Чтобы программа работала параллельно, нужно писать асинхронный код, который будет в один момент времени выполнять несколько действий. В Go для этого реализована концепция Green Threads в виде горутин. И так получилось, что писать асинхронный код в Go несложно, при этом он достаточно производительный, максимально утилизирует все ресурсы железа, в том числе ядра процессора.</p>
49 <h3>Go как второй язык</h3>
49 <h3>Go как второй язык</h3>
50 <p>Я знаю людей, которые начинали свой путь в программировании с Go - и с этим нет проблем, в нем используются те же самые концепции, что и в других языках разработки. И скорее всего, джуниор Go-разработчик сразу попадет в компанию с высокой инженерной культурой, где его будут развивать и где он сможет быстро учиться.</p>
50 <p>Я знаю людей, которые начинали свой путь в программировании с Go - и с этим нет проблем, в нем используются те же самые концепции, что и в других языках разработки. И скорее всего, джуниор Go-разработчик сразу попадет в компанию с высокой инженерной культурой, где его будут развивать и где он сможет быстро учиться.</p>
51 <p>Чаще всего Go используют в качестве второго языка разработки. Поэтому люди, которые с ним работают, сразу видят его простоту и логичность. Например, по сравнению с Node.JS в Go весь код по умолчанию синхронен, пока ты сам не скажешь, что нужно делать по-другому. Еще в Go сложно выстрелить себе в ногу и наделать ошибок, связанных с типами данных: потому что язык не динамический, а компилируемый со статической типизацией.</p>
51 <p>Чаще всего Go используют в качестве второго языка разработки. Поэтому люди, которые с ним работают, сразу видят его простоту и логичность. Например, по сравнению с Node.JS в Go весь код по умолчанию синхронен, пока ты сам не скажешь, что нужно делать по-другому. Еще в Go сложно выстрелить себе в ногу и наделать ошибок, связанных с типами данных: потому что язык не динамический, а компилируемый со статической типизацией.</p>
52 <h3>Почему в Go не нужны фреймворки</h3>
52 <h3>Почему в Go не нужны фреймворки</h3>
53 <p>Фреймворки в Go есть. Но идея языка в том, что они практически не используются, потому что готовая стандартная библиотека предоставляет все основное для разработки.</p>
53 <p>Фреймворки в Go есть. Но идея языка в том, что они практически не используются, потому что готовая стандартная библиотека предоставляет все основное для разработки.</p>
54 <p>Допустим, разработчику нужно сделать обычный бэкенд веб-сервер, который будет обрабатывать какие-то самые простые запросы. На Ruby on Rails или PHP мы для этого используем фреймворк (в PHP сначала надо поднять Nginx - прокси, потому что PHP не может самостоятельно обрабатывать запрос).</p>
54 <p>Допустим, разработчику нужно сделать обычный бэкенд веб-сервер, который будет обрабатывать какие-то самые простые запросы. На Ruby on Rails или PHP мы для этого используем фреймворк (в PHP сначала надо поднять Nginx - прокси, потому что PHP не может самостоятельно обрабатывать запрос).</p>
55 <p>На Go это выглядит так: программисту нужно написать код, в котором использует стандартную и встроенную библиотеку HTTP. Говорит - подними мне сервер на такой-то порт и обрабатывай каждый запрос так и так. Потом Go автоматически компилирует бинарник, который запускается на сервере, где обрабатывает запросы. То есть никакого дополнительного фреймворка не надо: он сам как большой фреймворк - очень просто собрать все, что нужно.</p>
55 <p>На Go это выглядит так: программисту нужно написать код, в котором использует стандартную и встроенную библиотеку HTTP. Говорит - подними мне сервер на такой-то порт и обрабатывай каждый запрос так и так. Потом Go автоматически компилирует бинарник, который запускается на сервере, где обрабатывает запросы. То есть никакого дополнительного фреймворка не надо: он сам как большой фреймворк - очень просто собрать все, что нужно.</p>
56 <p>Вообще, во фреймворках основной плюс в том, что в них автоматически все работает из коробки. В Go все нужные функции собираются отдельными пакетами: например, для работы с базой нужно выбрать, с какой именно базой будет работать программист, подключить ее и руками автоматизировать. Все процессы делаются явно, и специалист не дистанцируется от того, что происходит внутри капота. То есть Go очень удобен, но какие-то его части устроены достаточно низкоуровнево.</p>
56 <p>Вообще, во фреймворках основной плюс в том, что в них автоматически все работает из коробки. В Go все нужные функции собираются отдельными пакетами: например, для работы с базой нужно выбрать, с какой именно базой будет работать программист, подключить ее и руками автоматизировать. Все процессы делаются явно, и специалист не дистанцируется от того, что происходит внутри капота. То есть Go очень удобен, но какие-то его части устроены достаточно низкоуровнево.</p>