Пользователь адское око Недавно я написал статью Питон против Руби .
Получился отличный холивар.
Не могу не поддержать.
Сначала думал написать в комментарии, но ответ получился слишком длинным.
Обо мне: Я пишу Python более десяти лет, а с Ruby знаком довольно поверхностно.
Недавно я стал разработчиком ядра Python с правами на коммит. На последнем американском PyCon в Санта-Кларе Гвидо ван Россум выступил с замечательной речью — всем рекомендую посмотреть.
В частности, он отметил, что Python и Ruby — почти братья-близнецы.
Различия между ними гораздо меньше, чем контраст между этими языками и всеми остальными.
Давайте дружить, а не выяснять, кто круче.
Теперь по поводу конкретных претензий к автору (что касается Python, конечно - пусть и знающий рубист скажет свое веское слово).
— В Python есть встроенный модуль SSL. Из-за давних лицензионных склок с Microsoft (поправьте меня, если ошибаюсь) этот модуль не включен в дистрибутив Windows. Во всех остальных ОС он есть.
— подпроцесс позволяет указать параметры командной строки в одной строке и должен вызываться с параметром оболочки=True. Это не так лаконично, как скобки, но выход есть.
Кроме того, вы должны понимать, что вызов подпроцесса не всегда сводится к подмене вывода текста в переменную.
Также есть код возврата, stderr, интерактивность.
— Python может импортировать модули, используя относительный путь.
Это относительный путь для модулей, а не файлов.
Модули должны находиться в пакетах (папках, содержащих __init__.py).
Читатели уже отметили этот момент. - codecs.open позволяет указать кодировку открываемого файла.
open поддерживает параметр кодирования для тех же целей.
- К лучшему или к худшему, но при использовании потоков операционной системы не существует надежного способа завершить поток.
Всегда есть риск, что используемые ресурсы не будут освобождены (память, соединения с базой данных и другие сокеты и т. д.), поэтому в Python такой возможности нет. Вам нужно тем или иным способом отправить сообщение ветке, а дальше она должна разобраться сама.
Разное: Как уже заметили читатели, некоторые части не включены в дистрибутив Python, но доступны в виде сторонних библиотек.
— пыц.
Список часовых поясов обновляется чаще, чем раз в полтора года при выпуске нового Python. В документации нет ссылки на pytz — исправим.
- шаблонизатор.
Более чем строка.
Шаблон не входил в стандартную поставку.
Потому что непонятно, какой шаблонизатор подойдет всем.
jinja2, которым я пользуюсь, великолепен.
Опять же, слишком быстро развивающийся и слишком независимый, чтобы быть частью Python как дистрибутива.
Есть много полезных вещей.
Но если библиотека включена в стандартный Python, она должна оставаться обратно совместимой.
Зачастую это слишком дорого и не позволяет быстро развиваться, выпуская релизы каждые три месяца, а не раз в полтора года, как это делает Python. И наконец, главное.
python2 уже мертв.
Да, мы часто исправляем ошибки.
Python2.7.3 скоро появится.
Но Deuce закончился два года назад. Все больше библиотек подтверждают свою поддержку «Тройки».
— SQLAlchemy сделала это очень давно.
- Джинга2 - тоже.
- Пирамида - неделю назад. — WebOb, от которого зависела Pyramid, — в конце прошлого года.
— Джанго тоже перейдет на три, — пообещали они.
Ребята, Python3 — это ваше будущее, которое преследует вас по пятам.
Будь готов! UPD: Django 1.5, который выйдет осенью, будет иметь экспериментальную поддержку Python 3.3. Теги: #python #python3 #python
-
У Вас Есть Интернет?
19 Oct, 24 -
Мое Путешествие В Будущее
19 Oct, 24 -
Препятствие На Пути К Большим Играм
19 Oct, 24