За что мы любим Python?

@мозговойСлизень

Очевидно что популярность python растет из-за "простоты". Его начинают учить в учебных заведениях (там где раньше был только pascal) и также учить вовсе не_программисты (которые потом гуглят самые простые вопросы, несмотря на "куда проще-то"). Но за что же python любят программисты писавшие на ближайших альтернативах? Моя версия.

За что мы любим Python?

Каждый запускаемый файл король

import math as m
from sklearn.neighbors import KNeighborsClassifier
from sys import *

import прекрасен. Всегда видим что используем. Загружаем под тем именами что нравятся нам в этом скрипте и посылаем в жопу namespace.

Можно обойтись без ООП там где не нужно. А импортируя кирпичики можно лепить что-то своё совсем не напрягаясь.

Синтаксический сахар и минимум кода

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

Как же теперь непривычно ставить скобки при редкой работе с другими языками. А генераторы списков, all, any и прочее, мм, как родные.

# все элементы списка x возвели в квадрат и сложили
sumxSq=sum([x[i]**2.0 for i in range(len(x))])

Сейчас ходит шутка что python это исполняемый псевдокод, и в ней очень много доли правды. Максимум простых английских слов в качестве управляющих конструкций.

pip и виртуальные среды

pip install pandas
pip search pymorphy2

pip максимально похож на apt. Сравните его использование с тем же composer - в котором иногда приходится лезть в json-файл, фу бяка.

А встроенные виртуальные среды позволяют плодить проекты на разные версиях и пакетах без танцев с бубнами.

# две консольные команды, первая создаёт виртуальную среду с именем app
python3 -m venv app;
# вторая активирует ёё, теперь в этой папке отдельный python со своими пакетами
source app/bin/activate;

Пупилион библиотек

На любой вкус, эх как прекрасны pandas, beautifulsoup4, pymorphy2 и другие. Иногда даже для всяких мелочей.

Хотя и чем меньше стороннего кода в проекте тем лучше, - иногда дьявол всё таки кроется в мелочах, в удобных мелочах.

Система версий и отношение к совместимости

Вызываешь нужную версию ядра и пишешь на ней, что может быть проще.

Вот сколько проблем у javascript из-за обратной совместимости (конечно есть маньяки, считающие что у js только одна проблема - с типами)? А в python это было бы как-то так:

<script type="text/python/2.5">
<script type="text/python/2.7">
<script type="text/python/3.0">
<script type="text/python/3.6">

..и всем было бы счастье.

Тут конечно можно было написать и про обратную сторону этого подхода, но всё логично: старое работает на старом, ведь то что работает, как все знают, лучше не трогать.

Интересно в каком направлении язык будет развиваться дальше. Каких возможностей сейчас вам не хватает?

0 3338 0

Написать новый комментарий

Опубликовать комментарий
<a href="http://your_link_path.ru">Текст ссылки</a>
<img src="http://" />
> Цитата
<code>c = [c * 3 for c in 'list']</code>
<tweet>https://twitter.com/Sergey_Elkin/status/1075983394822074370</tweet>
<instagram>Bq-YxeFHfq4</instagram>
<vimeo>127422384</vimeo>
<coub>vivsm</coub>
<youtube>7j5Jr2-eUZc</youtube>
<b>жирный</b>
<s>зачеркнутый</s>
<spoiler>спойлер</spoiler>