После пяти лет разработки опубликован релиз проекта Cython 3.0, развивающего компилятор для языков Python и Cython. Компилятор транслирует Python-код в представление на языках C/C++ и предоставляет дополнительные возможности для взаимодействия кода на языках Python и Си. Cython наиболее востребован для создания Python-обвязок вокруг библиотек на языке Си и для создания модулей на Си, ускоряющих выполнение кода на языке Python. Код компилятора написан на языке Python и распространяется под лицензией Apache 2.0...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59466
Большинство либ explicitly не поддерживают cython 3. Большинство правда компилируются с ним, но с предупреждениями, но те, которые компилируются с ошибками, обычно не принимают PRы по этому поводу: "не релиз? Ну вот когда будет релизом - тогда и приходите. Closed as not planned."Ну и сейчас эти либы стали де-факто сломаны (но их владельцам пофиг, это всё закономерно было, когда отказались, такая же закономерность со всеми либами, использующими спецификатор "<"), ибо даунгрейд других либ - это grave bug.
так что сказать хотел? что виноваты разрабы всех этих 100500 либ а не ситона? 🙂
Ну вот ты же и сам всё прекрасно знаешь. Что в несовместимости всегда виноват не разработчик библиотеки, а тот, кто от неё зависит. Потому что каждый отвечает за свой код. Разработчик библиотеки модрфицирует свою либу. Разработчик зависимого проекта использует чужой код, и это его обязанность - следить за тем, чтобы у его проекта было будущее. А когда у проекта нет будущего, напр. потому, что он требует старьё, которое ни один адекватный человек держать у себя в системе и компилять (что часто вообще infseasible, в случае, если зависимость - это bloatware вроде TensorFlow или pytorch или любой проект, требующий компилятор Rust) не станет из-за того, что Его Величество не соизволило поправить свой код под новое API, когда он не сопровождается, то виноват его разработчик. В таких случаях обычно проще воспользоваться альтернативой.
Что-то не слышно новостей от проекта HPy. Вроде такой многообещающий был. Особенно для альтернативных реализаций Пайтона.
Чего это они вместе зарелизились это же не связанные друг с другом проекты.
Cython и Nuitka, они, если честно, не пара, не пара, не пара..
Как только люди не извращаются, лишь бы не пользоваться языком, изначально лишенным всех этих недостатков. Я понимаю, что Python неплох, как оболочка для вызова Си-кода, но всё же это противоестественно. Есть же Julia, ещё там что-то, очень похожее на Python, но гораздо более быстрое. Берите, пользуйтесь. Нет, будем костыль очередной сооружать.
Mojo
Mojo раздают или пока только пиарят?
Mojo просто уже всех победил бай дизайн.
Mojo:1. Mojo (афроамериканская культура) — талисман, использующийся в шаманстве;
2. Mojo — сексуальная энергия.
3. Mojo — некая задумка ЯП.Поэтому смело можно утверждать, что Mojo уже пользуются, причем огромное количество людей, особенно Остин Пауэрс (https://www.youtube.com/watch?v=pUJCNoLmRO4)
люди покупаются на простоту и "экосистему" питона. Жаль, что только изнутри становится понятно что это тормозная экосистема из говна и палок, и есть целые проекты типа сабжа которые пытаются это как-то исправить.
ты так же своей маме рассказываешь и она тебя хвалит? но это не значит что ты что-то знаешь, лалкапитон для своих основных целей более чем адекватный инструмент, а там где нужно быстродействие си тебе в руки
Numpy, numba, cupy и тд. И результат вдруг получается быстрее (и в смысле разработки и времени исполнения), чем у мамкиного кульхацкера на с/с++. Питоном надо уметь пользоваться. Более того, выбирая "не написать быстрый код изза неумения пользоваться С" и "написать медленный код но на питон" выбор во многих случаях очевиден. Выбор в пользу "учить годами С" не для всех. Уж лучше учить numpy/cupy, не говоря о еще более высокоуровневых вещах.
> питон для своих основных целей более чем адекватный инструментАга, а цель у него - пабыринькому на коленке слепить из соплей "рабочий прототип", чтобы обогревать Вселенную на средства заказчика.
premature optimization is the root of all evil
> Жаль, что только изнутри становится понятно что это тормозная экосистема из говна и палок, и есть целые проекты типа сабжа которые пытаются это как-то исправить.Ахаха... Экосистема настолько "тормозная", что на ней нынче работает весь machine learning и числодробилки.
В чес секрет? В том, что вообще-то адекватные люди не пишут критичный по скорости код на скриптовом языке. По этой причине сабжы как раз и есть говно с палками, ибо во всех нормальных проектах критичные части пишут на C/C++/Rust, а Python лишь как интерфейс к ним.
>> адекватные люди не пишут критичный по скорости код на скриптовом языке.Скриптовые языки бывают разные. Нет никаких проблем писать числодробилку или критичные части machine learning на Julia, например. Что, в общем-то, и делают те, кому своё время дорого.
> Нет никаких проблем писать числодробилку или критичные части machine learning на Julia, например. Что, в общем-то, и делают те, кому своё время дорого.Ну-ну, пиши - удачи тебе. А другие люди вместо велосипедов возьмут готовый питоний CuPy. Потом посмотрим, сколько ты по сравнению с ними времени сэкономишь и чей код окажется быстрее.
Ну ты уже взял? Хотя бы про компиляторы занешь что?
> Ну ты уже взял?Взял.
> Хотя бы про компиляторы занешь что?
Заню.
> А другие люди вместо велосипедов возьмут готовый питоний CuPy.Ну то есть, продолжают есть кактусы и изобретают способы как эти кактусы лучше держать во время поедания?...
PS: жаль, что для логотипа питона не взяли ту самую телегу с квадратными колёсами....
в идеале язык нужно изучать вдоль и поперёк, с его костылями и недостатками, а на это ВНЕЗАПНО нужно время
а c++ можно за 21 день выучить, в этом и есть причина его первого места по популярности во всех рейтингах
here we go again...a] выучить то можно, но писать на нём что то помимо хеллоуворлдов это уже из другой лиги, за это взрослым дяденькам платят как правило хорошие деньги
b] насчёт первого места во всех рейтингах ты явно погорячился, юный падаван
Вы абсолютно правы, отличная книга была. Если каждый день штудировать по главе и выполнять упражнения то через 21 день станете знатоком с++
И можно лихо выполнять задачи с литкода типа "добавить в конец списка", "поменять элементы списка местами", "отсортировать", "найти подстроку в строке","сложить массивы поэлементно" и тд. А если еще поднапрячься, то за пару недель можно и матричное умножение освоить. На литкоде, кстати, можно такие задачки и на питоне решать, надо только внимательно читать условия задачи (типа "решите не используя встроенных типов данных/функций/библиотек, не говоря уже о посторонних").
кто-то ещё помнит этот раритет?
Если питон будут сначала изучать вдоль и поперёк, с его костылями и недостатками, то кто же им станет после этого пользоваться? Особенно на фоне современных языков. Питон и для 90-х был чем-то странным.
Чтобы пользоваться другими языками, их нужно знать.
> для создания модулей на Си, ускоряющих выполнение кода на языке Pythonдля создания модулей на Си, делающих возможным выполнение кода на языке Python
Делающем возможность отвязаться от интерпретатора питона.
Ты в этом уверен? Оно линкуется с _конкрентным_ интерпретатором и иначе не работает. Так что всё наоборот. Просто позволяет встроить нативный код посреди питон скрипта, или там временно отключить GIL. Но это уже бинарь получается, а не скрипт. Собственно, кроме этого ничего и не требуется.
Да правильнее говорить отвязаться от интерпретатора при выполнении бинарника, но не на этапе трансляции Питона в Си код.
Отличная вещь, если в прод менеджеры пихают прототип.
Лучше уж PyPy всё таки. Cython требует допилки, а Нуитка ничего не ускоряет на самом деле.
На счёт напильника - не осведомлён, а вот на счёт "Нуитка ничего не ускоряет" пожалуй соглашусь, сударь.
А ведь на Cython можно писать целиком весь код, в том числе с чего стартует, а не только подключаемые модули. Есть ли какой известный проект где так поступили?Вообще чего больше всего питону не хватает это удобства разработки под мобильные платформы. Да, в курсе что есть Kivy и Beeware, но такое себе.
Зачем вообще нужна мобильная разработка на питоне? В случае серверов хотя бы понятно. Сервис-провайдеры типа AWS тупо на хомяках-питонопрограммистах поднимают весьма приличные деньги за железо. А вот на личных мобильных устройствах мало кто готов жертвовать автономностью и скоростью ради хотелок питонистов. Здесь уже нужны современные средства разработки, обеспечивающие формирование оптимального кода. И да, выбор есть, проще взять решение от нормальных программистов, а не у питонистов.
Я конечно понимаю что выше толстый троллинг, но всё равно прокомментирую:> В случае серверов хотя бы понятно. Сервис-провайдеры типа AWS тупо на хомяках-питонопрограммистах поднимают весьма приличные деньги за железо.
Ну и дураки, на джаве можно было бы поднять больше. Причём для этого даже клиентов много привлекать не пришлось бы.
> А вот на личных мобильных устройствах мало кто готов жертвовать автономностью и скоростью ради хотелок питонистов.
Зато много кто готов жертвовать автомономностью и скоростью ради Электрона, лол.