LINUX.ORG.RU

Сдвоенный выпуск PyPy2.7 и PyPy3.5 v6.0

 ,


1

3

Команда разработчиков PyPy выпустила PyPy2.7 v6.0 (интерпретатор, поддерживающий синтаксис Python 2.7) и PyPy3.5 v6.0 (интерпретатор, поддерживающий синтаксис Python 3.5). Оба выпуска во многом основаны на единой кодовой базе, что и позволило подготовить их совместный выход.

PyPy — совместимый интерпретатор Python, во многом годящийся на бесшовную замену CPython 2.7 и CPython 3.5. PyPy быстр (сравнение производительности PyPy и CPython 2.7.x), благодаря встроенному трассирующему JIT-компилятору.

Этот выпуск продолжает линию, намеченную предыдущим выпуском 5.10 в декабре 2017 года.

  • cpyext, слой совместимости для C-API, теперь как намного быстрее (запись в блоге), так и более близок к завершенности. Сделано много других улучшений в плане скорости и совместимости с CPython. Поскольку изменения влияют на подключаемые заголовочные файлы Python, все Си-расширения должны быть перекомпилированы заново для этой версии.
  • GC теперь имеет хуки, для получения большей информации о его производительности.
  • TkAgg, бэкенд Matplotlib по умолчанию, теперь работает с PyPy, также как и pygame, и pygobject.
  • Обновлены библиотека cffi до версии 1.11.5 и бэкенд cppyy до версии 0.6.0.

Как и всегда, этот выпуск полностью совместим с предыдущим и исправляет несколько замечаний и багов, выявленных сообществом пользователей. Поэтому строго и настоятельно рекомендуется обновиться.

  • Выпуск PyPy3.5 для Windows по-прежнему считается находящимся в статусе «beta». Есть открытые замечания, связанные с обработкой Юникода, особенно вокруг системных вызовов и Си-расширений.
  • utf8-ветка, которая изменяет внутреннее представление Юникода на UTF-8, не вошла в выпуск.

Выпуск v6.0 можно загрузить отсюда: http://pypy.org/download.html

PyPy поддерживает:

  • x86-машины с большинством основных ОС (Linux 32/64 битные сборки, Mac OS X 64 …, Windows 32 …, OpenBSD, FreeBSD);
  • новое ARM-«железо» (ARMv6 или ARMv7, с VFPv3) под управлением Linux;
  • big- и little-endian варианты PPC64 под управлением Linux;
  • s390x под управлением Linux.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Кто-нибудь на продакшене юзает? Как ощущения?

meequz ★★ ()

основаны на единой кодовой базе

как так получается, что pypy - тюринг-полный, а питон - нет?

anonymous ()
Ответ на: комментарий от anonymous

как так получается, что pypy - тюринг-полный, а питон - нет?

Наркоманы ИТТ.

anonymous ()
Ответ на: комментарий от anonymous

я тут почитал немного про это, какой-то статически-типизированный rpython он использует. может в этом дело? это имеет смысл, если pypy и питон написаны на разных языках, то один может быть тьюринг-полным, а второй не обязательно.

anonymous ()

одного питона было слишком а тут вон их сколько. нашествие.

anonymous ()
Ответ на: комментарий от anonymous

А ты точно понимаешь что такое полнота по Тьюрингу?

MrClon ★★★★★ ()

Питон давно пора закопать. Почему с этим убогим язычком все носятся? Он же хуже php.

Всем по go, посоны.

anonymous ()
Ответ на: комментарий от anonymous

Всем по go, посоны.

У тебя столько опечаток в слове «Rust».

Virtuos86 ★★★★★ ()
Ответ на: комментарий от anonymous

основаны на единой кодовой базе

как так получается, что pypy - тюринг-полный, а питон - нет?

— Закусывать надо!

Virtuos86 ★★★★★ ()
Последнее исправление: Virtuos86 (всего исправлений: 2)

Жаль,что хорошие вещи пишут для откровенного у*бищного недоязыка.

DRVTiny ★★★★★ ()
Ответ на: комментарий от DRVTiny

Ты упорот, но отвечу: если пройти по ссылке, то в конце блогозаписи есть такое:

We also welcome developers of other dynamic languages to see what RPython can do for them.

Пройдя по той ссылке, можно увидеть, что на RPython не только PyPy написан, но и разные прикольные штуки, хотя я сомневаюсь, что там есть что-то действительно серьёзное и стоящее.

Хотя, я же забыл, что у тебя попоболь, что для Perl нет аналогичного PyPy проекта, что даже мне странно.

Virtuos86 ★★★★★ ()
Ответ на: комментарий от anonymous

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

menangen ★★★★★ ()
Ответ на: комментарий от Virtuos86

Всем по go, посоны.

У тебя столько опечаток в слове «Rust».

всё поделки. «managed c++» майкрософт делала ещё в 1998 году, просто школьники про это не помнят и надрачивают на рекламу, только теперь не от майкрософт, а от мозилы. го - в общем-то очень годная вещь, но чисто для бекэндов, типа нишевая. а для скриптоты, так чтобы ничего не компелировать, а просто запустить скрипт, язычков-то и не осталось. люди пишут скрипты на шеле в 2018 году. а что ещё остаётся посоны? питон - не тьюринг-полный, перл - write-only, луа - ущербна, остаётся шел.

anonymous ()
Ответ на: комментарий от anonymous

питон - не тьюринг-полный

Тут полтреда ждут, когда ты уже дашь определение того, что ты понимаешь под Тьюринг-полнотой. Потому что оно, очевидно, отличается от каноничного.

Virtuos86 ★★★★★ ()
Ответ на: комментарий от anonymous

https://en.wikipedia.org/wiki/Turing_completeness
Most programming languages, conventional and unconventional, are Turing-complete. This includes:
All general-purpose languages in wide use.
Procedural programming languages such as C, Pascal.
Object-oriented languages such as Java, Smalltalk or C#.
Multi-paradigm languages such as Ada, C++, Common Lisp, Object Pascal, Python, R.

Твой пример тебя опровергает.

hippi90 ★★★★ ()
Ответ на: комментарий от hippi90

ну это же википедия, туда часто пишут люди далёкие от предметной области. рядом с питоном должна быть пометка «[citation needed]».

anonymous ()
Ответ на: комментарий от anonymous

Приведи пример, доказывающий неполноту Python по Тьюрингу.

Virtuos86 ★★★★★ ()
Ответ на: комментарий от Virtuos86

не может интерпретировать код от питон 2.

anonymous ()
Ответ на: комментарий от anonymous

Твой пример тебя опровергает.

ну это же википедия, туда часто пишут люди далёкие от предметной области.

Тем не менее, ты ссылаешься на википедию для подтверждения своих слов. Okay.

Virtuos86 ★★★★★ ()
Ответ на: комментарий от anonymous

не может интерпретировать код от питон 2.

Полнота по Тьюрингу — характеристика исполнителя (множества вычисляющих элементов) в теории вычислимости, означающая возможность реализовать на нём любую вычислимую функцию. Другими словами, для каждой вычислимой функции существует вычисляющий её элемент (например, машина Тьюринга) или программа для исполнителя, а все функции, вычисляемые множеством вычислителей, являются вычислимыми функциями (возможно, при некотором кодировании входных и выходных данных).

Конвертируй код, написанный для Python 2, в код написанный для Python 3. (Хотя с чего бы это Python 3 обязан выполнять код, написанный на в основном совместимом, но другом ЯП?)

Virtuos86 ★★★★★ ()
Последнее исправление: Virtuos86 (всего исправлений: 1)
Ответ на: комментарий от Virtuos86

ну смотри, pypy может интерпретировать и питон 2 и питон 3 на одной кодовой базе, а питон 3 не может интерпретировать код от питон 2. кто из них не тьюринг-полный?

Конвертируй код, написанный для Python 2, в код написанный для Python 3.

лучше сразу в го.

anonymous ()
Ответ на: комментарий от anonymous

тьюринг-полный

То, о чём ты пишешь, называется «обратная совместимость», а не «тьюринг-полнота». Ну да, Python 3 обратно несовместим с Python 2.

Virtuos86 ★★★★★ ()
Ответ на: комментарий от Virtuos86

Ну да, Python 3 обратно несовместим с Python 2.

потому что он не тьюринг-полный. прув ми вронг.

anonymous ()
Ответ на: комментарий от anonymous

мне в общем то похер на какую-то там полноту

что анонимус не может написать на python ?

MHz ()
Ответ на: комментарий от MHz

Ядро ОС, движок браузера, 3D-игру, кад, РСУБД. Ничего из этого анонимус не может написать на питухоне.

anonymous ()
Ответ на: комментарий от MHz

что анонимус не может написать на python ?

Не удивлюсь еслт конкретно этот анонимус не может написать ничего кроме хеловорда. И не только на python

MrClon ★★★★★ ()
Ответ на: комментарий от anonymous

Ты придуриваешься, или действительно такой?
Node.js не может выполнить php код, php не может выполнить js код. Перл, баш, руби и далее со всеми остановками до брейнфака то же самое.
Походу вообще всё не тьюринг-полно! Даже Pypy, он сишечку выполнить не может.

Прочти викистатью на которую ссылаешься. А потом все статьи на которые ссылается та статья

MrClon ★★★★★ ()
Ответ на: комментарий от MHz

написать все что угодно, только это не рентабельно.

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

останется только написать автотесты для юнит тестов. понятно на каком языке, ибо зачем плодить несколько.

anonymous ()
Ответ на: комментарий от anonymous

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

anonymous ()
Ответ на: комментарий от anonymous

интерпретатор питона 2 нельзя написать на питоне 3

я не знаю что у тебя там происходит, но всё же посмею напомнить, что можно, т.к. пытухон 2 всё-таки турник-полный, т.к. на нём мона написать интерпретатор турник-машыны:

https://www.python-course.eu/turing_machine.php

Joe_Bishop ()
Последнее исправление: Joe_Bishop (всего исправлений: 1)
Ответ на: комментарий от Joe_Bishop

не, не катит как пруф. питон 2 может быть и тьюринг полный, а питон 3 уже нет. если бы он был тьюринг-полным, то он мог бы интерпретировать байт-код от питона 2 потому что тьюринг-машина может выполнить любую вычислительную задачу по определению. питон 3 этого не может, значит это не тьюринг-машина. речь идёт даже не о разнице в синтаксисе, а о выполнении питоновского же байт-кода питоновской же виртуальной машиной.

вообще я не понимаю почему так бомбит от того, что питон не тьюринг-полный. вот луа тоже не тьюринг-полная, работу с битами только в 5.3 доделали, какая тьюринг-полнота? и вообще язычок живёт какой-то своей рептилоидной жизнь, модульная арифметика? не, не слышали, лучше индексы с единицы будут начинаться. но всем как-то пох, а от тьюринг-неполноты питона почему-то бомбит. хотя dsl - это тоже хорошая ниша для доморощенного язычка программирования.

anonymous ()
Ответ на: комментарий от anonymous

этот код работает и в питоне 2, и в питоне 3. Т.е. и на питоне 2, и питоне 3 пишется интерпретатор турник-машины.

т.е. ошибка в твоём словесном поносе

Joe_Bishop ()
Ответ на: комментарий от anonymous

Питон давно пора закопать. Почему с этим убогим язычком все носятся? Он же хуже php.

Плюсану этого анонима. Тоже изумляюсь. Одно только протаскивание this явным аргументом чего стоит. «Data hiding» через префиксы имён членов - тоже шедевр. В туториалах, помнится, заявлялось, что контроль типов строже, чем в C/C++ - это не просто враньё, это к психиатру; упомянули б только C - было бы ещё что обсуждать. Лямбды, которые могут быть только простыми выражениями - это издевательство над ФП. Ну и за метод next() итераторов, бросающий исключение если больше нет элементов, тоже надо отрубать руки нахрен.

Помнится, была знаменитая статья-крик души «php: a fractal of bad design», под которой я мог бы подписаться - за исключением «I loooove python» и прочих восхвалений этого уродства, ничуть не менее кривого чем php. Особенно вставило, как автор ругался: зачем две функции sort() и rsort(), когда вот в питоне например есть sort(, bool reverse); и ничего у человека не пошевелилось, что восхваляет ещё большее уродство.

P.S. Мой опыт участия в обсуждении в какой-то новости про closure показывает, что адепты динамически-типизированных языков очень болезненно воспринимают любую критику, мгновенно скатываясь в личное хамство. Наверное, срабатывают/выплёскиваются тщательно запрятываемые комплексы от подсознательного понимания, что защищают херню. Так что на всякий случай сообщаю: я всё сказал. :)

dimgel ()
Ответ на: комментарий от dimgel

адепты динамически-типизированных языков очень болезненно воспринимают любую критику, мгновенно скатываясь в личное хамство

мы не виноваты, что динамически типизированные ЯП критикуют полные ...

t184256 ★★★★★ ()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от dimgel

Это ничего, ты видел демонстрацию моего выше по треду? Это же ... с ...

t184256 ★★★★★ ()
Ответ на: комментарий от anonymous

питон - не тьюринг-полный

Ловите норкомана!

перл - write-only

«Программу на Фортране можно написать на любом языке».

DNA_Seq ★★☆☆☆ ()
Ответ на: комментарий от dimgel

Одно только протаскивание this явным аргументом чего стоит

Си++-утятам трудно, но идея правильная.

tailgunner ★★★★★ ()
Ответ на: комментарий от anonymous

Дурилка, любой процедурный язык тьюринг-полный. Не тьюринг-полными бывают только декларативные языки и там это не баг, а фича. Поскольку программа на тьюринг-полном языке может исполнятся бесконечное время, а от экспертных систем и баз данных ждут ответа за конечное время. Но поскольку это слишком сложно для быдлокодеров, даже большинство диалектов SQL и LaTeX сделали тьюринг-полными.

DNA_Seq ★★☆☆☆ ()
Ответ на: комментарий от dimgel

адепты динамически-типизированных языков очень болезненно воспринимают любую критику

Мсье, жабосиньор с 3+ опытом - несомненно круто, чо... Но вот подрастете и поймете, что инструмент выбирают по задаче, а не ходят с транспарантами «ХХХ нашефсио, все что не ХХХ - полное УГ»

Linfan ★★★★★ ()
Ответ на: комментарий от Joe_Bishop

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

в вашем понимании программа на питоне - это текстовый файл который интерпретируется интерпретатором. а не хочешь ли ты взять питон 2 и откомпилировать «этот код» в байткод, который и будет интерпретироваться интерпретатором на самом-то деле, затем взять этот байткод и выполнить его в интерепретаторе питон 3?

anonymous ()
Ответ на: комментарий от DNA_Seq

ты со своим тьюринг-полным sql тоже жжёшь. не в курсе, что скл-запрос тоже транслируется в байткод и даже оптимизируется, не, не слышал? декларативные языки, да? ну-ну.

anonymous ()
Ответ на: комментарий от anonymous

Несомненно это важная вещь - поддержка байткода из несовместимой версии и отрицает право на жизнь для ЯП :) Как только такое появляется, сразу же к счастливому пейсателю кода приходят единороги, розовые пони и безбажный кодинг в одном флаконе.

Linfan ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.