В этом году Python вошел в пятёрку самых популярных языков программирования в мире сразу в трёх уважаемых рейтингах. Журнал IEEE Spectrum поставил его на третье место после C и Java, но перед C++ и R. Аналитики RedMonk назвали Python четвёртым по востребованности, его пока опережают JavaScript, Java и PHP. Опубликованный в декабре рейтинг TIOBE Software тоже ставит Python на четвёртое место после Java, C и C++. Чем так крут Python, что его выбирает всё большее число разработчиков?
А как вообще их выбирают?
С чего начать, если вы выбираете язык программирования на старте, или чтобы расширить свои возможности?
IT-специалисты рекомендуют оттолкнуться от ваших целей.
Если вы хотите сразу же искать стартовую позицию программиста, то стоит посмотреть на рынок. Пока компании чаще ищут разработчиков на PHP и JavaScript. Но структура спроса на программистов быстро меняется. Сейчас на hh.ru 850 предложений для PHP-программистов и 570 вакансий ― для разработчиков на Python. А ведь ещё в прошлом году соотношение было 4 к 1.
Есть мнение, что первый осваиваемый язык программирования должен быть функциональным. И тогда выбор будет между Scala, F#, Clojure, Haskell. С другой стороны, если для написания строчки кода придётся читать книги и перерывать форумы, то желание осваивать такой язык может и пропасть. Чтобы избежать этого, возможно, стоит начать с императивного языка, например ― Ruby. Или с ещё более универсального Python.
О чём говорят гиганты
Можно опираться на выбор ряда крупных корпораций. На Python написаны Instagram, Youtube, Pinterest и другие популярные ресурсы.
Автор Python Гвидо Ван Россум участвовал в создании сервиса хостинга сайтов и веб-приложений Google App Engine, и с тех пор одной из любимых присказок пайтонистов стала фраза разработчиков Google о применении языков: «Python ― где можем, C++ ― где должны» (“Python where we can, C++ where we must”).
Используют Python наряду с другими ассемблерами и Spotify, и Netflix, и Dropbox, где с 2013 года работает Ван Россум.
Чем Python крут для новичков
Python напоминает английский. Например, использует «not», «in» в тех же значениях, какие присущи им в обычной речи. Вы можете даже озвучивать написанный код кому-то ещё, не чувствуя при этом, что говорите на древнеегипетском. Это полезно при совместной разработке или в случае, когда нужно разобраться в том, что написано не вами. Программист, который знает другие языки, с легкостью освоит Python.
Из-за простого синтаксиса и прозрачной структуры язык легко читать. Вам даже не нужно использовать фигурные скобки в каждой строчке кода. Если вы знаете Python, то сможете работать с любой версией этого языка, приложив к её освоению минимальные усилия. Даже модули Python воспринимаются легко, в отличие, например, от фреймворков Java.
Ещё одно преимущество Python — скорость разработки. Масштабирование возможностей кроется в стандартной библиотеке этого языка. Комбинируя фреймворки, можно находить для себя всё новые и новые инструменты.
А есть ли недостатки?
Главный недостаток, как говорят сами разработчики на Python, — в том, что программы, написанные на нём, работают медленнее, чем созданные на компиллируемых языках (C, C++). Тесты производительности систем, полностью написанных на Python уступают и Java VM. Но важно помнить, что скорость разработки порой важнее, чем быстродействие продукта. А писать на Python выходит быстрее, чем на многих других языках.
РЕКОМЕНДАЦИЯ ПРОФИ
Технический руководитель группы разработчиков медицинского портала emias.info Сергей Никитин:
Реализация CPython не может похвастаться вычислительной производительностью. Но медленный код можно переписать на C или C++ и связать его с Python. А чтобы поднять производительность в целом, используют реализацию с JIT-компиляцией — PyPy («ПайПай»).
Для каких задач подходит Python
Скрипты Python используются для широкого спектра задач — от аналитики до создания программ и даже XML-роботов. Вот их неполный список:
- анализ данных;
- разработка интернет-сайтов;
- создание десктопных и веб-приложений;
- управление системами и базами данных;
- автоматизация процессов;
- создание прототипов;
- тестирование программ;
- проведение расчётов (с использованием расширений, например, NumPy);
- машинное обучение.
Это далеко не все возможности языка. NASA применяет Python для шифрования данных. У компаний JPL и Fermilab есть написанные на Python сервисы для вычислений. UBS, Citadel, JPMorgan Chase используют этот ассемблер для создания рыночных прогнозов.
РЕЗЮМЕ ОТ ПРАКТИКА
Сергей Никитин:
Я постоянно отсматриваю чужой код. И для меня главное преимущество Python перед всеми известными мне языками (C, C++, PHP, Java Script и другими) — это читаемость, преемственность и неизменность кода. На Python сложно написать одну и ту же программу по-разному — синтаксис языка жестко регламентирует конечный код. Python прост, языковых конструкций в нём на порядок меньше, чем в других языках, и изучать его легко.
Скорость разработки на Python настолько велика, что мы используем его на всех этапах прототипирования и подтверждения идеи. Трансформировать прототип в рабочий проект тоже сравнительно удобно. Проект на Python легко передавать от одного разработчика другому.
Python полезен для управления конфигурацией кластера, разработки веб-приложений и веб-сервисов, консольных и других утилит. Участвует он и в непрерывной интеграции, и в тестировании конечных пользовательских интерфейсов. На Python можно создавать рациональные и порой очень красивые решения на уровне архитектуры.
Этот язык делает разработчика профессионально мобильным. ― Тот, кто изучил Python досконально, сможет погрузиться в любой другой язык за несколько часов или пару дней. Стандартная библиотека и тысячи модулей дают возможность разрабатывать на Python не только приложения и утилиты, но также драйверы для железа, мобильные приложения и игры. Например, на Python была написана всем известная «Цивилизация» (Civ4).
Пройдя курс подготовки разработчиков на Python, вы сможете быстро создавать высокоуровневые программы, web-проекты, скрипты для серверов и многие другие полезные вещи.
Комментарии