HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>20 окт 2021</li>
2 <ul><li>20 окт 2021</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>Почему кодить на Go намного быстрее, чем на PHP или C#, стоит ли с него начинать и почему это следующая ступень развития PHP-разработчика.</p>
4 </ul><p>Почему кодить на Go намного быстрее, чем на PHP или C#, стоит ли с него начинать и почему это следующая ступень развития PHP-разработчика.</p>
5 <p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
5 <p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
6 <p>Сергей Пешалов</p>
6 <p>Сергей Пешалов</p>
7 <p><strong>об эксперте</strong></p>
7 <p><strong>об эксперте</strong></p>
8 <p>Senior-фулстек-разработчик, в основном пишет на PHP, но для личных проектов использует Go. Последние четыре года живёт в Краснодаре и работает удалённо.</p>
8 <p>Senior-фулстек-разработчик, в основном пишет на PHP, но для личных проектов использует Go. Последние четыре года живёт в Краснодаре и работает удалённо.</p>
9 <p>Go - молодой язык программирования, который разработали в Google. Чаще всего на нём делают бэкенд. Go почти такой же производительный, как C, но его простой синтаксис помогает писать код намного быстрее.</p>
9 <p>Go - молодой язык программирования, который разработали в Google. Чаще всего на нём делают бэкенд. Go почти такой же производительный, как C, но его простой синтаксис помогает писать код намного быстрее.</p>
10 <p>Мне нравится, что Go похож на PHP, но при этом в нём есть защита от дурака, работа с сокетами и многопоточностью. Я бы не стал писать на Go большой корпоративный монолит, но он хорошо подходит для моих проектов.</p>
10 <p>Мне нравится, что Go похож на PHP, но при этом в нём есть защита от дурака, работа с сокетами и многопоточностью. Я бы не стал писать на Go большой корпоративный монолит, но он хорошо подходит для моих проектов.</p>
11 <p>Go - не первый мой язык программирования. В школе я учил Perl, в университете - Delphi и Pascal, потом заинтересовался вебом и перешёл на PHP. После учёбы кодил на JavaScript, немного на Java и Scala. Сейчас я Senior-фулстек-разработчик и пишу на PHP.</p>
11 <p>Go - не первый мой язык программирования. В школе я учил Perl, в университете - Delphi и Pascal, потом заинтересовался вебом и перешёл на PHP. После учёбы кодил на JavaScript, немного на Java и Scala. Сейчас я Senior-фулстек-разработчик и пишу на PHP.</p>
12 <p>Про Go я узнал на одной из конференций по PHP. Там обсуждали, что в PHP нет асинхронности и многопоточности: чтобы решить специфическую проблему, нужны библиотеки или сторонние инструменты. Один из спикеров посоветовал: "Если на PHP что-то сделать не получается, возьмите Go".</p>
12 <p>Про Go я узнал на одной из конференций по PHP. Там обсуждали, что в PHP нет асинхронности и многопоточности: чтобы решить специфическую проблему, нужны библиотеки или сторонние инструменты. Один из спикеров посоветовал: "Если на PHP что-то сделать не получается, возьмите Go".</p>
13 <p>Я попробовал Go, мне понравилось, стал изучать его глубже. Сначала рассматривал Go как инструмент, который закрывает ряд пробелов PHP - например, работу с сокетами и многопоточностью, - потому что Go умеет всё это "из коробки".</p>
13 <p>Я попробовал Go, мне понравилось, стал изучать его глубже. Сначала рассматривал Go как инструмент, который закрывает ряд пробелов PHP - например, работу с сокетами и многопоточностью, - потому что Go умеет всё это "из коробки".</p>
14 <p>Освоить язык было несложно. Когда у тебя есть опыт в программировании, новые технологии учишь быстро. Первые языки я осваивал ещё по учебникам и англоязычным книгам, поэтому сейчас для меня разобраться с чем-то новым гораздо проще - всё хорошо задокументировано. На сайте Go есть<a>небольшой курс</a> - после него можно спокойно писать микросервисы.</p>
14 <p>Освоить язык было несложно. Когда у тебя есть опыт в программировании, новые технологии учишь быстро. Первые языки я осваивал ещё по учебникам и англоязычным книгам, поэтому сейчас для меня разобраться с чем-то новым гораздо проще - всё хорошо задокументировано. На сайте Go есть<a>небольшой курс</a> - после него можно спокойно писать микросервисы.</p>
15 <p>Мне нравится, что в Go всё просто и быстро, а в коде трудно сделать ошибки. Вот основные преимущества Go:</p>
15 <p>Мне нравится, что в Go всё просто и быстро, а в коде трудно сделать ошибки. Вот основные преимущества Go:</p>
16 <p><strong>Лаконичный синтаксис.</strong>Для одной и той же задачи код на Go будет короче, чем на PHP. Многие вещи делаются элементарно. Например, не надо указывать, публичный метод или приватный: если он назван с прописной буквы, то публичный, если с маленькой - приватный. И таких удобных моментов довольно много.</p>
16 <p><strong>Лаконичный синтаксис.</strong>Для одной и той же задачи код на Go будет короче, чем на PHP. Многие вещи делаются элементарно. Например, не надо указывать, публичный метод или приватный: если он назван с прописной буквы, то публичный, если с маленькой - приватный. И таких удобных моментов довольно много.</p>
17 <p>Поднять сервер на Go совсем просто - в две команды заставляем язык слушать нужный порт, затем берём метод main и внутри разворачиваем третью команду.</p>
17 <p>Поднять сервер на Go совсем просто - в две команды заставляем язык слушать нужный порт, затем берём метод main и внутри разворачиваем третью команду.</p>
18 <p><strong>Защита от дурака.</strong>Go задуман так, что программисту трудно выстрелить себе в ногу - этого не даст сделать компилятор. В отличие от С-подобных языков, здесь компилятор сам управляет памятью, потоками и блокировками. Обычно вам не нужно ни о чём думать.</p>
18 <p><strong>Защита от дурака.</strong>Go задуман так, что программисту трудно выстрелить себе в ногу - этого не даст сделать компилятор. В отличие от С-подобных языков, здесь компилятор сам управляет памятью, потоками и блокировками. Обычно вам не нужно ни о чём думать.</p>
19 <p>GoLand, которая стоит у меня, автоматически проверяет код - если там есть неиспользуемые переменные, она предупреждает: "Удали этот мусор".</p>
19 <p>GoLand, которая стоит у меня, автоматически проверяет код - если там есть неиспользуемые переменные, она предупреждает: "Удали этот мусор".</p>
20 <p>Из-за С-подобного синтаксиса Go напоминает PHP, поэтому код довольно удобно читать. Если раньше вы писали только на PHP, то сможете прочитать код на Go. Зато после PHP те же Scala и Ruby похожи на Python. Смотришь и думаешь: "Блин, что это такое? Дайте мне лучше Java".</p>
20 <p>Из-за С-подобного синтаксиса Go напоминает PHP, поэтому код довольно удобно читать. Если раньше вы писали только на PHP, то сможете прочитать код на Go. Зато после PHP те же Scala и Ruby похожи на Python. Смотришь и думаешь: "Блин, что это такое? Дайте мне лучше Java".</p>
21 <p>Одним из прямых конкурентов Go я считаю Node.js, потому что это лёгкий и быстрый фреймворк и на нём собирают те же веб-сервисы. Go занимает ниши и других языков. Например, зачем долго писать проект на Java, когда проще всё сделать на Go? Но для большого корпоративного монолита я бы предпочёл взять Java.</p>
21 <p>Одним из прямых конкурентов Go я считаю Node.js, потому что это лёгкий и быстрый фреймворк и на нём собирают те же веб-сервисы. Go занимает ниши и других языков. Например, зачем долго писать проект на Java, когда проще всё сделать на Go? Но для большого корпоративного монолита я бы предпочёл взять Java.</p>
22 <p>Go - своеобразный язык. Учить его после других языков программирования очень просто, но для старта он подойдёт не всем.</p>
22 <p>Go - своеобразный язык. Учить его после других языков программирования очень просто, но для старта он подойдёт не всем.</p>
23 <p>Если вы планируете работать в классическом ООП, то после Go придётся переучиваться. В языке есть структура и модули, но в нём нельзя создавать классы или использовать наследование. Если эти возможности вам нужны, тогда для старта больше подойдёт PHP - у него С-подобный синтаксис и есть типизация. В языке легко разобраться, и уровень вхождения у него точно ниже, чем у Java.</p>
23 <p>Если вы планируете работать в классическом ООП, то после Go придётся переучиваться. В языке есть структура и модули, но в нём нельзя создавать классы или использовать наследование. Если эти возможности вам нужны, тогда для старта больше подойдёт PHP - у него С-подобный синтаксис и есть типизация. В языке легко разобраться, и уровень вхождения у него точно ниже, чем у Java.</p>
24 <p>Go - хороший выбор, если хочется быстро начать и не заморачиваться с ООП. Чтобы выучить C# или С++, нужно долго сидеть и набивать шишки, но в Go хватит короткого курса.</p>
24 <p>Go - хороший выбор, если хочется быстро начать и не заморачиваться с ООП. Чтобы выучить C# или С++, нужно долго сидеть и набивать шишки, но в Go хватит короткого курса.</p>
25 <p>Я не могу дать универсальный совет вроде: "Сначала учите PHP, а потом - Go". Нужно понять, что вы хотите писать, сравнить цены на курсы, узнать зарплаты в своём регионе. Так вы легко выберете язык. Если собираетесь делать приложения на iOS, лучше сразу учить Swift.</p>
25 <p>Я не могу дать универсальный совет вроде: "Сначала учите PHP, а потом - Go". Нужно понять, что вы хотите писать, сравнить цены на курсы, узнать зарплаты в своём регионе. Так вы легко выберете язык. Если собираетесь делать приложения на iOS, лучше сразу учить Swift.</p>
26 <p>Неважно, какой язык вы решите выбрать как первый. Если хорошо в нём разобраться и год поработать на проекте, вы легко выучите другой. Хуже, когда люди решают стать программистами и сразу покупают курс за 100 тысяч рублей. В учебнике за тысячу рублей будет то же, вопрос только в самомотивации.</p>
26 <p>Неважно, какой язык вы решите выбрать как первый. Если хорошо в нём разобраться и год поработать на проекте, вы легко выучите другой. Хуже, когда люди решают стать программистами и сразу покупают курс за 100 тысяч рублей. В учебнике за тысячу рублей будет то же, вопрос только в самомотивации.</p>
27 <p>Иногда о Go плохо отзываются те, кто пишет на C#, C++ или Rust, - мол, любое приложение на Go стрёмное и кривое. Я не согласен, потому что это вкусовщина: одним язык нравится, другим нет. Кто-то из хейтеров вообще просто завидует, ведь на C# он будет писать проект неделю, а на Go всё делается намного быстрее.</p>
27 <p>Иногда о Go плохо отзываются те, кто пишет на C#, C++ или Rust, - мол, любое приложение на Go стрёмное и кривое. Я не согласен, потому что это вкусовщина: одним язык нравится, другим нет. Кто-то из хейтеров вообще просто завидует, ведь на C# он будет писать проект неделю, а на Go всё делается намного быстрее.</p>
28 <p>Мне очень нравится Go. И, хотя на работе мне приходится писать только на PHP и взаимодействовать с базами данных (ClickHouse и MySQL), на Go я собираю небольшие сервисы. После PHP язык Go понравится многим - и, на мой взгляд, это одна из ступеней развития PHP-разработчика.</p>
28 <p>Мне очень нравится Go. И, хотя на работе мне приходится писать только на PHP и взаимодействовать с базами данных (ClickHouse и MySQL), на Go я собираю небольшие сервисы. После PHP язык Go понравится многим - и, на мой взгляд, это одна из ступеней развития PHP-разработчика.</p>
29 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
29 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>