Почему Python?

Почему Python?

Если вы собрались изучать программирование и обращаетесь к специалистам за советами по выбору языка, большая часть из них наверняка ответит – питон. Но почему? Чем он так привлекателен для большинства программистов? Эта статья будет максимально простой и понятной, чтобы вы наконец поняли: почему Python?

Что такое Python?

Начнем с азов. Python – это общий язык программирования, который помогает скорее улучшить ваши собственные навыки в данной сфере, чем повысить качество вашего кода. Проще говоря, на Питоне можно писать почти все, что вашей душе угодно. Он используется в огромном количестве различного программного обеспечения: от простых приложений, до сложных видеоигр и даже медицинских систем жизнеобеспечения. Одна из самых главных причин, заставляющих новичков продать свою душу змею-искусителю, это низкий порог вхождения. Код на питоне максимально простой и понятный даже тем, кто только начинает изучать программирование. А если у вас уже есть опыт работы с другими языками, то изучение Python не доставит вам совсем никаких трудностей.

Помимо написания кода на этом языке программирования, проще становится и его дальнейшее сопровождение, а это тоже весомый аргумент в его пользу. Ну и, конечно же, нельзя не затронуть финансовую часть – применение Питона сопровождается значительным увеличением эффективности программистов и снижением расходов компании, в которой они трудятся.

В качестве наглядности простоты данного языка приведем простой пример: открыть текстовый файл и сохранить этот текст в некоторую переменную. Чтобы сделать это на Java, нужно:

  • Подключить необходимые пакеты для доступа к файлу и его чтению:
    •  import java.io.IOException;
    •  import java.nio.file.Files;
    •  import java.nio.file.Paths;
  • Объявить главный метод и активировать исключения:
    •  public static void main(String[] args) throws IOException
  • Открыть файл и сохранить его содержимое в переменную строкового типа:
    •  { String content = new String(Files.readAllBytes(Paths.get("file.txt"))); }

Итого, начинающему программисту понадобится пять длинных и непонятных строк на Java, чтобы просто достать текст из файла. Как же это выглядит на Python? Да вот так:

  • file = open('file.txt')
  • content = file.read()

Первая строка открывает файл, вторая записывает содержимое в переменную – все! Абсолютно никаких танцев с бубном не понадобится, так как это простая задача, которая требует такого же простого решения.

Python
Python

Кто использует Python?

Что ни говори, а самым важным аспектом в выборе языка программирования для изучения является его актуальность и востребованность. Какой смысл от самого продвинутого кода, если он никому не нужен? Но на счет Питона можете не волноваться, «хайпа» вокруг него достаточно. Мало того, сообщество Python-программистов одно из самых крупных в мире высоких технологий. Многие фрилансеры и небольшие компании-разработчики ПО предпочитают Питон. Нельзя сказать, что девять из десяти программистов выбирают змею, но этим языком пользуются даже такие корпорации, как Goolge, Facebook, Microsoft, Intel и многие другие. Последняя так и вовсе тратит огромные ресурсы на исследования параллельных вычислений именно на Python.

Минутка фактов, возможно, для кого-то очень неожиданных. На Питоне написаны: YouTube, Instagram, Dropbox (клиентское приложение), Spotify, сервисы Mozilla, симулятор электронных таблиц MMORPG EVE Online и даже поисковик Google. Чувствую, как «продвинутые» юзеры сейчас начинают кричать, что поиск Google написан на C++. Так-то оно так, но первая версия была именно на Python, и уже потом переписалась на плюсах из-за высоких нагрузок и слишком низкой скорости работы, но об этих недостатках Пайтона мы поговорим чуть позже.

О чем все это свидетельствует? О том, что даже гиганты IT-индустрии создают свои проекты на Python. Значит они уверены в его актуальности, надежности и долговечности. И, как вы можете заметить, приложения и сервисы, написанные на этом языке программирования, обладают довольно большим функционалом, а значит Python может справиться с огромным количеством разных задач.

Недостатки Python

После всех вышеописанных хвалебных од во славу змеи, незнакомые с ней пользователи могут подумать, что это незаменимый язык программирования, лекарство от всех болезней, священный грааль IT-индустрии, безукоризненный спаситель, мессия. Но это не так. Никто не идеален, даже Python. Пришло время поговорить о его недостатках.

Скорость

Как я уже упоминал ранее, Питон имеет довольно-таки низкую скорость выполнения в сравнении с другими языками программирования. Ему присущи полная динамическая типизация (о ней чуть позже) и автоматическое управление памятью. Данные на первый взгляд преимущества становятся огромным недостатком при высоких требованиях к скорости, в которой Python значительно уступает C++ и Java. Но при этом из своих динамических сородичей, таких как JS, PHP и Ruby, Питон является самым быстрым благодаря тому, что большая часть его стандартной библиотеки, которая, кстати, написана на C, компилируется в байт-код.

Скорость
Скорость

Динамическая типизация

Новички в сфере программирования молятся на ЯП с динамической типизацией. Это их своеобразный райский уголок, оазис в пустыне всеобщего безумия. Говорят, что кодеры, работающие со статикой, раз в год берут себе отпуск и переходят на динамику, чтобы отдохнуть. Но это не точно. В любом случае у динамической типизации есть множество подводных камней, о которых новички не знают.

Например, чем больше кода становится в проекте, а в современных разработках это неизбежно, тем сложнее следить за тем, какой именно тип данных в нем передается. Поэтому в один прекрасный момент все летит в зияющую бездну, когда, к примеру, у переменной типа None кто-то пытается вызвать метод. Что делать в такой ситуации? Правильно: плюнуть, крякнуть и надежно склеить скотчем – то есть, добавить костыль в виде аннотации. Но этим куском изоленты заклеивается лишь одна пробоина. Чем больше находится проблем, тем больше костылей появляется для их решения. В конечном итоге некогда элегантный и лаконичный код превращается в помойку.

Из-за ограниченности Питона многим адептам змеиной веры приходится придумывать такие свисто-перделки, что у неподготовленного юзера волосы на голове дыбом встанут. И таких альтернативных «Питонов» уже наплодилось огромное количество: Jython, Cython, Pyston, Гордон…нет, это уже что-то не то. В общем, сторонникам партии чешуйчатых пресмыкающихся приходится идти на разные хитрости и уловки, чтобы продолжать комфортно пользоваться Питоном.

Заключение

Да, Python не идеален, но начинающим программистам его не такие уж и значительные минусы не должны доставить проблем. Лучше еще раз вспомните все ниши, которые занимает Питон на данный момент:

  • Веб-разработка. Давайте хором скажем, какой фреймворк лучший на этом поприще? Правильно, Django. А теперь угадайте, на чем он написан.
  • Машинное обучение. Данное направление сейчас активно развивается и способствует этому Python с верными друзьями-пакетами scipy, pandasm numpy и другими, признанными на мировом уровне.
  • Обучение программированию. Как еще учить детей кодить, если не с помощью pygame и turtle?
  • Написание скриптов. Python интегрирован в большинство unix-подобных операционных систем, потому что отлично подходит для автоматизации различных действий. «Bash не нужны».

Это еще не все преимущества, но этого вполне достаточно для того, чтобы вы поняли – почему Python?

© Все права защищены.

Top