Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 3, 2011 12:07:53

privet99
От:
Зарегистрирован: 2011-02-03
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

2 vs 3

Приступил к изучению чудесного языка Python.
Возник вопрос: следует ли сначала изучить версию 2, а потом перейти на 3; или версия 2 устарела и лучше сразу начинать с версии 3.

Правда ли что для версии 3 не существует утилит для получения exeфайла (py2exe), утилиты IPython ?

Совместим ли API различных версий phyton для использования его в программах, написанных на других языках (например С или дельфи).



Офлайн

#2 Фев. 3, 2011 12:40:44

AlexAled
От:
Зарегистрирован: 2010-10-19
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

2 vs 3

Если изучать на будущее и just for fun то можно начинать с 3, если для практического применения то лучше со 2, т.к. большинство библиотек написаны именно для 2 ветки



Офлайн

#3 Фев. 3, 2011 20:57:22

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

2 vs 3

Нового релиза python 2 не планируется. Т.е. python 2.8 - не будет.

Многих библиотек для тройки нет, но портирование идет полным ходом.

py2exe не портирован (никому не нужно? Написать ведь легко…)
ipython - есть в отдельной ветке, сделают и официальный.

API несколько отличается, но кардинальных изменений нет.



Офлайн

#4 Фев. 3, 2011 21:09:12

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

2 vs 3

> но кардинальных изменений нет
Наверное самые большие неприятности могут возникнуть со “списками”, которые стали “итераторами” и со строками.

>>> {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



Отредактировано (Фев. 3, 2011 21:11:48)

Офлайн

#5 Фев. 3, 2011 21:37:35

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

2 vs 3

bw
p.s. Я сейчас пытаюсь что-то делать на Python3, ну ничего нет из того что я планировал использовать, Genshi, Werkzeug и т.д.
Werkzeug работает на базе WSGI, а WSGI-стандарта для тройки пока нет и вообще как-то очень туго с его подготовкой. Если уж под веб писать на тройке, - можно взять Tornado. Он не завязан на WSGI.



Офлайн

#6 Фев. 3, 2011 21:39:03

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

2 vs 3

PEP 3333 принят в Python 3.2 как паллиатив.
PEP 444 на стадии разработки



Офлайн

#7 Фев. 3, 2011 22:05:02

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

2 vs 3

Андрей Светлов
PEP 3333 принят в Python 3.2 как паллиатив.
PEP 444 на стадии разработки
Вот-вот, и так уже полгода =(
А хотелось бы побыстрее… Плюс стандарт-стандартом, а когда разработчики начнут фреймворки подтягивать, гляди еще полгода пролетит. Пока вижу заинтересованость в тройке только тех, кто не занимается вебом, веб-разработчики почему-то и так двольны.



Отредактировано (Фев. 3, 2011 22:05:35)

Офлайн

#8 Фев. 3, 2011 22:13:23

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

2 vs 3

Где-то мелькало, что Джангу летом хотят попробовать перевести.
3333 - уже хорошо. Это WSGI 333, адаптированный к python 3.
444 довольно сильно отличается. Тот факт, что его разработка идет медленно - не удивляет.
К тому же на момент выпуска 3.1 разработчиков в основном заботили баги и скорость самой поделки.
И только в последний год начали смотреть на web - поправки в urllib, email и так далее.

Python 3 постепенно приближается к покрытию всех задач, решаемых python 2.
Читал блог Брета Кэнона? Где он писал, что предполагаемое время миграции - 5 лет. И на данное время график выполняется даже с некоторым опережением.



Офлайн

#9 Фев. 3, 2011 22:33:45

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

2 vs 3

Андрей Светлов
Python 3 постепенно приближается к покрытию всех задач, решаемых python 2.
Читал блог Брета Кэнона? Где он писал, что предполагаемое время миграции - 5 лет. И на данное время график выполняется даже с некоторым опережением.
Да, он мне еще запомнился, т.к. по фотке в гуглопрофиле похож на спецназовца из сериала “Чак” =). Ну да не о нем.
Я отвечал на пост bw, о том как обстоит сейчас, имея в виду, что не стоит спешить с вебом на тройке, но по временным рамкам полностью согласен (еще надо учитывать то, что еще какое-то время будет шлифоваться нестабильный код и будут фиксится баги).

По этому поводу у меня такое впечатление, что мы говорим об одном и том же, но у нас разное понятие “долго” =).



Офлайн

#10 Фев. 3, 2011 22:36:32

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

2 vs 3

Мне Брет запомнился иначе.
Когда я на конференции хотел задать вопросы, меня отослали к нему.
Сказали: найди самого высокого человека - это Кэнон и есть :)

Подсказчик был низеньким латиноамериканцем с отчетливой примесью азиатской крови - для него большая часть людей были между “высокий” и “очень высокий”.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version