Pull to refresh

Comments 23

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

А так, если высбодившееся время пустить на вылизывание производительности (например, от ГИЛ избавиться) — то я только «за».
Да, я думаю Гвидо к тому и ведёт, чтобы отполировать то, что есть. Хотя по скорости питон впереди, но всегда есть, что ускорять.
Впереди чего? Ходят слухи, что тройка медленней стала; но сам я не замерял.
Ну, едва ли вы от GIL спокойно избавитесь. Только так к Питону 4-ой версии.
Была одна такая попытка избавиться от Gil. Результат работал вдвое медленней оригинального CPython. Я как рза не так давно изучал этот вопрос — Гвидо очень все обстоятельно объяснял в ответе на некое открытое письмо с просьбой удалить Gil их интерпретатора.
Прошу прощения, промазал по кнопке. Оказывается, комменты на Хабре отправляются по ctrl+enter :)
Итак, пусть разработчики занимаются улучшением реализации текущего стандарта языка, авторы всех более-менее полезных проектов — переводом их на третью версию, а сборщики дистрибутивов — включением этой версии по умолчанию. Думаю, язык уже убежал достаточно далеко и многие за ним попросту не успевают. Поэтому лучше потратить несколько лет на приведение всех систем/библиотек/проектов к общему виду, чтоб избавиться от текущей мешанины из версий 2.4, 2.5, 2.6, 3… А когда все подтянутся, можно шагать дальше :)

Позвольте с вами не согласится по поводу мешанины из версий питона. 2.4 — 2.6 практически полностью совместимы. Новые версии во языка во второй ветке только добавляли функциональность, но никогда не нарушали обратную совместимость. Безусловно, это не касается третье версии.
Также, учитывая количество скриптов, написанных на питоне, едва ли можно ожидать включение третьей версии по умолчаю в дистрибутивы. Скорее, это будет 2.7.
Дело не столько в совместимости, сколько в стандартизации. Например, я однажды не смог использовать 2.6, поскольку в дистрибутиве был постгресовый драйвер только для 2.5, а из исходников он собираться не желал. И таких мелочей довольно много.
Что до дистрибутивов, то времени у их авторов теперь много… А переходить на третью ветку рано или поздно все равно придется. Вон перепишут гентушники emerge на третьем питоне — будет прорыв :)
В целом я хотел сказать, что слишком много разных версий языка находится в активном использовании, пусть даже они не очень друг от друга отличаются.
Ваша правда, с библиотеками, которые имеют код на C (и т.д.) и распространяются с дистрибутивами, пока проблема. Сюда же можно включить и байндинги Питон-MySQL в CentOS и многое-многое другое.
Есть серьёзное заблуждение в части «никогда не нарушали обратную совместимость». К сожалению это не так — в пользу этого хотя бы тот факт, что в дистрибутивах есть по нескольку версий второй ветки питона. Зачем это делать если всё совместимо?
Лично мне приходилось ходить по такой грабле: при переходе 2.4->2.5 из-за PEP-0352 мы довольно долго искали магические баги, а проблема оказалась в том, что «except Exception:» перестал ловить SystemExit. Думаю были ещё — эта просто запомнилась хорошо.
поспешили. в питоне все еще нет скобок (вместо отступов). -)
Вроде шутка была, просто смайлик не все разглядели :)

And from __future__ import braces raises a humorous exception:
File "", line 1
SyntaxError: not a chance

:-)
Каюсь, не знал про braces :-)
Полностью за. Слишком много слишком интересных языковых проектов, которые пытаются обеспечить совместимость с какой-либо стабильной версией языка, и не успевают угнаться за изменениями. Cython, Unladen Swallow, PyPy… Стабилизация языка позволила бы им раз и надолго реализовать разбор синтаксиса, после чего заниматься уже своими делами.
Стоит уточнить, что Гвидо предлагает заморозить только грамматику и синтаксис питона, а не разработку стандартной библиотеки. Основная причина — Питон 3-й версии и так принес слишком много нововедений, и на его популяризацию и поддержку со стороны сторонних библиотек нужно время.
По существу, хотелось бы, чтобы разработка Питона разделилась на две части: production-ready и research. В первой ветке бы были только проверенные решения, и именно ее можно было бы заморозить, чтобы дождаться поддержки большинства разработчиков. На сегодняшний момент она была бы представлена версиями 2.6+ и 3+.

Однако ни в коем случае нельзя останавливать исследовательскую работу над Питоном. В экспериментальнулю версию можно было бы включить:
1. Эксперименты с GIL и с виртуальной машиной в целом, допустим, от Гугла.
2. Большую и лучшую поддержку объектно-ориентированного программирования.
3. Возможность создавать DSL (domain specific languages), особенно интересно было бы увидеть возможность создавать собственные операторы и в целом влиять на AST — бойся LINQ, питон надвигается ;-).
4. Эксперименты с другими парадигмами: допустим, тоже аспектно-ориентированное программирование (безусловно, и сейчас возможно создание подобных структур средствами питона, однако, хотелось бы поддержки на уровне языка).
5. Некую возможность явно указывать типы данных, чтобы позволить реализацию байндингов. Например, как в ASP .Net MVC, когда у контроллера указывается параметр product_form определенного типа, и IoC-система сама создает нужную форму из данных http-запроса.
6. Наличие юнит-тестов для всех Abstract Base Classes, которые бы сильно упростили тестирование.

Еще много можно написать, чего не хватает в Питоне. А из написанного очень много отфильтровать, как практически ненужное, но для этого и нужна исследовательская версия.
Как временная мера — пойдет на пользу, безусловно. Питон няшка :3
Я за. Единственное, что в питоне расстраивает — GIL, но с этим можно жить. А заморозка грамматики есть полезно и правильно.
Давно пора. В конце концов, в будущем будут возникать проблемы с миграцией, нужно будет долго парсить (может даже и руками) исходники, и т.д. и т.п. Вот и надо синтаксис заморозить, чтоб такого не было.
Давно пора заморозить. Я только учу питон, и то часто сталкиваюсь с несоответствием того, что написанно в тутариале, с тем, что в питоне понакрутили. Сложно!
Sign up to leave a comment.

Articles