Доступен выпуск проекта Nuitka 2.2, развивающего компилятор для трансляции скриптов на языке Python в представление на языке C, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Обеспечена полная совместимость с актуальными выпусками Python 2.6, 2.7, 3.3 - 3.11. По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 335%. Код проекта распространяется под лицензией Apache...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=61154
> скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 335%Хорошо, но от производительности С очень далеко.
Но и сложность написания кода гораздо ниже.
Кому-то будет вполне достаточно такой производительности
Для домохозяек пойдёт
Домохозяйки не умеют программировать. Как раз таки для повышенной производительности, что аж понадобилось вручную памятью рулить, нужны очень веские причины. Для всего остального 98% программирования нужен только высокий уровень абстракций.
А сложность отладки в Py выше на крупных проектах.
Это ложь.
Питон про производительность программиста (выполнение поставленной ему задачи), а не программы (задачи поставленной компьютеру). Удивительно, но задача может быть выполнена на порядок быстрей, даже если сама вычислительная программа на порядок медленней. Искуство заключается в выборе инструмента подходящего конкретной задаче.
Пробовали несколько раз, в разное время на разных проектах. Изменения производительности не обнаружили, поэтому не используем.
Оно не про "скорость", а про _доставку_ как по мне. Т.е. сравнивать надо с каким-нибудь pyinstaller'ом.
У меня вот получилось хелловрот в сишечку перегнать - и в платформенно-независимый бинарник cosmopolitan'ом собрать - и оно таки запускалось хоть под винду, хоть под линуксом... сложнее хеловрота, правда, не получилось - ну-да не больно-то и хотелось, если честно ))
Я в него завернул трёхкнопочный гуй на кутях (софт - автоматизация рутины для "секретарш", ничего сложного).
Работает вообще без проблем, а на всё про всё я потратил что-то около одного рабочего дня.Имхо, сабж идеален для вот таких вот задач.
> Я в него завернул трёхкнопочный гуй на кутях (софт - автоматизация рутины
> для "секретарш", ничего сложного).
> Работает вообще без проблем, а на всё про всё я потратил что-то
> около одного рабочего дня.
> Имхо, сабж идеален для вот таких вот задач.Ну, "идеален" скорее всего - "близко нет", но "можно и так". Коллега, кстати, современную питонятину таким образом умудрился аж на вынь-ХРень затащить - так-то тот еще challenge, но как оно там заработало яхз, не выяснял.
Если бы я мог использовать вот эту Нуитку для питон-плагинов к Cudatext то была бы реальная польза. А так.... Ну да, кто то найдёт применение...
Она не нуитка, а Нютка, Анютка.
нютка-анютка это niutka, а не nuitka.
Nuitka is short for Annuitka, which is the nickname of my wife Anna who is Russian... here a recent shot with my son David.I one day made her the compiler as a gift. Much better name than "Py2C", right?
Автор явно не носитель языка. И не понимает откуда что берется. И как называется. И скорее всего абьюзер раз жена ему не смогла объяснить как что пишется и как читается.
Не, точно ни утка.
Вместо того чтобы учить СИ, С++ они выдумывает это.
Вместо того, чтобы пилить очередной дырявый сплит в стопицотый раз они выбирают это… просрали поколение
Тебя бы на лекцию по CS, тебе бы таких люлей ввалили за ссылки на си и кресты. Вредные советы!
Как профессиональный программист на C++ скажу что ни за что не начал бы писать на нём что-либо за пределами работы. Просто кошмарное количество boilerplate кода надо набить прежде чем увидишь хоть какой-нибудь результат. И подозреваю что Rust ваш ничем не лучше.Python - он для души.
Для души - это перл, луа. Питон - это когда программировать не умеешь.
>Для души - это перлЕсли душа мученика, то да, самое то.
Отступы. Спринтфопараша. Тормоза. Отсутствие обратной совместимости. Зоопарк несовместимых версий. Зоопарк джитов/компилеров/транспилеров. Негодность всего этого барахла в продакшен (из-за нестабильности даже родной реализации, которая нагрузку не вывозит).
И вишней на торте идеология единственно верного способа, которая связывает программиста по руками и ногам, не дозволяющая ему писать собственный неидеальный код. Это конечно не мученичество, а унылая ультраортодоксальная секта, популярная у ограниченных людей.На уровне кода плюс минус те же возможности на-рать себе за шиворот, как и в перле. Язык достаточно обсахаренный для этого. Питон в принципе повторяет перл за исключением юниксовых штук, которых в нем нет, и намеренного избегания всего сишного (и перлового!).
И очень хочешь быстро научиться.
Хочешь, но не можешь и вынужден каждую вещь повторяешь из примера в документации (ТОЛЬКО ОДИН СПОСОБ ДЕЛАТЬ ЭТО).
Всё верно. В Rust нет ничего такого, чем он не был бы лучше плюсов.
Вот уже лет 5 работаю с плюсами, у меня есть на работе знакомые скуфы которые уже по 30 лет с плюсами и сишкой работают, и ничего хорошего они про нее не говорили ниразу.
>полная совместимость с актуальными выпусками Python 2.6, 2.7Актуальными? Особенно, первый.
Совместимость всегда актуальна.
Дело-то хорошее. Вот только зачем, если с учетом опыта питона уже запилен голанг?
Ушло время, когда нужен был интерпретатор в командной строке виндовс, который работал бы без ненавистного юникса с его $? $` и был при этом достаточно простым. Это время было 15-20 лет назад. Давно все в облаке и в контейнерах, там есть все мыслимые и немыслимые батарейки.
Эта лошадь сдохла - слезь.
Ну, если задача - перекидывать жысоны по сети - то да, незачем.
Практически во всех остальных случаях гошечка нуууэээ... нифонтан, мягко говоря.
> Ушло время, когда нужен был интерпретатор в командной строке виндовс, который работал бы без ненавистного юникса с его $? $' и был при этом достаточно простым.Почему ушло? Ничего не изменилось, мне по прежнему проще, быстрее и нагляднее накидать несколько строк на Python (которые ещё и работать будут везде), чем разбираться с этой вот клинописью $?$ или %~n0. Последнее из винды если что.
Кто же виноват что все эти древние языки оболочек такие убожественные?
Сейчас можно любой язык и стек взять, любые зависимости описать декларативно и все это будет работать в контейнерах без какого-либо напряга со стороны программиста. Во времена создания питона на винде было крайне проблематично завести перл с зависимостями (они в нем в основном компилируемые и под винду не портабельные в массе). Перл приходилось ставить в виде проприетарных сборок с ограниченным набором поддерживаемых модулей. Для обычного ламера питон установить на винду было многократно проще. Вместе с питоном сразу же поставлялись какие-то модули. Т.е. оставалось только писать скрипты. Батарейки в комплекте - это про это. В перле всегда была модульность настоящая и надо было устанавливать зависимости из cpan (задолго до всяких слизанных с него pip/npm и прочих клонов). Понятно, что типичный юзер не понимал, как это работает.
А дальше по накатанной, юзеру внушалось, что и сам язык понятнее других, и вообще подходит для всего. Основной секрет популярности конечно был в том, что его начали преподавать студентам непрограммистских специальностей в США, для вспомогательных задач подготовки данных, научных расчетов и так далее. Они уже по привычке потащили его дальше. В гугле на нем сделали CI/CD (тогда еще термина такого не было).
Но уже к 2010 непригодность питона стала очевидной. Выгоды в плане простоты установки и начала программирования были невелики (уже умеющих писать код найти в общем-то не проблема), а сложность сопровождения кодов на нем напротив, стала давить, как и низкая производительность.
Одно дело, когда ты запускаешь скрипт и тебе все равно, отработает он за секунду или за десять (хоть за сто - лишь бы отработал). И совсем другое, когда тебе надо для какого-нибудь сервиса 10 серверов вместо одного. 10 стоек вместо одной. 10 датацентров... И все это из-за лени программистов, которые писали на питоне тогда, когда надо было на C/C++/Java.>быстрее и нагляднее накидать несколько строк на Python (которые ещё и работать будут везде
Фантазии и про быстроту написания, и про наглядность кода, и про работать везде (обратной совместимости нет).
Всё дело в простейшей вещи. В выделении блока отступом. Если переделать С, С++ под это, то питон не нужен. Не доходит до умников что весь секрет нев~~~нной популярности питона только в этом. Этим только победил. То есть победил тем, для чего ЯВУ и собственно создавались: визуальной эргономикой, удобством для человеков. И теперь извраты, как бы надстроить С чтобы из синтаксиса питон. Надо сразу переписать С чтобы были блоки отступом - и всё. Не нужна никакая анютка.
Легкость разработки (Python, .NET) ведет к лени и отупению разработчика.