Expert.PRO — рубрика, в которой эксперт в своей профессиональной области делится мнением и советами. Сегодня Python-разработчик Виталий Митин расскажет о том, как и зачем начинал работать с технологией, и какие видит преимущества и перспективы перед другими языками программирования.
Согласно индексу TIOBE (ежемесячный индикатор популярности языков программирования на базе подсчетов результатов поисковых запросов) Python 3 раза определялся языком года: в 2007, 2010 и 2018. Награда присуждается языку программирования, который имеет самый высокий рост рейтинга за год.
Интересно, что в марте этого года Python занял свою самую высокую позицию в рейтинге с 2001 года. Согласно TIOBE Index сейчас он находится на 3 месте.
Как и любой другой язык программирования, Python имеет плюсы и минусы. Однако количество разработчиков, увлеченные данным языком программирования, растет, как и число проектов, взаимно требующие Python-специалистов. «Не нужно изобретать очередной велосипед» — так говорят многие разработчики о Python.
Мы спросили у Виталия Митина, почему он выбрал Python, какие его преимущества и перспективы в дальнейшем. Виталий также поделится своей историей вхождения в технологию.
«9 лет назад я начал работать в IT-сфере и пробовал кодить на PHP. Но язык мне не нравился, и в данном направлении я не хотел дальше развиваться. Случилось так, что один из проектов (онлайн-сервис для доставки еды), которые я делал на энтузиазме, увидел мой товарищ, а он был состоявшимся Java-разработчиком и работал в аутсорсинговой компании. Знакомый оценил мою работу и предложил поработать вместе над его новым проектом, используя Python, которым увлекался на тот момент. Так товарищ помог мне открыть для себя этот язык программирования.
Я начал серьезно изучать Python: смотрел вебинары, читал книги, выдумывал задачи и пробовал писать код. Вскоре решил составить резюме на Junior-позицию, не имея опыта работы с Python в веб-разработке. Через 3 месяца предложили удаленную работу в компании, которая занималась веб-проектами, используя в разработке фреймворк Django. Первый мой проект был под надзором опытного разработчика.
Я до сих пор работаю с Python, и мой выбор для меня обоснован преимуществами данного языка.
Python — объектно-ориентированный язык общего назначения, который разработан с целью повышения продуктивности программиста.
Плюсы:
- Низкий порог вхождения. Синтаксис Python более понятный для новичка.
- Логичный, лаконичный и понятный. В сравнении с многими другими языками Python имеет легкочитаемый синтаксис, разве что Visual Basic тоже легок. Например, существует шутка про Perl , что это «write only» язык, так как синтаксис сложно читать: https://en.wikipedia.org/wiki/Write-only_language.
- Кроссплатформенный: подходит для разных платформ: и Linux, и Windows.
- Есть реализация интерпретаторов для мобильных устройств и непопулярных систем.
- Широкое применение. Используется для разработки веб-приложений, игр, удобен для автоматизации, математических вычислений, машинного обучения, в области интернета вещей. Существует реализация под названием Micro Python, оптимизированная для запуска на микроконтроллерах (можно писать инструкции, логику взаимодействия устройств, организовывать связь, реализовывать умный дом).
- Сильное комьюнити и много конференций. К примеру, недавно в Одессе состоялся PyCon. На конференции в числе всех спикеров выступили 4 иностранных докладчика, которые затронули интересные темы. Лично мне было полезно услышать соавтора библиотек MindsDB, докладчика из Нью-Йорка (рассказывал про искусственный интеллект при разработке средств распознавания лиц на фото), спикера из британской компании Elastic (выступил с докладом на тему «инструменты мониторинга производительности вашего приложения»), спикера из Минска (девушка рассказывала про протокол MQTT для связи устройств интернета вещей).
- Мощная поддержка компаний-гигантов IT-индустрии. Такие компании, как Google, Facebook, Dropbox, Spotify, Quora, Netflix, на определенных этапах разработки использовали именно Python.
- Высокая востребованность на рынке труда.
- В мире Python много качественных библиотек, так что не нужно изобретать велосипед, если надо срочно решить какую-то коммерческую задачу. Для обучения есть много толковых книг, в первую очередь на английском языке, конечно, но и в переводе также издана достойная литература. Сегодня много обучающих материалов на Youtube: видео блоги, записи вебинаров и конференций. Думаю, что сейчас учиться легче, чем в то время, когда я начинал изучение.
- Python отличается строгим требованием к написанию кода (требует отступы), что является преимуществом, по моим наблюдениям. Изначально язык способствует писать код организованно и красиво.
Python развивается и не погаснет еще долго. По многочисленным обзорам и рейтингам язык занимает высокие позиции. Согласно DOU он находится на пятом месте и занимает третью позицию в веб-технологиях. С тех пор, как я начал работать с Python, его популярность и лояльность к нему выросли.
Конечно, у стороны две медали, и если говорить о минусах, то Python — язык с динамической типизацией. С одной стороны код проще и быстрее писать, но производительность уступает таким компилируемым языкам, как C++ и Golang.
Но для большинства задач: для веб-разработки, для скриптов, прототипирования, машинного обучения и работы с большими данными, — один из лучших языков. Я сталкивался также с Ruby, и, если сравнивать с Python, то популярность за последним. Когда-то технологии были на одном уровне в веб-разработке».