Python 3 будет когда-либо завоевывать популярность?

Я изучал немного Python 2 и Python 3, и кажется, что Python 2 в целом лучше, чем Python 3. Таким образом, это - то, где мой вопрос входит. Там какие-либо серьезные основания состоят в том, чтобы на самом деле переключиться на python 3?

23
задан tshepang 2 May 2014 в 21:01
поделиться

5 ответов

В целом и даже в большинстве деталей Python3 лучше Python2.

Единственная область, в которой Python 3 отстает , - это в отношении сторонних библиотек .
Отличительной чертой Python являются не только его внутренние характеристики как языка и его довольно обширная стандартная библиотека, но и наличие целой « экосистемы » библиотек, которые поддерживают так много конкретных приложений язык.
Несколько таких библиотек на данный момент не полностью перенесены на Python 3.x, и это иногда приводит к тому, что люди продолжают разрабатывать под Python 2.x.

Эта ситуация может показаться немного похожей на проблему курицы и яйца : разработчики приложений не будут переходить на 3.x, пока библиотеки не «доберутся», разработчики библиотек предпочли бы поддерживать только одну ветку и ждать в попытаться установить время для переноса на Py3k таким образом, чтобы вскоре после этого они могли поставить свои ветки Py2.x на обслуживание.

Эта ситуация в некотором роде свидетельствует об удовлетворении людей от Python 2.x (или, говоря более негативно, об отсутствии действительно убедительных стимулов для перехода на 3.x; в то время как Py3k лучше и готов к лучшим вещам, как есть, у него нет никаких функций, которые побудили бы перейти на 3.x " в массовом порядке ".) Это говорит, я полагаю , что импульс является фактически в пользу Python 3 .
Чтобы подтвердить это, я собирался упомянуть вероятность того, что Unladen Swallow будет перенесена только на Py3k, что послужит серьезным стимулом для перехода.Но Алекс Мартелли начал отвечать на этот вопрос и использует этот пример. Очевидно, Алекс лично говорит об этих вопросах дорожной карты, пожалуйста, получите их от Мастера!

Предупреждение относительно версий Py3k : обязательно используйте самую последнюю версию (в настоящее время 3.1.2, скоро 3.2.x заменит ее как самую последнюю стабильную версия).
Помните, что некоторые люди (например, я) иногда используют выражение «3.0» для ссылки на общее имя для всего Py3k (или даже для его текущей версии). Недолговечная версия 3.0 сама по себе теперь "не существует" и не представляет интереса, но, возможно, для судебно-медицинских экспертов; -)

32
ответ дан 29 November 2019 в 01:07
поделиться

Как упоминается в других ответах, единственное реальное (и решающее) текущее преимущество Python 2 над Python 3 состоит в том, что первый уже имеет огромное количество сторонних расширений (и вспомогательных инструментов, таких как IDE и т.п.), к которым последние только постепенно движутся.Эта ситуация постепенно улучшается, поскольку существующие расширения переносятся на поддержку Python 3; рано или поздно кто-нибудь выпустит расширение или инструмент, предназначенный только для Py3, который важен для вас и может склонить вас к фактическому использованию Py3 для нового проекта (и это произойдет для многих различных значений «you» ;-).

Разработка ядра Python в основном переместилась в область Python 3 - хотя Python 2.7 скоро выйдет, я не уверен, сколько будущих важных улучшений, если таковые будут, будут переноситься на версии Python 2. В частности, я сомневаюсь, что Unladen Swallow будет - если это так, то в какой-то момент CPython 3 получит важное преимущество в скорости по сравнению с CPython 2, что станет опрокидывающим фактором для других новых проектов (и портов существующих проектов) пока нет.

Не уверен, что создает у вас впечатление, что «Python 2 в целом лучше, чем Python 3», в терминах, конечно, просто «собственно Python», то есть тех частей, которые выпускает Python Software Foundation (основной код , библиотеки, документы ...): Я категорически не согласен с этой оценкой. Python 3 лучше с точки зрения простоты (беспорядочное удаление) и наличия нескольких функций, которые позволяют использовать будущие сторонние расширения и инструменты (например, улучшенное взаимодействие с метаклассами и синтаксис для объявления параметров); На самом деле я не могу найти никаких преимуществ для Python 2 с точки зрения «собственно Python».«Экосистема» вокруг Python, как уже обсуждалось, - это другое дело, но она уже развивается (конечно, в своем собственном темпе, который определенно не находится под контролем Python Software Foundation, а скорее, много внешних групп разработчиков и несколько фирм).

Например, PyQt уже доступен для Python 3 (а также для Python 2), и вы можете использовать PostgreSQL (великолепный движок базы данных SQL с открытым исходным кодом, гораздо более стандартный, чем MySql) через py-postgresql . Итак, если сторонние расширения, по которым вы тоскуетесь, это (скажем) wxpython и mysqldb, возможно, вы можете попробовать эти альтернативы (я, конечно, предвзято, так как я давно предпочитаю Qt wxWidgets и PostgreSQL MySQL, чисто по техническим причинам - но быстрое портирование связанных расширений Python на Python 3 также намекает на то, что эти расширения разрабатываются более активно и энергично, так что это может быть еще одним стимулом для их опробования ;-).

18
ответ дан 29 November 2019 в 01:07
поделиться

, другие итераторы (например, ] dict.keys () ) будет большим стимулом для веб-приложений.

Основная команда приложит больше усилий для создания новой версии. Новые книги могут быть посвящены python 3 (см. «Погружение в Python»), но настоящая работа все еще выполняется на python 2.

Рано или поздно большие библиотеки (numpy, wx, django) будут перенесены. До тех пор, пока эта большая тройка не переключится, я не вижу много людей, использующих python 3. Но эти проекты не являются невозможными для переноса.

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

0
ответ дан 29 November 2019 в 01:07
поделиться

Главное, что сейчас сдерживает Python 3.x, - это отсутствие сторонних библиотек. Я конвертирую свой код, как только SciPy будет портирован.

6
ответ дан 29 November 2019 в 01:07
поделиться

Python 3 будет новым стандартом в будущем.

Поскольку в ближайшее время в Python 3 не планируется серьезных изменений, со временем на него перейдет больше людей. Итак ... хотя сейчас существует множество приложений Python 2, в конечном итоге многие из этих приложений будут перенесены. Для этого есть даже инструмент 2to3 .

Кроме того, почему вы говорите, что Python 2 лучше, чем 3? В Python 3 было внесено много улучшений языка, и даже IDLE улучшен. Одной из основных причин обновления является то, что unladen-swallow переходит на python 3 , что значительно улучшит производительность.

7
ответ дан 29 November 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: