Найти в Дзене
Визуализация

Почему Python - мой любимый язык программирования

Существуют, наверное, тысячи языков программирования. И пара сотен из них популярны и активно используемы. Одним из наиболее применяемых языков является Python. Автор не будет проводить обзор языка или перечислять все его преимущества. Также, он не станет утверждать что этот язык может быть наилучшим инструментом для решения любой задачи программирования. Это совсем не так. Автор не предложит использовать Python вместо языка C или Rust для работы в среде с ограниченной памятью и производительностью процессора. Он, также, несколько раз бы подумал, перед тем как писать на Python программное обеспечение для телекоммуникационного оборудования, на котором ранее работал код на языке программирования Erlang. Но что же такое Python и почему он так хорош? В моем представлении Python - это язык с очень удачно подобранным набором характеристик. Такими характеристиками являются: То есть, создание нового языка широкого назначения, который не предлагает каких то новых, не известных характеристик,

Существуют, наверное, тысячи языков программирования. И пара сотен из них популярны и активно используемы. Одним из наиболее применяемых языков является Python.

Photo by David Clode on Unsplash
Photo by David Clode on Unsplash

Автор не будет проводить обзор языка или перечислять все его преимущества. Также, он не станет утверждать что этот язык может быть наилучшим инструментом для решения любой задачи программирования. Это совсем не так.

Автор не предложит использовать Python вместо языка C или Rust для работы в среде с ограниченной памятью и производительностью процессора. Он, также, несколько раз бы подумал, перед тем как писать на Python программное обеспечение для телекоммуникационного оборудования, на котором ранее работал код на языке программирования Erlang.

Но что же такое Python и почему он так хорош?

В моем представлении Python - это язык с очень удачно подобранным набором характеристик. Такими характеристиками являются:

  • парадигмы языка,
  • типизация,
  • возможность компиляции/интерпретации;
  • способы управления памятью;
  • способы управления потоком вычислений;
  • типы и структуры данных;
  • объектно-ориентированные возможности;
  • функциональные возможности;
  • другие особенности, в том числе использование макросов, перегрузки функций, контрактное программирование и сопоставление с образцом.

То есть, создание нового языка широкого назначения, который не предлагает каких то новых, не известных характеристик, - это всего лишь выбор совместимых характеристик из набора известных и объединение этого набора в одном языке програмирования.

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

Таким вкусом или, иначе сказать, дизайнерским чутьём обладает Гвидо Ван Россум - изначальный создатель языка и человек, имеющий заметное влияние на его современное состояние.

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

Читаемость имеет значение

Синтаксис важен потому, что его ясность влияет на понимание программы, а написанный однажды код, скорее всего будет многократно прочитан, в том числе другими людьми. И с синтаксисом в моем любимом языке - все в порядке.

Фрагмент кода на Python. Примеры для сравнения на других языках, не публикуются из соображений сохранения психического здоровья читателей.
Фрагмент кода на Python. Примеры для сравнения на других языках, не публикуются из соображений сохранения психического здоровья читателей.

Возможно, синтаксис Python не нравился бы мне сам по себе настолько, насколько я люблю его на контрасте с другими языками. Больше всего при использовании других языков меня раздражет выделение тела цикла или функции фигурными скобками. Этим часто грешат C-подобные языки.

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

Помнится, когда в начале двухтысячных я познакомился с языками C, C++, PHP, Java и Javasritpt, использование ими фигурных скобок не вызывало у меня явного неприятия. Все познается в сравнении, а к хорошему быстро привыкаешь.

Пишите в комментариях о том, какие языки программирования вам нравятся, ставьте лайки и подписывайтесь на канал! Удачи!