privet99
Фев. 3, 2011 12:07:53
Приступил к изучению чудесного языка Python.
Возник вопрос: следует ли сначала изучить версию 2, а потом перейти на 3; или версия 2 устарела и лучше сразу начинать с версии 3.
Правда ли что для версии 3 не существует утилит для получения exeфайла (py2exe), утилиты IPython ?
Совместим ли API различных версий phyton для использования его в программах, написанных на других языках (например С или дельфи).
AlexAled
Фев. 3, 2011 12:40:44
Если изучать на будущее и just for fun то можно начинать с 3, если для практического применения то лучше со 2, т.к. большинство библиотек написаны именно для 2 ветки
Андрей Светлов
Фев. 3, 2011 20:57:22
Нового релиза python 2 не планируется. Т.е. python 2.8 - не будет.
Многих библиотек для тройки нет, но портирование идет полным ходом.
py2exe не портирован (никому не нужно? Написать ведь легко…)
ipython - есть в отдельной ветке, сделают и официальный.
API несколько отличается, но кардинальных изменений нет.
> но кардинальных изменений нет
Наверное самые большие неприятности могут возникнуть со “списками”, которые стали “итераторами” и со строками.
>>> {1: 1}.keys()[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object does not support indexing
>>> filter(None, [1])[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'filter' object is not subscriptable
>>> unicode({})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'unicode' is not defined
p.s. Я сейчас пытаюсь что-то делать на Python3, ну ничего нет из того что я планировал использовать, Genshi, Werkzeug и т.д.
..bw
regall
Фев. 3, 2011 21:37:35
bw
p.s. Я сейчас пытаюсь что-то делать на Python3, ну ничего нет из того что я планировал использовать, Genshi, Werkzeug и т.д.
Werkzeug работает на базе WSGI, а WSGI-стандарта для тройки пока нет и вообще как-то очень туго с его подготовкой. Если уж под веб писать на тройке, - можно взять Tornado. Он не завязан на WSGI.
Андрей Светлов
Фев. 3, 2011 21:39:03
PEP 3333 принят в Python 3.2 как паллиатив.
PEP 444 на стадии разработки
regall
Фев. 3, 2011 22:05:02
Андрей Светлов
PEP 3333 принят в Python 3.2 как паллиатив.
PEP 444 на стадии разработки
Вот-вот, и так уже полгода =(
А хотелось бы побыстрее… Плюс стандарт-стандартом, а когда разработчики начнут фреймворки подтягивать, гляди еще полгода пролетит. Пока вижу заинтересованость в тройке только тех, кто не занимается вебом, веб-разработчики почему-то и так двольны.
Андрей Светлов
Фев. 3, 2011 22:13:23
Где-то мелькало, что Джангу летом хотят попробовать перевести.
3333 - уже хорошо. Это WSGI 333, адаптированный к python 3.
444 довольно сильно отличается. Тот факт, что его разработка идет медленно - не удивляет.
К тому же на момент выпуска 3.1 разработчиков в основном заботили баги и скорость самой поделки.
И только в последний год начали смотреть на web - поправки в urllib, email и так далее.
Python 3 постепенно приближается к покрытию всех задач, решаемых python 2.
Читал блог Брета Кэнона? Где он писал, что предполагаемое время миграции - 5 лет. И на данное время график выполняется даже с некоторым опережением.
regall
Фев. 3, 2011 22:33:45
Андрей Светлов
Python 3 постепенно приближается к покрытию всех задач, решаемых python 2.
Читал блог Брета Кэнона? Где он писал, что предполагаемое время миграции - 5 лет. И на данное время график выполняется даже с некоторым опережением.
Да, он мне еще запомнился, т.к. по фотке в гуглопрофиле похож на спецназовца из сериала “Чак” =). Ну да не о нем.
Я отвечал на пост
bw, о том как обстоит сейчас, имея в виду, что не стоит спешить с вебом на тройке, но по временным рамкам полностью согласен (еще надо учитывать то, что еще какое-то время будет шлифоваться нестабильный код и будут фиксится баги).
По этому поводу у меня такое впечатление, что мы говорим об одном и том же, но у нас разное понятие “долго” =).
Андрей Светлов
Фев. 3, 2011 22:36:32
Мне Брет запомнился иначе.
Когда я на конференции хотел задать вопросы, меня отослали к нему.
Сказали: найди самого высокого человека - это Кэнон и есть :)
Подсказчик был низеньким латиноамериканцем с отчетливой примесью азиатской крови - для него большая часть людей были между “высокий” и “очень высокий”.