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>6 сен 2022</li>
2
<ul><li>6 сен 2022</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Программист-полиглот рассказал, почему Python стоит учить даже раньше популярного среди "вайтишников" JavaScript и какие у языка перспективы.</p>
4
</ul><p>Программист-полиглот рассказал, почему Python стоит учить даже раньше популярного среди "вайтишников" JavaScript и какие у языка перспективы.</p>
5
<p>Иллюстрация: Оля Ежак для Skillbox Media</p>
5
<p>Иллюстрация: Оля Ежак для Skillbox Media</p>
6
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
6
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
7
<p>Пишет на Perl, Python, Golang. Делает курс по Python в<a>LoftSchool</a>.</p>
7
<p>Пишет на Perl, Python, Golang. Делает курс по Python в<a>LoftSchool</a>.</p>
8
<p>Когда меня спрашивают, какой язык программирования лучше изучать начинающим бэкенд-разработчикам, я не задумываясь отвечаю - Python. Я уверен, что Python подходит фронтенд-разработчикам как второй язык, а начинающим бэкенд-разработчикам как первый. Попробую объяснить, что стоит за моей уверенностью, - для этого я сравнил Python, JavaScript и несколько других популярных языков для бэкенд-разработки: изучил сайты с рейтингами языков программирования и вакансиями.</p>
8
<p>Когда меня спрашивают, какой язык программирования лучше изучать начинающим бэкенд-разработчикам, я не задумываясь отвечаю - Python. Я уверен, что Python подходит фронтенд-разработчикам как второй язык, а начинающим бэкенд-разработчикам как первый. Попробую объяснить, что стоит за моей уверенностью, - для этого я сравнил Python, JavaScript и несколько других популярных языков для бэкенд-разработки: изучил сайты с рейтингами языков программирования и вакансиями.</p>
9
<p>Как для новичка, так и для опытного разработчика важен порог входа в технологию, скорость её изучения, её популярность, сложность поиска первой работы, зарплата на старте и перспективы развития.</p>
9
<p>Как для новичка, так и для опытного разработчика важен порог входа в технологию, скорость её изучения, её популярность, сложность поиска первой работы, зарплата на старте и перспективы развития.</p>
10
<p>Для уже опытного разработчика второй язык важен ещё и как способ расширить границы понимания разрабатываемых систем и получить новый опыт. Интересный факт: на IT-рынке США разработчик со знанием двух популярных языков зарабатывает в среднем на 50% больше своего "одноязычного" коллеги - при условии, что соответствует вакансии, где требуется кодить именно на двух языках.</p>
10
<p>Для уже опытного разработчика второй язык важен ещё и как способ расширить границы понимания разрабатываемых систем и получить новый опыт. Интересный факт: на IT-рынке США разработчик со знанием двух популярных языков зарабатывает в среднем на 50% больше своего "одноязычного" коллеги - при условии, что соответствует вакансии, где требуется кодить именно на двух языках.</p>
11
<p>Ниже - таблица с результатом анализа количества соискателей, упоминавших конкретный язык в резюме, и количеством вакансий с упоминанием этого языка (я брал вакансии во фронтенде и бэкенде).</p>
11
<p>Ниже - таблица с результатом анализа количества соискателей, упоминавших конкретный язык в резюме, и количеством вакансий с упоминанием этого языка (я брал вакансии во фронтенде и бэкенде).</p>
12
<em>Изображение: Skillbox Media</em><p>Подсчёты, конечно, не суперточные, но они помогают оценить спрос и предложение на рынке. Важно отметить, что средняя указанная зарплата разработчиков на Golang примерно в 1,5 раза выше, чем у кодеров на других языках.</p>
12
<em>Изображение: Skillbox Media</em><p>Подсчёты, конечно, не суперточные, но они помогают оценить спрос и предложение на рынке. Важно отметить, что средняя указанная зарплата разработчиков на Golang примерно в 1,5 раза выше, чем у кодеров на других языках.</p>
13
<p>Из таблицы видно, что Python - довольно востребованный язык, а конкуренция среди кандидатов относительно невысокая. Хотя знание Go или TypeScript позволяет устроиться на работу с большей вероятностью.</p>
13
<p>Из таблицы видно, что Python - довольно востребованный язык, а конкуренция среди кандидатов относительно невысокая. Хотя знание Go или TypeScript позволяет устроиться на работу с большей вероятностью.</p>
14
<p>Для сравнения трендов в области языков программирования я решил воспользоваться<a>Google Trends</a>, инструментом, основанным на статистике поисковых запросов в Google. Он помогает оценить динамику поиска конкретных языков в интернете - то есть общую популярность и востребованность. Из-за ограничений сервиса пришлось разбить график на два изображения.</p>
14
<p>Для сравнения трендов в области языков программирования я решил воспользоваться<a>Google Trends</a>, инструментом, основанным на статистике поисковых запросов в Google. Он помогает оценить динамику поиска конкретных языков в интернете - то есть общую популярность и востребованность. Из-за ограничений сервиса пришлось разбить график на два изображения.</p>
15
Популярность языков программирования по данным<a>Google Trends</a><em>Скриншот: Skillbox Media</em>Популярность языков программирования по данным<a>Google Trends</a><em>Скриншот: Skillbox Media</em><p>На графике видно, что позиции языка Python укрепились. Прорисовывается спад интереса к Java и PHP. Языки C# и C++ тоже немного теряют в популярности - хотя они всё равно востребованы при решении сложных задач. Из интересного - рост внимания к Golang.</p>
15
Популярность языков программирования по данным<a>Google Trends</a><em>Скриншот: Skillbox Media</em>Популярность языков программирования по данным<a>Google Trends</a><em>Скриншот: Skillbox Media</em><p>На графике видно, что позиции языка Python укрепились. Прорисовывается спад интереса к Java и PHP. Языки C# и C++ тоже немного теряют в популярности - хотя они всё равно востребованы при решении сложных задач. Из интересного - рост внимания к Golang.</p>
16
<p>После этого я изучил специализированные рейтинги популярности языков программирования - в частности, TIOBE и IEEE Spectrum. Последний при расчёте популярности использует в качестве источников данных CareerBuilder, GitHub, Google, Hacker News, The IEEE, Reddit, Stack Overflow и Twitter.</p>
16
<p>После этого я изучил специализированные рейтинги популярности языков программирования - в частности, TIOBE и IEEE Spectrum. Последний при расчёте популярности использует в качестве источников данных CareerBuilder, GitHub, Google, Hacker News, The IEEE, Reddit, Stack Overflow и Twitter.</p>
17
<p>Согласно<a>TIOBE</a>, Python в 2022 году вырвался на первую позицию рейтинга и стремительно растёт, обгоняя по скорости роста все остальные языки программирования.</p>
17
<p>Согласно<a>TIOBE</a>, Python в 2022 году вырвался на первую позицию рейтинга и стремительно растёт, обгоняя по скорости роста все остальные языки программирования.</p>
18
Рейтинг популярности языков программирования<a>TIOBE</a><em>Скриншот: Skillbox Media</em><p>В<a>рейтинге IEEE Spectrum</a>также лидирует Python.</p>
18
Рейтинг популярности языков программирования<a>TIOBE</a><em>Скриншот: Skillbox Media</em><p>В<a>рейтинге IEEE Spectrum</a>также лидирует Python.</p>
19
Рейтинг популярности языков программирования<a>IEEE Spectrum</a><em>Скриншот: Skillbox Media</em><p>Ещё один важный для фронтенд-разработчика критерий при выборе второго языка - удобство создания динамических заглушек бэкенда. Мои коллеги часто использовали для этого либо бэкенд-фреймворк Node.js, либо Python. Хотя, к слову, заглушка на Golang выглядит не сложнее, чем на Python.</p>
19
Рейтинг популярности языков программирования<a>IEEE Spectrum</a><em>Скриншот: Skillbox Media</em><p>Ещё один важный для фронтенд-разработчика критерий при выборе второго языка - удобство создания динамических заглушек бэкенда. Мои коллеги часто использовали для этого либо бэкенд-фреймворк Node.js, либо Python. Хотя, к слову, заглушка на Golang выглядит не сложнее, чем на Python.</p>
20
<p>Вот пример заглушки API на Flask.</p>
20
<p>Вот пример заглушки API на Flask.</p>
21
from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/ok', methods=['GET', 'POST']) def successful_case(): if request.method == 'GET': return jsonify({'status': 'ok', 'method': 'GET'}) elif request.method == 'POST': return jsonify({'status': 'ok', 'method': 'POST'}) @app.route('/404', methods=['GET', 'POST']) def unsuccessful_case(): return jsonify({'status': 'error'}), 404 def main(): app.run(host='127.0.0.1', port=8000) if __name__ == '__main__': main()<p>Этот код поднимает сервер на нужном порте, который отдаёт JSON по двум URL-адресам:<a>http://127.0.0.1/ok</a>и<a>http://127.0.0.1/404</a>.</p>
21
from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/ok', methods=['GET', 'POST']) def successful_case(): if request.method == 'GET': return jsonify({'status': 'ok', 'method': 'GET'}) elif request.method == 'POST': return jsonify({'status': 'ok', 'method': 'POST'}) @app.route('/404', methods=['GET', 'POST']) def unsuccessful_case(): return jsonify({'status': 'error'}), 404 def main(): app.run(host='127.0.0.1', port=8000) if __name__ == '__main__': main()<p>Этот код поднимает сервер на нужном порте, который отдаёт JSON по двум URL-адресам:<a>http://127.0.0.1/ok</a>и<a>http://127.0.0.1/404</a>.</p>
22
<p>А вот то же самое - но уже на Golang.</p>
22
<p>А вот то же самое - но уже на Golang.</p>
23
package main import ( "fmt" "log" "net/http" ) func successfulCase(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") if r.Method == http.MethodGet { fmt.Fprintf(w, `{"status": "ok", "method": "GET"}`) } else if r.Method == http.MethodPost { fmt.Fprintf(w, `{"status": "ok", "method": "POST"}`) } } func unsuccessfulCase(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotFound) w.Header().Set("Content-Type", "application/json") fmt.Fprintf(w, `{"status": "error"}`) } func main() { http.HandleFunc("/ok", successfulCase) http.HandleFunc("/404", unsuccessfulCase) err := http.ListenAndServe(":8081", nil) if err != nil { log.Fatal("ListenAndServe: ", err) } }<p>Я руководил несколькими Python-, двумя .NET- и одной Go-командой и обращал внимание на скорость разработки, а общаясь с другими тимлидами и руководителями групп разработки, пришёл к выводу, что создание фич на Golang всё же занимает больше времени, чем на Python. При этом скорость разработки на .NET близка к скорости разработки на Python. Точной причины этого феномена я не выяснил, но всегда учитываю это, планируя дедлайны.</p>
23
package main import ( "fmt" "log" "net/http" ) func successfulCase(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") if r.Method == http.MethodGet { fmt.Fprintf(w, `{"status": "ok", "method": "GET"}`) } else if r.Method == http.MethodPost { fmt.Fprintf(w, `{"status": "ok", "method": "POST"}`) } } func unsuccessfulCase(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotFound) w.Header().Set("Content-Type", "application/json") fmt.Fprintf(w, `{"status": "error"}`) } func main() { http.HandleFunc("/ok", successfulCase) http.HandleFunc("/404", unsuccessfulCase) err := http.ListenAndServe(":8081", nil) if err != nil { log.Fatal("ListenAndServe: ", err) } }<p>Я руководил несколькими Python-, двумя .NET- и одной Go-командой и обращал внимание на скорость разработки, а общаясь с другими тимлидами и руководителями групп разработки, пришёл к выводу, что создание фич на Golang всё же занимает больше времени, чем на Python. При этом скорость разработки на .NET близка к скорости разработки на Python. Точной причины этого феномена я не выяснил, но всегда учитываю это, планируя дедлайны.</p>
24
<p>В результате этого мини-исследования я убедился, что Python - довольно перспективный вариант для изучения. Он отлично подойдёт и как первый язык для начинающих, и как второй для фронтенд- или бэкенд-разработчиков. Дополнительный плюс Python - он широко используется для автоматизации тестирования.</p>
24
<p>В результате этого мини-исследования я убедился, что Python - довольно перспективный вариант для изучения. Он отлично подойдёт и как первый язык для начинающих, и как второй для фронтенд- или бэкенд-разработчиков. Дополнительный плюс Python - он широко используется для автоматизации тестирования.</p>
25
<p>Помимо бэкенд и фронтенд-разработки, Python стал одним из наиболее востребованных языков для решения задач, связанных с Data Science, нейронными сетями, машинным обучением и искусственным интеллектом. А популярные Python-библиотеки SciPy, NumPy, Matplotlib помогают упростить сложные расчёты и облегчают жизнь учёных.</p>
25
<p>Помимо бэкенд и фронтенд-разработки, Python стал одним из наиболее востребованных языков для решения задач, связанных с Data Science, нейронными сетями, машинным обучением и искусственным интеллектом. А популярные Python-библиотеки SciPy, NumPy, Matplotlib помогают упростить сложные расчёты и облегчают жизнь учёных.</p>
26
<p>Если же вы уже пишете на Python, рекомендую обратить внимание на JavaScript, TypeScript или Golang. JavaScript стабильно востребован, а TypeScript и Golang явно развиваются и набирают популярность.</p>
26
<p>Если же вы уже пишете на Python, рекомендую обратить внимание на JavaScript, TypeScript или Golang. JavaScript стабильно востребован, а TypeScript и Golang явно развиваются и набирают популярность.</p>
27
<p>При этом Golang является довольно перспективным и хорошо оплачиваемым языком с относительно низким порогом входа. Он немного сложнее Python или JavaScript, зато превосходит их в скорости и имеет строгую типизацию. Я в качестве третьего языка выбрал именно Go.</p>
27
<p>При этом Golang является довольно перспективным и хорошо оплачиваемым языком с относительно низким порогом входа. Он немного сложнее Python или JavaScript, зато превосходит их в скорости и имеет строгую типизацию. Я в качестве третьего языка выбрал именно Go.</p>
28
<p>Python легко освоить - то есть у него довольно низкий порог вхождения. К тому же сейчас это самый популярный и востребованный язык программирования по данным сразу нескольких авторитетных рейтингов - в том числе TIOBE. Он работает практически на всех платформах, активно развивается и поддерживается большим отзывчивым сообществом.</p>
28
<p>Python легко освоить - то есть у него довольно низкий порог вхождения. К тому же сейчас это самый популярный и востребованный язык программирования по данным сразу нескольких авторитетных рейтингов - в том числе TIOBE. Он работает практически на всех платформах, активно развивается и поддерживается большим отзывчивым сообществом.</p>
29
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
29
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>