После года разработки представлен значительный выпуск языка программирования Python 3.9. Python 3.9 стал первым выпуском после перехода проекта на новый цикл подготовки и сопровождения релизов. Новые значительные выпуски теперь будут формироваться раз в год, а корректирующие обновления выпускаться раз в два месяца. Каждая значительная ветка будет поддерживаться в течение полутора лет, после чего ещё три с половиной года для неё будут формироваться исправления с устранением уязвимостей...Подробнее: https://www.opennet.me/opennews/art.shtml?num=53840
Был бы он ещё быстрым.
для увеличения скорости выполнения ваших программ, вам стоит посмотреть в сторону других языков программирования.
А можно медленнее,но что язык сам за меня код писал?
AWS Honeycode вам в помощь
двое_из_ларца.jpg
и чтобы код писал оооочень медленно
> для увеличения скорости выполнения ваших программ, вам стоит посмотреть в сторону языков программированияFixed.
Там это, 3.8 намного ускорили, 3.9 опять замедлили. В 3.10 опять ускорили что-то там. Вообще, фишечка питона, как раз в том, что он легко делается быстрым с применением cython и c, в крайнем случае есть numba. Достаточно использовать нормальные батарейки, и всё будет быстро работать. Например, брать pycurl вместо requests, в мультипотоке особенно заметна однопоточность питона.Я тут набросал скриптец, у меня вышло в 10 раз медленней сишной программы. Но питон легко можно заставить не делать лишнюю бесполезную работу (если ты точно знаешь, что она бесполезная), потенциальная экономия тысячи процентов на каждый запуск.
Тысячи процентов экономии за счёт кэшей, ага.
Не, ну вы конечно можете мне предложить переписать тот же find с поддержкой дискового кэширования между запусками, но я отправлю вас погулять на одну китайскую гору. А вот для питона это однострочник.
>Я тут набросал скриптец, у меня вышло в 10 раз медленней сишной программы.Может лучше скриптец на какой-нибудь Julia набросать, а не заниматься археологическим программированием?
Зачем мне Julia? Конкретно тормоза были заметны на os.walk() -- он всё ещё в несколько раз медленней find лупит кэшированные файлы. Хотя я сохранял все файлы в памяти и я не уверен, что find это же делает, не самая быстрая операция. И на то, чтобы написать аналогичный код на баше, я потратил в 10 раз больше времени, и всё равно его хватило только на 1 запуск (замерить, насколько питон будет медленней на аналогичных операциях).
Адепты джулии уже хуже адептов раста, вам пора пары для размножения образовывать
И Rust, и Julia - это современные языки программирования, соответствующие текущей мысли языкостроения. При этом, оба, довольно эффективные как по скорости написания программ, так и по скорости выполнения. Питон - что-то из каменного века, отравляющее разум молодёжи и мешающее движению научно-технического прогресса.
> И Rust, и Julia - это современные языки программирования, соответствующие текущей мысли языкостроения.Это фанатик, не парьтесь.
Как будто здесь кто-то кроме фанатиков комментирует.
Изучил возможности Джулии. Лаконично и изящно. Но не без проблем с компиляцией под систему.
> Но не без проблем с компиляцией под систему.Если под серверное использование, то проблемы не существенные. Просто этап сборки системного образа и его активация отдельным параметром. Впрочем, можно и бинарник собрать при желании, но чуть сложнее. Если же под компилировать микро-скрипты в отдельные бинарники, то да, пока проблемы/неудобатсва есть.
Вот я и о том же. Пусть Python был бы в 2-5 раз медленне программ на си, но не в ~50 раз. В языке и так было достаточно фич и нужно было сделать его быстрее. Слишком много фич овер производительность закапывают Python в могилу. Жаль, язык очень хороший.
Нет, не закапывают. И да, на производительность всем плевать - боттлнеки можно написать и на сях а ждать событий можно хоть в 1000 раз медленнее, никто этого не заметит.
> Вот я и о том же. Пусть Python был бы в 2-5 раз медленне программ на си, но не в ~50 раз. В языке и так было достаточно фич и нужно было сделать его быстрее. Слишком много фич овер производительность закапывают Python в могилу. Жаль, язык очень хороший.Меня сейчас заминусят конечно, но попробуйте Go. Серьёзно. Он как раз всего в 2 раза медленнее Си (в среднем, т.е. в 10 раз быстрее Python, тож в среднем), а код пишется местами так же легко как на Python.
Лучше использовать свободные языки, нн связанные с корпорациями.
> Лучше использовать свободные языки, нн связанные с корпорациями.кому лучше? что плохого в том, что корпорация оплатит профессионалов-энтузиастов?
>что плохого в том, что корпорация оплатит профессионалов-энтузиастов?Плохо то, что google. Вы уже там все дополнительные пакеты для разработки скачиваете с серверов google. То есть в некоторых случаях они примерно могут представить и что вы разрабатываете. И к тому же это как раз та корпорация, с которой станется внедрить трояны прямо в компилятор. А потом еще и возмущаться начнут, мол, что плохого, это ведь по справедливой лицензии google.
>>что плохого в том, что корпорация оплатит профессионалов-энтузиастов?
> Плохо то, что google. Вы уже там все дополнительные пакеты для разработки
> скачиваете с серверов google. То есть в некоторых случаях они примерно
> могут представить и что вы разрабатываете. И к тому же это
> как раз та корпорация, с которой станется внедрить трояны прямо в
> компилятор. А потом еще и возмущаться начнут, мол, что плохого, это
> ведь по справедливой лицензии google.1. гуглу плевать на наработки любого анонима
2. Go вам не C++, любой приличный джун понимает весь не ассемблерный код компилера (и да, он опен-сорсный, любой из 3-х)
3. лицензия bsd
>гуглу плевать на наработки любого анонимаЭто с каких пор гуглу стало плевать на личные данные пользователей?
>лицензия bsd
Это вы к чему? К тому, что троян не могут внедрить? Внедрят еще как, да еще и скажут, что это не троян, это фича, это полезно для безопасности пользователя. :D
> Это с каких пор гуглу стало плевать на личные данные пользователей?на личные данные конечно не плевать (их можно использовать), плевать на наработки анонима (использование чужого плохого кода дорого и бессмысленно при наличии штатных кодеров)
> Это вы к чему? К тому, что троян не могут внедрить? Внедрят
> еще как, да еще и скажут, что это не троян, это
> фича, это полезно для безопасности пользователя. :Dтакого конечно не будет (как не было и до этого)
это Ruby что ли? Как пример чистого языка, не связанного с корпорациями?
Там к производительности, скажем так, странное отношение.К примеру, сортируют массивы из 1-го элемента, это же круто. Ну, т.е. ключ считают - с
одной стороны так все непустые случаи обрабатываются математически однородно, а с
другой - ни в каком другом языке/ст.библиотеке вы такого не увидите.
Скудоумным не мешало бы уже понять, что для разных задач надо брать разные языки программирования. Мне почему-то слоупочность петона вообще никак не мешает, а вот синтаксис языка и развитая стандартная библиотека позволяют делать очень многое.На том же С я бы делал всё то же, что я делаю на петоне, раз в десять дольше. При этом я регулярно использую в работе оба языка.
Я не требую от питона большой производительности, просто не хочу, чтобы инерпретатор языка был совсем уж медленным.
В реальных задачах Python медленнее С/С++ в 5-9 раз. Это досадно, но это всего лишь секунды в день, за которые все равно заплатит работодатель.
> В целом большинство тестов показывают снижение производительности по сравнению с веткой 3.8Эх... Узнаю свой любимый пихон. Именно этого я и ждал.
> В целом большинство тестов показывают снижение производительности по сравнению с веткой 3.8А как же "устаревшие технологии надо выкидывать?"
Повременим с обновлением.
Зачем? У тебя есть боттлнек и ты можешь это доказать? Ну так перепиши только его на плюсах и используй дальше из питона.
Питон превращается во второй С++
С чего такой вывод?
Ну так "больше фич богу фич". Как этот сахар ложиться в язык и отразится на читаемости - да по-барабану. И, как результат, из относительно стройной изначальной конструкции языка получается мрачное нечто.
какое-то очередное нытье без маломальской аргументации и фактов.
Аргументация? Пожалуйста.
Синтаксис нового питона развивается контринтуитивным образом. Сначала был for...else, который можно осознать, только глядя на конкретный сценарий применения.
Теперь эту палку слияния всунули, которая похожа на |, которое OR, но действует в противоположную сторону - если бы она была как or, предполагалось бы, что если есть в первом дикте элемент, из второго брать не надо.
Взяли бы какой-то другой знак - вопросов бы не было.
Ну хотя бы сделали бы что-то типа <| - чтобы было понятно, что правый dict перекрывает левый.
А вот это вот переиспользование старых операторов в новых смыслах - не думаю что является хорошей практикой.
> Теперь эту палку слияния всунули, которая похожа на |Даже в JS было сделано красивее и универсальнее.
const x = { }
const y = { }
const z = {...x, ...y}
Так же оператор и с массивами работает.
В Python это все работало задолго до JSx = {}
y = {}
z = {**x, **y}
Это и странно - зачем при существующем нормальном синтаксисе (который даже в других языках есть) вводить неведомо что.
Ага, задолго. Аж три года назад добавили.
Строки "+" можно, массивы "+" можно, а словари почему то отдельным оператором. Скорее всего потому что "математически" разные?
> если бы она была как or, предполагалось бы, что если есть в первом дикте элемент, из второго брать не надоor — это двоичное _сложение_
Сложение подразумевает перенос.
1 + 1 == 10
1 or 1 == 1
Ну, если нужно примеров, да хотя бы вот из предыдущего релиза пример кодаwhile (block := f.read(256)) != '':нет, я конечно понимаю, что операция присваивания внутри выражения полезна, но смешивать два синтаксиса присваивания - это как-то странно. А если ещё это и while ... else: , что тоже не совсем очевидно как работает, если ты не опытный разраб на python.
<какая-то святотень>Вот это
def f(a, b, /, c, d, *, e, f):тоже из предыдущего релиза - это что? Нет, мне понятно зачем это сделано, но мне не понятна семантика. И также непонятно, почему надо упрекать тот же Rust/C++ в неочевидности, когда в python, который упрекать видимо не следует, всё отчётливей проявляется всё тоже самое.
Чем оно лучше ruby?
Тем, что его сейчас везде где только можно популяризируют среди школьников и студентов. По крайней мере, так в СНГ.
Раньше в школах учили BASIC, теперь учат Python. Я считаю, это хорошо
Какой язык наиболее хорош в качестве первого такая вызывающие споры тема, что я пожалуй вообще не стану давать этому какую-то свою оценку.
На фоне BASIC'ов и Turbo Pascal'ей - однозначно, Python лучше.
Pascal - лучший для изучения язык.
Там пробел от <Tab> не отличается.
Там в принципе все whitespace, не несущие смысловой нагрузки игнорируются парсером. Можно вообще писать портянку без отступов, не парясь выстраивать код лесенкой. Очень плохая практика. В отличие от Python'а, приучающего форматировать код, потому что если ты забьёшь - он не будет работать.
> Можно вообще писать портянку без отступов, не парясь выстраивать код лесенкой. Очень плохая практика. В отличие от Python'а, приучающего форматировать код, потому что если ты забьёшь - он не будет работать.Кхе.😷
def _ (
_ ,
__
= type ((
{( )}
^
{( )} ))
) :
__ = type (
""".o00(0)(0)0( *)-< """
, ( __ , )
, {
'_' :
__ .
__dict__ [[ * (
_ for
_ in sorted (
__ .
__dict__ ) if
'_' not in
_ ) ][ {
( __ ) } > {
* (
_ ) } :
:
~ (
not (
_ ) )
][ not (
_ ) ]]
} ) ( {
( ) } )
_ ; yield [
_ for
_ in
_ if
_ not in
__ and not
__ .
_
( _ ) ]print(*_([3,1,2,5,1,0]))
print(*_("hello world"))
Это нужно постараться и извернуться. А вот в пасквиле - запросто просто не ставить инденты и изуродовать код. Там и изворачиваться не нужно.
Джуны пишут партянки на любом языке. Нахреначат переводов строк "\" например или генераторов на три экрана вправо. Даже если не на питоне, так он рядом на баше/js/sql/html наделает. Бъешь по рукам, вводишь кодстайл, настраиваешь редактор и дальше все хорошо.
Отступы прибитые гвоздями не дают читабельности, не спасают от ошибок. Эта мантра уже себя изжила, зачем ее повторять все время? Уже давно понятно что отступы в языке это бред.
На фоне бейсика и паскаля практически все нынче будет "лучше".
Но в случае с первым ЯП ИМХО Си был бы лучше
Си не учит программировать. Он учит считать байты и чистить кучи. Нельзя просто взять и реализовать какой-то шаблон проектирования на Си, не выстрелив себе в ногу с десяток раз.Если вы хотите понять логику построения компьютерного железа и научится, как там все регистры связаны, вам однозначно к низкоуровневому ассемблеру. Но не нужно сводить всё программирование к низкоуровневым командам и непрестанной половой любви с разыменованием указателей.
Си как раз учит программировать.
А чтобы программировать - надо выстрелить в шаблоны и... программировать, а не шаблоны шаблонить.
> Си как раз учит программировать.
> А чтобы программировать - надо выстрелить в шаблоны и... программировать, а не
> шаблоны шаблонить.Прикольный взгляд на мир
Который выручал уже 100500 раз, пока шаблонеры месяцами шаблонят :)
> Который выручал уже 100500 раз, пока шаблонеры месяцами шаблонят :)Тоже верно ) Но я на C++ давно разрабатывал, но скоро вернусь снова
Нельзя просто взять и реализовать *что угодно* на *чём угодно*, не выстрелив себе в ногу с десяток раз.
Это неотъемлемая часть обучения программированию и отладки кода!
> Нельзя просто взять и реализовать какой-то шаблон проектирования на Си, не выстрелив
> себе в ногу с десяток раз.А зачем его реализовывать и делать это на сях ?
Программирование, как таковое, это навыки работы с алгоритмами, с разными системами( типа ввода-вывода ) итд итп.А уж какой-то там абстрактный шаблон в вакууме - это вообще совсем не то, с чего программировать начинают учиться. Это, скорее, уже на_потом, в качестве "некоторых подходов по улучшению читаемости и производительности кода", когда народ уже понимает циклы, ветвления, может запиливать относительно-сложные алгоритмы.
В свое время как раз на Си программированию и обучали в универе.
Макаки, возможно, только байты в нем считать могут, нормальные люди через непродолжительное время подобия относительно простенькой СУБД запиливают с теми или иными плюшками. Не то, чтобы нереально-круто, но для обучения более, чем интересно и полезно.Ну а "чистка".. с ней проблемы лишь у тех, кто в принципе не может нормально продумать алгоритм и, то тут, то там у него "дыры" и куда-то что-то утекает.
Питон в целом довольно странный язык: если после сишки народ обычно более-мене легко изучает что-то другое, имея универсальный инструмент, на котором можно кодить вплоть до микроконтроллеров. Кто-то уходит в веб, кто-то - в системную разработки, кто-то - в мобильную( джава/котлин/свифт/итп ), то питонщики - так питонщиками и остаются.
>[оверквотинг удален]
> Не то, чтобы нереально-круто, но для обучения более, чем интересно и
> полезно.
> Ну а "чистка".. с ней проблемы лишь у тех, кто в принципе
> не может нормально продумать алгоритм и, то тут, то там у
> него "дыры" и куда-то что-то утекает.
> Питон в целом довольно странный язык: если после сишки народ обычно более-мене
> легко изучает что-то другое, имея универсальный инструмент, на котором можно кодить
> вплоть до микроконтроллеров. Кто-то уходит в веб, кто-то - в системную
> разработки, кто-то - в мобильную( джава/котлин/свифт/итп ), то питонщики - так
> питонщиками и остаются.Субъективный взгляд на вещи. Не надо так )
> Субъективный взгляд на вещи. Не надо так )Человек в принципе существо субъективное
Между ними был Паскаль.
И все три наносят вред.
А детей учат Python'у? Какой ужас.
> А детей учат Python'у? Какой ужас.В топовых мировых вузиках учат, да. Уже лет 15. В шарагах, правда, как был турбо паскаль с турбо си, так и остались, но ты, видимо, это одобряешь.
> В топовых мировых вузиках учатвообще-то, в топовых вузиках уже во всю идёт миграция на Julia. Потому как не вполне понятно, для каких целей может быть нужен питон в ближайшей перспективе. Уж явно, не для научных сотрудников и не для enterprise apps он может быть нужен.
https://computationalthinking.mit.edu/Fall20/
Да не, количество и качество батареек в пользу питона. А что там Julia умеет? Матрицы складывать на видеокарте хотя бы умеет? Ну, наверное, умеет. Нейронки клепать там, не знаю, тут нужен какой-нибудь pytorch или keras. Всё упирается в количество и качество готового кода. Хотя, я посмотрел тут https://juliabyexample.helpmanual.io/ и знаешь, наверное, лучше по расту упороться.
Откуда в батарейках питона качество? Упарывайтесь чем хотите, но технологически питон никакой. Он очень дорогой в использовании. Нейронки на Julia - это Flux. И в любом случае - это движок, написанный на Julia. Питон по сравнению с Julia - какие-то останки мамонта.
Так вот откуда столько быдлокода.
Значительную часть опенсорса пишут студенты, больше никто бесплатно работать не согласен обычно.
Студенты хоть и пишут opensource, но, в основной своей массе, бесполезный. Полезный opensource обычно пишут в свободное от работы время не студенты.
Именно так и нужно поступать, если целью ставится нанесение максимального ущерба.
Ну не только в СНГ. Он также очень распространён в странах где плохо с оффлайн работой. Например, Индия, Филипины, Индонезия. Замечал у них огромные питон-сообщества.
Хз что там щас у руби со скоростью, но раньше он сливал по этому параметру.
Ну, Матц обещает, что на католическое Рождество выложит Ruby 3.0, которая будет в три раза быстрее по сравнению с предыдущими версиями. Не знаю, а как будет на деле, но на сей момент эта возможная разница в быстродействии имеет место быть.
Только не быстрее предыдущей версии, а именно быстрее 2.0 в три раза. И в целом всё идёт к тому.
При все моей любви к Ruby, цель 3x они скорее всего пофейлят. Надеюсь, что ошибаюсь.
Ruby давно быстрее питона на типовых задачах
Типовая задача для обоих сабжей: удалить к чертям эту нечисть со своей системы. Думаю, справляются одинаково быстро.
Очень спорное утверждение. Особенно учитывая, что типовые задачи питона сейчас несколько отличаются от типовых задач рубей.
Если имеете в виду ML, то питон тут - чистая обёртка, и о его собственной производительности говорить не приходится. Остальные задачи - сильно пересекаются с Ruby.
Тем что живо и развивается.
>> воскрешённые объектыНекроманты на выходе
Реаниматоры же!
Хороший такой релиз, без революций)
Всех "сочувствующих" поздравляю!
Скоро всем миром будем выпиливать тройку т.к будет совсем несовместима с четверкой. Уря товарищи !
таблетки забыл принять?
http://www.curiousefficiency.org/posts/2014/08/python-4000.html
Так еще двойку даже не выпилили.
Там чуть чуть еще осталось, вот закончим с двойкой и самое время миру лицезреть новую, несовместимую версию.
Зря они вообще продолжают его менять. Работает - не трогай.
что за горячечный бред.
сами то понимаете, что пишете?
Я имею ввиду сам язык. Добавление новых операторов особенно.
Operator overloading не слышали? Вот и до Python 3.9 у словаря можно было переопределить оператор |. Просто теперь будет один переопределённый оператор из коробки.
Идеальным языком является тот, что умеет адекватно обстоятельствам меняться.
C шикарен, 89. Впредверьи новой эры - 99 , но тоже погорячились.
Писать не на gnu11 было довольно болезненно. Сейчас перешли на gnu17. Писать без гццизмов тоже довольно болезненно. Тебе вместо 69 рекомендую как эталон для фапа брать вариант 70 года, всё равно ты писать на этом ты не будешь.
*вместо 89
Вы путаете стандарт языка и фичи стандартных библиотек.Текущий стандарт - c99, и он божественен. А то, что у вас без gnu11 mmap не позволяет создавать не привязанные к файлу области в памяти - так это ограничение ОС и стандартной либы, а не языка.
Я не знаю чем c18 и c2x отличаются от c11, но c11 определённо упрощает жизнь относительно c99. То, что в студии c11 не поддерживается, это ваши проблемы, писать на сишечке в студии это содомия ещё та.
json.loads() не удалён. "The encoding parameter of json.loads() has been removed." - это, всё-таки, другое.
а чем тебе json.loads() помешал?
Годно. Я его хоть и пользую только для написания тестов и всякой мелочи, но хорошо, что язык развивается.
Что именно в этом хорошего? Как по мне наоборот хорошо если синтаксис и операторы языка никогда не меняются. Это значит что при проектировании языка подумали головой и сделали сразу как надо. Максимум что нужно развивать это стандартную библиотеку. Дополнять, оптимизировать её.
Дататайпы и хинты это 10/10, я всегда мечтал о них в питоне (attrs, да). И := опять же годнота, позволяет выкинуть сразу несколько строк, особенно вкупе с x comprehension. Я даже не говорю про корутины и замыкания, их тоже совершенствуют. Выкидывать мусор из стандартной библиотеки конечно нужно регулярно, тут я не спорю.
> Это значит что при проектировании языка подумали головой и сделали сразу как надоНад человеком который считает что можно сразу "сделать как надо" можно разве что посмеяться.
> значит что при проектировании языка подумали головой и сделали сразу как надо.На планете Земля такого не умеют, смирись.
Это анунахи с Нибиру могут тебе сделать как надо. Но им - не надо, ты им
разве за зверушку для охоты сойдешь...
Ему просто нравится возвращаясь через три года к написанному и отлаженному коду переписывать его под новую версию языка, потому что старой уже давно нету и она не поддерживается.Почему я могу просто взять любой пример 20-летней давности на С, написать gcc ..., собрать и запустить без лишних телодвижений? (ну ладно, не любой, а 9999 из 10000). И почему я не могу запустить 9 из 10 примеров на питоне, найденных в интернете в интересующей меня статье только потому, что они "устарели" на четыре года?
Это не работает. то что 10 лет назад не было ошибкой, сегодня ей является, и поведение непредсказуемо. Хорошо, если хоть как-то предупредит. Рассказывайте про си где-нибудь в другом месте. У питона как раз примерно 100% совместимость -- проблема будет, только если ты некрофил. Очередные прохладные сказки, в общем.
Спасибо за статью
Чо, щас portage будет при случае в морду тыкать вариантом python_single_target_python3_9 в куче с прочими? :D (3_6, 3_7, 3_8)
Добавь в файл с питоноюзами*/* PYTHON_TARGETS: python3_8 python3_9
*/* PYTHON_SINGLE_TARGET: -* python3_9если этого не сделать и вручную перебирать, то придётся для нескольких пакетов прописать по типу
dev-util/itstool PYTHON_SINGLE_TARGET: -python3_7 python3_8
Но я не вижу смысла, 3.8 очень хороший, на него стоило перейти с 3.6, а 3.7 был не очень хороший. Наверно стоило глобально отключить 3.7, но у меня там всего 3 пакета с ним вышло и так.
> Добавь в файл с питоноюзами
> */* PYTHON_TARGETS: python3_8 python3_9
> */* PYTHON_SINGLE_TARGET: -* python3_9Я пока ещё маленький гентовод, в make.conf хватит вот первую строку добавить? Только с pytho3_8? (И пересобрать всё, ага :D ).
У меня PYTHON_TARGETS="python3_6 python3_8" в make.conf, single target управляю per package. Могу выбрать только 3.8 или только 3.6 и не собирать остальное. Просто некоторые пакеты хотели непременно 3.7 (так в ебилде прописано), даже когда стало можно поменять на 3.8, а 3.7 в системе вообще не было. Очередные гентушные заморочки с кривыми ебилдами. Там ещё 2.7 был, теперь уже проще должно быть.
[1] python3.7
[2] python3.9 (fallback)
[3] python3.8 (fallback)
[4] python2.7 (fallback)
Совсем не плох.)
[1] python3.8
[2] python3.6
[3] python3.9 (fallback)Лично я вздохнул с облегчением, когда 2 самоудалился. А с 3.7 это ты напрасно.
У меня много старых приложух и им требуется вторая питоняка и к тому же собираю систему с гтк3 не люблю куте.)
А можно подробнее, интересно что это за гентопроблемы.Я-то во FreeBSD поменял DEFAULT_VERSIONS+=python=3.8, пересобрал py3* и про старые версии забыл навсегда. Сейчас сделаю также до python=3.9 как завезут.
> Я-то во FreeBSD поменял DEFAULT_VERSIONS+=python=3.8, пересобрал py3* и про старые версии
> забыл навсегда. Сейчас сделаю также до python=3.9 как завезут.Ну системы всё же разные, не знаю как там у вас пакеты ставятся при возможности использования нескольких версий бидона :). Мне emerge пишет, что начальник, определись, вот тут вот надо кокретную версию из 3-х в use-флаге поставить :). Ну и ставлю пока что 3.6.
> не знаю как там у вас пакеты ставятся при возможности использования нескольких версий бидона :).На FreeBSD с некоторых пор популярны "flavors".
Не знаю, кем нужно быть, чтоп полюбить петон)) То есть понятно, что быдлокодером по дефолту, но в остальном-то??
Что, минусяторы, неприятно? Так я сам быдлокодер!)) Но с точки зрения эстетики мне куда больше нравится Perl, почему-то.
Да нет, не неприятно. Человека которому перл нравится больше питона серьёзно воспринимать нельзя. Но всё-таки лучше бы вас тут не было.
> Что, минусяторы, неприятно? Так я сам быдлокодер!)) Но с точки зрения эстетики
> мне куда больше нравится Perl, почему-то.Да-уш. Для быдлокодера Perl - оно самое раздолье, с его-то криптооднострочниками...
Как только выгнали Гвидо в Питоне все пошло по бороде. Лучше уж Го
1) не выгнали
2) не все
3) ты вообще с какого раена?!
С версии 3.4 питон только хуже и хуже. С асинхронностью вообще, теперь каждую библиотечку нужно преписать чтобы она поддерживала "кооперативую многозадачность" как было в DOS. И даже sleep у нас теперь переписаный. Но это не дает настояющую многопоточность, а давайте вкрутим возможность запускать несколько интерпритаторов! Как это было в sh 40 лет назад. И сверху намажем общую память, гениально!
Erlang ===> там
> С асинхронностью вообще, теперь каждую библиотечку нужно преписать чтобы она поддерживала "кооперативую многозадачность" как было в DOSВо-первых, переписывать ничего не надо. Синхронный код вообще никак и нигде не меняется, а под asyncio библиотеки появляются новые. Во-вторых, писать в асинхронном стиле - одно удовольствие. На примере js видно как человечество ломало над этим голову, и наконец родило удобоваримый подход, и в питон появился именно он - без потоков, синхронизации, очередей, сигналов, боже упаси коллбеков, промисов и прочей хрени - код выглядит как обычный синхронный, просто несколько ключевых слов добавляется. При этом работает асинхронно. И в-третьих, кооперативная многозадачность это офигенно, потому что несёт меньше оверхеда, обеспечивает меньшие задержки и большую предсказуемость. Её не используют глобально потому что нет гарантий что чужой код не заберёт себе весь CPU, но внутри только своего кода её нет смысла не использовать.
> И даже sleep у нас теперь переписаный
Ваш sleep никак не поменялся. Для асинхронного кода появился другой sleep.
> Но это не дает настояющую многопоточность, а давайте вкрутим возможность запускать несколько интерпритаторов! Как это было в sh 40 лет назад. И сверху намажем общую память, гениально!
Да, гениально как всё простое.
> кооперативная многозадачность это офигенно, потому что несёт меньше оверхеда, обеспечивает меньшие задержки и большую предсказуемость.Блин ... Аж прослезился ... Прям выдержка из рекламы NetWare 3.1
И windows 3.x
Очередное «быстрее сильнее тормознее». Какой вообще смысл трогать синтаксис? Лучше работайте над оптимизацией под капотом. А то это похоже на развития ради развития. Очередной смузи way.
Как одно мешает другому? Новый синтаксис - для улучшенной эффективности программирования. Оптимизация под капотом - для улучшенной эффективности выполнения кода.
блин, все хаят питона, но он же неспроста идёт по умолчанию во всех значимых дистрах - ни go ни прочего php в них по дефолту нет
А как же perl?
А кто из тутошних каментеров может в Perl?? Поланонимуса!
Да легко.Просто Perl - Это чтоб на awk и sed не писать.
А питонистам важны пробельчики.
Перл - эталон стабильности синтаксиса
Raku с тобой не согласен.
Перл 7 передает твоему раку привет. Сохранив совместимость с Перл 5
и баш. и С.
> все хаят питона, но он же неспроста идёт по умолчанию во всех значимых дистрахТебя хватило только на полмысли. Выкинь оттуда петон вообще, замени на любое другое, что "все хаят, но.." - и сразу получишь ответ.
Потому что на момент включения в осн дистры он был чуть ли не единственным относительно нормальным и удобным скриптовый ЯП.. еще и с типо_ООП( раньше это считалось однозначно круто и вообще, ООП спасет мир, сейчас - возникает все больше сомнений )То были темные времена, когда в мире ИТ не было ничего слаще редьки и краше рубинсовских красоток под 200кг живого веса :)
Будешь ныть — перейдут на пхп по дефолту.
ПХП в тысячу раз лучше джаваскрипта
В основном из-за легаси в скриптах конфигурации.
Мы всю конфигурацию хостингов и прочих систем например на PHP строим, и у нас таким же образом PHP во все поля.
больные yблюдки
Орел, залогинься!
> больные yблюдкиВ отличие от систем авторства здоровых девляпсов, всё таки работает, и каши не просит годами.
Да, мне такое с гордостью втирал один тип с интернет магазином на php3. А потом его хостинг накрылся, и он уже никуда с этим магазином не переехал, а пока платил кучу бабла за переписывание все клиенты разбежались.
Ну конкретно эти подсистемы переехали с PHP 4 на PHP 5, с PHP 5 на PHP 7, сейчас PHP 8 на подходе.
С должной поддержкой и раз в пятилетку небольшим рефакторингом, разумеется.
Самое жёсткое было между 4 и 5, сейчас всё уже проще.
Кстати о хостингах. Мы для клиентов вполне себе держим legacy, у нас представлены все версии от 5.2 до 7.4 ныне, на выбор. Платформа меняется, а билды легаси трансляторов под новые платформы мы поддерживаем самостоятельно. То есть в этом плане наши клиенты более защищены, чем пресловутый товарищ. Потихоньку все переходят на 7.x, но конкретно мы никого не торопим.
При этом у нас даже для 5.2 собран opcache и обновлён встроенный коннектор MySQL, дабы работал с MariaDB 10.x (сейчас 10.4), поддерживается почти одинаковый набор расширений. Архитектура - apache 2, mpm-itk, по инстансу на версию интерпретатора в нативном виде - никаких плясок с cgi. И фронтенд на haproxy, который разруливает хосты по инстансам.
> билды легаси трансляторов под новые платформы мы поддерживаем самостоятельно.Т.е. баги правите, или как обычно? Ну я так и думал...
> Т.е. баги правите, или как обычно? Ну я так и думал...Кое-что бэкпортим. Критичное для функционирования.
Но для тех, кто по тем или иным причинам сидит на легаси, "баги" обычно вторичны, их софт эти баги не затрагивают.
> "баги" обычно вторичны, их софт эти баги не затрагивают.Ну да, они "в домике"... Кстати, не только баги используемого ПО для них
обычно вторычны.
Ну как только их дыркософт начнут ломать - вылезут из домика и переедут.
Мы затыкаем собственно транслятор, их софт - их заботы :)
А расклад такой, что куча 5.2'шников уже энный год никуда не переехала и даже не сломана...
Вот вордпрессники массово на 7.x ломанулись, потому что новые версии рeшета чуть менее решeто.
У меня в Xubuntu 16.04 его нет.
Точнее, я сам поставил 3.8 из PPA.
>ни go ни прочего php в них по дефолту нетХаят, чтобы подменить на какой-нибудь "триппер", вроде Go, Rust, или Julia. Потому, что все три по большей части никому не нужны. А у PHP как раз пользователей хватает, потому он тут в общем-то не при делах.
Ну вот не надо Julia записывать в конкуренты PHP. В той нише, где есть Julia, конкуренты у неё только R и Matlab. И PHP тут точно никому не нужна ни в какой форме. Если только не для иллюстрации фильма Хичкока.
> поддержка операторов слияния "|" и обновления "|=",
> Во встроенную коллекцию типов включены list, dict и tuple
> В стандартную библиотеку добавлен модуль zoneinfo
> Предложены новые методы для удаления префиксов и окончаний строкОчень нравятся эти мелкие улучшения, видно как язык полируется до идеала. Заюзал в своём коде всё перечисленное, выкинул pytz - красота.
Ждём когда Python 3.9 устареет, и выйдет Python 4.0
Будет 3.10, петросян.
Так он поэтому и _ждёт_. А устареет он к 2025-ому (пруф https://www.python.org/dev/peps/pep-0596/#lifespan), могут и успеть придумать py4000.
А чо так долго а? Питон 3.9 должен через год устареть!
> поддержка операторов слияния "|" и обновления "|="А операторы инкремента/декремента для целый чисел не завезли ещё?
не по смузи это, понимаете ли
Это очень важные операторы. Без них многопоточность ломается.
пускай медленный, но чтобы скорость написания кода росла и была быстрой
Это вам на Ruby. Но там, к сожалению, и со скоростью выполнения ситуация лучше.
у питона пакетов больше мне кажется, а что руби крут?
Когда стоит вопрос о реальной разработке, обычно берут не все имеющиеся пакеты, а те единичные, которые реально необходимы. С этим у Ruby полный порядок. В отношении же языка, ну так код на Ruby чище, компактнее и человечнее. Его легче читать, легче поддерживать. То есть, программисты на Ruby, конечно, дороже, чем питонисты. Но и эффективность их сильно выше.
> Когда стоит вопрос о реальной разработке, обычно берут не все имеющиеся пакеты, а те единичные, которые реально необходимы.DRY && YAGNI
По поводу "эффективности" программистов на Ruby. Уже который год одна довольно крупная крипто-биржа с каждым апгрейдом рассказывает, как они в очередной раз подняли производительность своего говно-софта. И каждый раз спустя какое-то время биржа не выдерживает наплыва пользователей. Уже даже несмотря на довольно жёсткие ограничения по количеству одновременных коннектов.
Я поискал за вас
pipy - 266k
rubygems - 166kПакеты pipy содержат тысячи "толстых" приложений, ну типа spyder, такого изобилия под руби нет, в основном мелочевка.
Руби давно протух. Все вакансии только на уже существующие проекты, которые нужно поддерживать.
Это можно сказать про любой язык прошлого века.
>Добавлены новые оптимизации
>большинство тестов показывают снижение производительностиЭто успех. Мне почему-то кажется, что авторы CPython не совсем правильно понимают значение термина "оптимизация".
Ух ты, сколько всего замечательногою Ну теперь C/C++, Rust и Go точно конец.
Придется этим языкам писать библиотеки для Питона. Потому как без Питога эти языки не нужны.
> Теперь можно писать такОпять совместимость сломали.
Добавление новых фичей в язык не может ломать совместимость. Но их использование в коде поднимает требования к минимальной версии языка, да. И правильно делает - паразитов думающих что они могут на py27 один раз написать, а потом им по гроб жизни его бесплатно поддерживать будут надо гнобить.
Оракл то же самое про джаву говорит. А в результате мне приходится таскать с собой бинари 8й чтобы не переделывать проект вод все новые и новые апдейты.Разработчики ведроид студии, кстати, со мной солидарны - они тоже бинарники с собой таскают.
Python 2.7 зато теперь стабильный :)
Python очень годный язык.
Чем больше пользусь тем больше нравится.Переписал на него кучу проектов, все просто суепер.
Так привык к строгой табуляции кода, что даже на С++ раствляю все в py стиле.
>Переписал на него кучу проектовС С++?
Попробуйте, наконец, какой-нибудь ЯП из этого века.
Да, какойнибудь недоделанный, сырой, без инфраструктуры и постоянно ломающий совместимость.Но зато новый и модный. То-то на них -100 софта написано. А если где найдётся что то настолько кривое и косое что даже софтом то не назвать
> Да, какойнибудь недоделанный, сырой, без инфраструктуры и постоянно ломающий совместимость.Речь не про питон. А про что-нибудь современное
Слишком жирно, товарищ.
>Задействован новый парсер PEG (Parsing Expression Grammar), который пришёл на смену парсеру LL(1).Это очень плохо. LL(1) - это не только производительность, но ещё и простота и совместимость хоть с LL, хоть с LR, хоть с PEG. Я даже инструмент для автоматической трансляции грамматик между различными парсерами ра0ных языков написал.
>Добавлен модуль graphlibа как же netwokx?
Захожу такой на опеннет, а там новость про питон. Ну думаю, надо комментарии почитать. А там через один хвалят, говорят хороший язык и фичи интересные.Так вот, вопрос. Чё происходит вообще?
Похоже ты отстал от жизни, или ни разу не пробовал что-то больше hello world.
Питон принято любить. Школию 10 лет назад объяснили, что это лучший язык для всего, они передают это дальше. Надолго это, в общем.
Это второй лучший язык в любой сфере.
То есть, другими словами, питон - всегда лузер в любой сфере?
Если из доступной десятки всегда занимать второе место - какой же это лузер?
Так ты не слушай, а сам пробуй.
Первая доза бесплатно?
Пошёл путём ruby ... ну чтож - закончит так же. RiP ...
Программирование пробелами очень знатно доставляет, но чтоб это не превращать в рутину - давайте постоянно менять синтаксис. Ооо пасаны, идея ! А давайте версии несовместимыми между собой еще сделаем?!!
Ты так возмущаешься, как будто другие языки постоянно не меняют синтаксис, подстраиваясь под современность. То, что между версиями (2 и 3) совместимости полной нет - это, конечно, не есть хорошо. Но не особо критично, ИМХО. Есть же всякие трансляторы, которые за тебя всё сделают. Да, некоторые телодвижения надо проделать, неприятно. Но, опять же, не критично в свете того, какую производительность при разработке софта даёт Питон.
> Но, опять же, не критично в свете того, какую производительность при разработке софта даёт Питон.Какую это он дает производительность, ну вот серьезно ? В чем она заключается ? В том что не нужно писать точкозапятая в конце строки ? Ну так себе ускорение.
Куча батареек. То есть не надо выдумывать велосипеды. Нет нужды следить за переполнением чисел - за этим интерпретатор следит. Нет нужды заниматься компиляцией (это правда ко всем интерпретируемым языкам относится). Легкая работа со строками вообще, и в частности с UTF-8. Это только то, что сразу вспомнилось, но и этого достаточно.
Опечатался. Слова "переполнением чисел" следует читать, как "переполнением типов".
Да никто пробелами не форматирует, откуда вы все это берете?
отступ делается Tab-ом, во всех программах.Эти же отступы используются для красоты и в других языках, код-лапша омерзителен во всех проявлениях. Только в однострочниках отступы не нужны.