Подготовлен выпуск проекта Nuitka 0.6.6, в рамках которого развивается компилятор, позволяющий транслировать скрипт на языке Python в представление на C++, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Обеспечена полная совместимость с актуальными выпусками Python 2.x и 3.x. По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 312%. Код проекта распространяется под лицензией Apache...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=52145
Никак питонисты не могут преодолеть до конца эту "великую схизму" версий
Гвидо осознал что это навсегда - поэтому с горя и отстранился от раработки
Что поделать, хипстерам не объясняли что можно задолбаться быть даже BDFL'ом :)
Питонисты-то давно преодолели, и я бы сказал что несовместимая 3-я версия это лучшее что случилось с питоном, а другим языкам тянущим гнилую легаси десятилетиями следовало бы поучиться. Не осилил только кто даже не пытался.
> другим языкам тянущим гнилую легаси десятилетиями следовало бы поучитьсяУ других языков изначально все более-менее гладко, развитие происходит путем добавления новых фич, максимально используя уже существующие выразительные средства.
В пихоне же автор выдумывает что-то пРиКоЛьНое))), потом оно ему уже не кажется таким уж пРиКоЛьНым))), и он выдумывает что-то альтернативно-пРиКоЛьНое))). И далее по кругу, как левый мизинец правой ноги пожелает.
Вот выдумал гвидончик для вывода в стдоут юзать... кейворд, а не функцию:
print 'Hello World!'
Потом гвиндочик вырос, понял, что нужно было изначально делать print функцией, а не кейвордом. В других языках это понимали с самого начала, а гвидончик не понял ни с первого (python 1), ни со второго (python 2) раза.
В итоге из-за того, что гвидончику обобщения даются нелегко, и из-за того, что каждую новую задачу он решает новой пРиКоЛьНой))) синтаксической конструкцией, имеем кучу несовместимостей. Да что уж там, даже однострочный хелловорлд нужно писать по-особому, чтобы он заработал везде.
> У других языков изначально все более-менее гладкоЭто что-ж такие за языки такие валшебные такие? (Высунув язык конспектирует)
"print на самом деле не является настоящей функцией (это конструкция языка), поэтому заключать аргументы в скобки необязательно. "
Вы уж простите за грубость, но кто использует "print" в коде? Школьники?
Если Вы работаете более менее плотно с Python, то используете logging или более оптимальную замену, а если Вы про концепт, так "Мало ли в Бразилии педров" в смысле полным полно полудохлых концепций и идей в языках сегодня. А если про стандартным библиотекам пройтись? Полным полно не реентерабельных, потокоопасных и т.д. и т.п.
>Вы уж простите за грубость, но кто использует "print" в коде? Школьники?Это настолько детский лепет, что даже вызывает удивление. Сплошь и рядом print() используется и в консольных программах, и при отладке. А вот как раз logging используется только при сложной отладке, и в вебе.
Это что-ж такие за языки такие валшебные такие?
с#,
java,
Ну, кстати, тут стоит вспомнить php-шный echo, который киворд (и при этом print - функция, насколько я помню)
в php echo и print тоже оператор, а не функция.
print в php все же функция, ключевым словом только echo является
В официальной документации документации сказано обратное. Вот printf действительно функция.
Да, и правда... А многие пишут, что принт - функция
> Вот выдумал гвидончик для вывода в стдоут юзать... кейворд, а не функциюНу, это ещё самое малое зло. А вот использование выравнивания для определения блоков так и не убрали. Ну, может, в 4-ом питоне...
Разве это не преимущество питона? Все говорят, что это как раз нехилый плюс
Часто бывает нужно попробовать заменить тот или иной кусок кода, закомментировав старый, а из-за выравнивания эта тривиальная операция превращается в боль.
Это от редактора зависит. Например, в Emacs -е все это делается выделением куска кода, а затем командой "comment-region" или "uncomment-region". Будет весь кусок закомментирован или раскомментирован. А если эти команды повесить на клавиши, то и еще проще.
> У других языков изначально все более-менее гладко, развитие происходит путем добавления новых фич, максимально используя уже существующие выразительные средства.Ага, скажите это C++.
> У других языков изначально все более-менее гладко, развитие происходит путем добавления новых фич, максимально используя уже существующие выразительные средства.Особенно это заметно на примере C++.
рад что питон 2.7 жив и будет жить
Python2 и Flash — кто кого...
Питон2. Ибо прост и доступен. В пику кастовости и нишевости.
А Python 3 сложен и не доступен?Просто какие-то товарищи все еще используют чей-то легаси, который отлично работает и платить за апгрейд не собираться вот для них начинает расти стоимость технического долга и рано или поздно она будет равна стоимости обслуживания ситсемы и тогда они скорее всего задумаються об обновлении.
Есть что полезного?http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=py2removal;...
Ни много ни мало: mercurial. Получается, что популярность упала настолько, что такой вопрос вообще возник. Тогда разработчики в срочном порядке объявили, что вот-вот мы заявим, что следующий релиз будет "стабильным" на третьем питоне.А tortoise-hg уже выкинули.
При попытке открывать большие файлы на diff в Meld, можно убедиться, что там дефект в дизайне. Открываешь в diffuse - и никаких проблем. diffuse выкинули.
> 21 Dec 2019: fonts-noto-color-emoji (0~20180810-1.1) unstable; urgency=medium* Change build-dependencies from python-nototools to python3-nototools
(Closes: 943022)
* Apply upstream patches for python 3 support.Во, попёрло 👍
а как у него производительность/жор ресурсов, в сравнении с нативным питонячьим кодом? (Ну, т.е - запустить рядом скомпилированный нуиткой бинарь и helloworld.py, из которого этот бинарь был сделан)
Работает реально быстрее пока нет активной работы с юникодовыми строками, там получается адское падение скорости в 5-10 раз, по крайней мере один год назад так было, из чего отказался использовать. Нуитка не умеет работать с питон2 оболочкой gtkglext почему то.
>развивается компилятор, позволяющий транслировать скрипт на языке Python в представление на C++Пишут на пистоне, чтобы потом транслировать в C++?! Не проще сразу на C++ и не парить моск созданием костылей?
А кто сказал, что вчерашние пистонописатели после курса "кресты за 21 день" напишут сразу на с++ код лучше, чем нуитка оттранслирует? На крестах по-человечески писать за один вечер не получится, думать надо, а это время. В каких-нибудь саенсах может быть реальной проблемой найти людей, пишущих более-менее приличный код и не на питоне, что теперь, благотворительно учить глухих слепыми?
Как вам сказать, на питоне писать раз в 6 быстрее и проще. А ещё там ногу себе прострелить сложно.
> Как вам сказать, на питоне писать раз в 6 быстрее и проще.А думать и проектировать во сколько раз быстрее?
> А ещё там ногу себе прострелить сложно.
Помню, исправлял в плагине Kodi опечатку в имени переменной.
для этих случаев придумали Rpythonhttps://rpython.readthedocs.io/en/latest/rpython.html
который совместим с python 2.7 конечно
> для этих случаев придумали Rpython
> https://rpython.readthedocs.io/en/latest/rpython.html
> который совместим с python 2.7 конечноRPython придумка ученых (ну т.е. для конкретной реализации пинали ассистентов и студентов, все как обычно) исследоваших "динамические языки программирования".
Поэтому RPython -- фреймворк для написания интерпретаторов дин. ЯП. (в первую очередеь PyPy) с кучей плюшек и автомагии, но не с (первоочередной) целью решения каких-то конкретных "реальных" задач.
И уж конечно, он не совместим с python2.7 - там строго типизованное подмножество.
https://rpython.readthedocs.io/en/latest/faq.html#what-is-rp...
> What is RPython?
> RPython is a framework for implementing interpreters and virtual machines for programming languages, especially dynamic languages..
> Can RPython compile normal Python programs to C?
> No, RPython is not a Python compiler.
> In Python, it is mostly impossible to prove anything about the types that a program will manipulate by doing a static analysis. It should be clear if you are familiar with Python, but if in doubt see [BRETT]..
> Do I have to rewrite my programs in RPython?
> No, and you shouldn’t try. First and foremost, RPython is a language designed for writing interpreters. It is a restricted subset of Python. If your program is not an interpreter but tries to do “real things”, like use any part of the standard Python library or any 3rd-party library, then it is not RPython to start with. You should only look at RPython if you try to write your own interpreter.
- совместимость в запуске на python 2.7- ну и что что пишут что это про создание интерпретаторов - можно смело использовать для своих нужд
А не подскажет ли уважаемая публика - чем такой хелп как у сабжа генерят?
Не первый раз этот шаблон вижу. Это что-то похожее на dixygen?
sphinx-doc.orgТам в самом низу страницы мелким написано.
единственная плющка - в том чтобы можно было создавать бинари без зависимостейскорости на самом деле не много прибавится т к используются те же механизмы для совместимости и libpython
> Пишут на пистоне, чтобы потом транслировать в C++?! Не проще сразу на C++ и не парить моск созданием костылей?Писать на С++, чтобы потом транслировать в асм и машкод? 😕
Не проще сразу вбивать опкоды и не парить моск созданием костылей и лишних абстракций?
> Пишут на пистоне, чтобы потом транслировать в C++?! Не проще сразу на C++ и не парить моск созданием костылей?Пишут на С++ чтобы транслировать в машинные коды?! Не проще ли сразу на машинных кодах и не парить моск созданием костылей?
Прощальные гастроли затянулись.
Модераторы скрыли комментарий с ссылкой о состоянии в Debian пакетов, зависящих от Python 2.
Видать кто-то боится конкуренции альт линуксу 😮
Ну и ладно. А так в Ubuntu 20.04 посмотрел — из коробки 📦 уже не стоит.
Так что вперёд в будущее 👉
Видать кое-кто так и не научился тыкать мышкой в ссылочки.СКРЫТО Отмодерировано: ASKBOT, Форсирование: Наличие жалоб
Ну я понимаю, что багтрекер дебиана – это очень страшная вещь, но всё же странная реакция...
Да вполне обычная реакция - набросил на модеров, оказался не прав и теперь старательно забалтывает исходный посыл.
Ничего не понял, ну ладно...
Этош ипоня чего ты от него хотел?
Ну да... труд создал из обезьяны человека, а из лошади транспорт.
Вы забыли в самом конце добавить эможи: 👌
На сколько я недавно узнал сабж не поддерживает PySide 2 по каким то своим внутренним идеологическим причинам. Ну и пошел он гулять заюзал pyinstaller как и всегда, для создания стендэлон аппликейшена.
Это лучшее что есть в этом направлении, если вы не используете юникод строки. По крайней мере для питон2.
Петон - это костыль для мозга)) Именно потому .. <можно подставить все, что угодно>. А уж сколько хромых ныне в кодинге не мне вам говорить.
Пихтон прекрасный ЯП, если используется только для пресловутого прототипирования. Но поскольку незрелые умы используют его для написания «боевого» ПО — да, это таки рак.
Слова-то какие, г-спади! Но я пожалуй тупо выпью, ну не кодить же?
* Как можно считать нормальным йазык с этими отступами, аа?
> * Как можно считать нормальным йазык с этими
> отступами, аа?Когда-то все языки (все 3,5) были с отступами. Отступы — наше всё!
А кому-то - скобки нопример!
> * Как можно считать нормальным йазык с этими отступами, аа?Чисто читаемый. Сравнивая со "скобочными".
Трудности с самодисциплиной?? А тогда не надо нам путанного и неряшливого кода от таких.
А это зависит уже от редактора кода, амиго. Ты надеюсь не про блокнот (бумажный или вендовый)?> Трудности с самодисциплиной??
Просто_неприятно.
>Пихтон прекрасный ЯП, если используется только для пресловутого прототипированияНу, в его "нишу" еще можно приписать небольшие скрипты для автоматизации сисадминов или использование как "язык-клей", когда легкая оболочка "дергает" высокопроизводительные либы.
Вебня на питоне отлично пишется в разумные сроки.
Ты даже в русском языке хромой, молчал бы лучше.
> Прекращение поддержки Python 2.7 перенесено на апрельЧото ржу. :) А с каким пафосом били себя в грудь!
А смысл отказываться? 3.8, почти наверняка, никуда внедряться не будет. И дальнейшее развитие питона как языка, тоже под большим вопросом.
Под большим вопросом состояние твоей психики.
Проекты типа Octoprint плотно сидят на 2.7. И, скорее, перейдут на Go, чем на питон 3.
А что это такое? Сколько у него пользователей? Где посмотреть исходники?
Для тех, кого в гугле забанили -1. https://octoprint.org/ : The snappy web interface for your 3D printer.
2. }{3
3. https://github.com/foosel/OctoPrint
а их багтрекер говорит об ином
https://github.com/foosel/OctoPrint/issues/2722#issuecomment...
У них прикол в том, что идея сделать управление 3d принтером на питоне работала, пока принтеры были медленными. Сейчас же, для того, чтобы оно хоть как-то работало, они требуют самые свежие платы RaspberryPi, при том, что реально вычислительная нагрузка почти никакая. Проклятье питона в действии.....
Это что, если случайно запустить что-то (например, распаковку архива) параллельно, может поплыть печать?
Оно выдаёт команды принтеру в реальном времени. Команды там типа типа сделать столько-то шагов по оси такой-то, выдавив филамент на столько-то шагов (управление везде шаговыми двигателями). При этом надо понимать, что филамент после выдавливания должен охлажаться. На него дует поток с вентиляторов. Соответственно, можем получить неоднородности в скорости охлаждения и склейки слоёв, если команда на перемещение не была выдана вовремя. Ну и, чистая потеря времени. Принтер может печатать быстрее, чем octaprint выдавать команды.Бинарные, но, к сожалению, закрытые программы управления типа https://www.astroprint.com/download-3d-printer-software работают на куда более слабом железе.
Спасибо за разъяснения. Смысл проблемы понятен, не мог представить, что кто-то допускает такое.
> обеспечена совместимость с библиотеками и приложениями sklearn, osgeo, gdal, dill, scikit-image, skimage, weasyprint, dask, pendulum, pytz и pytzdataНу, pytzdata
Вот уж почти смешно. Убило вот такое отношение, прилетело нынче в обновлениях:"Чувак, мне пофек, я заменил в своей либе язык и не меняю ни название ни версию либы, совместимость у тебя теперь сломана и потеряна, а ты поменяешь свои скрипты, не развалишся."
apt-listchanges: News
---------------------libplist (2.0.1~git20190921.6a53de9-1) unstable; urgency=medium
This package version drops the python-plist package with Python 2 bindings
and replace it with python3-plist package with Python 3 bindings.
.
If you use plist in Python 2 scripts you will have to port those scripts to
Python 3.-- Yves-Alexis Perez <corsac@debian.org> Tue, 24 Sep 2019 08:43:45 +0200