После года разработки опубликован значительный выпуск языка программирования Python 3.12. Новая ветка будет поддерживаться в течение полутора лет, после чего ещё три с половиной года для неё будут формироваться исправления с устранением уязвимостей...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59857
> внутри f-строк теперь можно указывать любые допустимые для Python выраженияНаконец-то догнали яваскрипт. Только гвидон мог додуматься, что внутри f-строк могут быть только имена переменных и точка.
Иногда лучше жевать, чем говорить...> $ python --version
> Python 3.11.5
> >> a=3
> >> print(f"expr is: {2 if a < 0 else 5}")
> expr is: 5
> >>Давно можно было подставлять выражения при интерполяции строк; речь в новости о том, что сейчас можно свободнее с этим обращаться.
Опять всё ломают как когда принудительно заставили у принта писать скобочки. На том и сломали все питон 2 скрипты.
Пятнадцать лет прошло, а боль осталась. Правда, второй питон поддерживался до 2020 года, но, видимо, не все всё переписать успели.
Обычно больше всех ноют те, кто ничего и не писал, просто поныть хотелось, у них это получается лучше всех
На самом деле там в каждом выпуске список depricated который зачастую сломает код. Этот язык совсем не про обратную совместимость.
Так будь моднее, чо за сторое держаться то?
Какая боль? Так сложно автоматизировать замену текста в исходниках?
Да и чёрт бы с ними, ничего приличного во времена 2 питона не писалось (3 в 2008 появился, я напоминаю). И я так понял тут ничего не ломают, просто теперь не надо будет заводить отдельную переменную с переносом строки и прочим подобным (а то и нескольких видов), что положительно скажется на чистоте кода.
приличного ничего и на 3-м питоне не пишут, но это не мешает ему быть самым популярным ЯП
В 3 питоне есть продакшен-реди батарейки, питон используется во всех сколько-нибудь известных организациях мира, и разработка наколенных решений хорошего уровня в нём, пожалуй, самая эффективная.
> питон используется во всех сколько-нибудь известных организациях мираПодмена "используется" и "продакшен-реди". Это сильно разные понятия. От того, что кто-то что-то внутри организации на питоне считает, оно не станет ни "продакшен-реди", ни "используемым в продакшен"
> В 3 питоне есть продакшен-реди батарейки,Факт наличия "продакшен-реди батарейки" не говорит о возможности создать решение с их использованием. В детский электрический конструктор тоже кладут "продакшен-реди батарейки", а не какие-нибудь самосборные батарейки. Но изделие из детского конструктора так и не становится "продакшен-реди".
> разработка наколенных решений
С этим согласен на все 100%. Именно наколенных.
> Пожалуй, самая эффективная.
Если бы я был "клауд-провайдером", то и с этим бы согласился. Стек на питоне - просто идеален для продажи железа. Если бы люди не использовали питон в попытках сделать "продакшен-реди" приложения, мир стал бы зеленее, потребление электроэнергии резко снизилось бы, а железо стало бы некому продавать. Сложно сейчас выбрать стек хуже питона для "продакшен". Как "клауд-провайдер" я бы просто все средства вкладывал в популяризацию питона.
Ну давай, продолжай жечь недели киловаттчасов в IDE чтобы выпустить шило, которое на том же железе отработает аж на минуту быстрее, чем целый час и сэкономит хостеру (не тебе) целых 0.5 kW, которые ты локально спалил сотнями, пока писал это одноразовое шило
Вас таких эффективных к экологии подпускать нельзя до стадии фермы азотных удобрений
> От того, что кто-то что-то внутри организации на питоне считает, оно не станет ни "продакшен-реди", ни "используемым в продакшен"А если даже не планируется «продакшен-реди» — это типа не настоящее программирование? Программы вообще-то пишутся для того, чтобы решать конкретные задачи.
Напомнить на чём сейчас пишутся самые крутые ИИ?
В итоге все они написаны на С++.))) Который лежит в реализации питона.)))
> В итоге все они написаны на С++.))) Который лежит в реализации питона.)))Пайтон - это интерпретатор, а не ИИ. ИИ реализуется на Пайтон, но не на С++ ))
Так что как не крути, а ИИ (ChatGPT) написан именно на Пайтон (или во многом на нём).
Основная масса, включая библиотеки для питона типа pytorch, написана на C++. И на нём же выводят в прод, если надо реально обеспечить скорость.
А «всякие» ИИ никак не связаны с Python? Это ничего серьёзного? Точно?
Сейчас тебе по методичке напомнить что там всё написано на с++
Напомни пожалуйста, а точнее просвяти про ChatGPT, хотя... подожди... он сам способен ответить:ChatGPT:
Я написан на языке Python.))))))))))))))))))))))
А сам Python написан на С++)))
На си, интерпретатор и некоторые части. Остальное на себе. Есть ещё реализации на жаве, додиезе, и диалекте питона. Я никогда не слышал о питоне на плюсах, видимо, ты демонстрируешь абсолютную безграмотность.
> Остальное на себе.Это поэтому оно такое медленное? Как и настоящие удавы
Не такое и медленное, но да, pure-python не очень быстрый и с кучей ограничений. Попробуй обновить процессор на новенький и мощный, тебе понравится. Есть конечно сложности с тем, чтобы загрузить все ядра эффективно (а не впустую), но над этим работают. Большинство проблем с производительностью, что можно наблюдать, никак не связаны с интерпретатором и рантаймом.
Нютка?
> А сам Python написан на С++)))Так это не значит, что ChatGPT написан на нём (не на нём). Python это интерпретатор всего лишь, вся (или многая, уточнять не буду) логика ChatGPT написана на Python
> логика ChatGPT написана на Pythonлогика ChatGPT вообще ни на чём не написана. Она определена архитектурой нейросети, в вычислении которой питон никак не участвует. Это чисто матричные операции, реализованные далеко за пределами питона.
> ChatGPT вообще ни на чём не написана. Она определена архитектурой нейросетиА архитектура нейросети тоже ни на чём не написана? Интересно просто...
Ну например откроем обменный формат нейросетей ONNX - https://onnx.ai/onnx/intro/Где здесь питон?
> Ну например откроем обменный форматТы бы ещё документацию привёл и сказал, что документация написана не на Питоне! ))))
А при чём здесь документация? Я могу описать логику нейросети на чём угодно (Julia, R, Java) и экспортировать в ONNX. Никто в здравом уме не будет выставлять в прод сервис на питоне с нейросетью. Даже если кто-то найдётся, кто на питоне нейросети описывает, он всё равно выставит в инференс что-то на ONNX с обёрткой на чём угодно, но не на питоне.
> Где здесь питон?Читать то по ссылке сам пробовал или троллингом занимаешься? Слово Python в предложении найдёшь самостоятельно?
> It shows how it is used with examples in python
> It shows how it is used with examples in pythonЭто и есть основная причина применения ONNX с питоном. Не пригоден питон для обсчётов нейросетей. То же в отношении популярности SWIG у питонистов. Убогость питона приводит к развитию других технологий.
>А «всякие» ИИ никак не связаны с Python?«Связаны» в смыле «написаны», а не в смысле «без питона никак». Не путай эти понятия.
Питон это быстрая разработка временных задач, а постройка монолита на века-)
Казнить нельзя помиловать
20 лет не хватило чтоб варнинги поправить? Тут проблеиа точно не в питоне.
Теперь можно вместо html файла писать питон скрипт, начинающийся сprint(f" ...
этакий ранний php, только наоборот.
Что же будет когда ты узнаешь про jinja...
django ?
Flask/Sanic + Alembic понятное дело.
https://opennet.ru/59641-python
Мне раньше Python как-то не нужен особо был, так мелкие скрипты писал особо без знания языка, но вот CPython звучит интересно. Это родные бинарники на нем можно делать теперь? А как это работает? Сам Python будет в бинарник попадать и интерпретировать программу скрипта на этом языке или полностью бинарный файл на выходе?
CPython это офф. реализация Python...
Тебе скорее сюда: https://habr.com/ru/companies/sberbank/articles/710690/
Спасибо, статья интересная. Единственно я не понял, можно ли это счастье бинарное отлаживать?
К слову, в CPython всегда была поддержка компиляции libpython, который уже можно интегрировать в любую программу на C и делать бинарники с поддержкой интерпретации Python-скриптов.
А нормальный синтаксис когда завезут?
Для Python самый нормальный синтаксис -- синтаксис Python. С другим синтаксисом это будет уже не Python.
Уже завезли в 1994-м. Строго не для любителей скобочек. Но у них и без того был и есть выбор.
> Уже завезли в 1994-м. Строго не для любителей скобочек.То то же после 94-го уже 3 несовместимые версии. А скобочки в 3-м питоне лепят прямо таки везде где только можно просто потому, что масса литералов, будучи записанными в одну строку, становится нечитаемой даже для матёрых питонистов, не говоря уже о нормальных программистах. И всякие литералов массивов, вызовы функций с массой аргументов, всё это в питоне лепят со скобочками. А вот то, что у питона нет конца блока - это большая проблема с читаемостью и источником ошибок. Ну и, собственно, создаёт неустранимые проблемы с корявостью синтаксиста.
Очевидно что питон ты в глаза не видел, отсюда и вброс со 100% промахом.
Питон это лучшее что было с синтаксисом ЯП со времён паскаля (уход от нумераций строк бейсика все же важнее). Но те кто никогда не писал на нем так и будут придумывать проблемы про конец блока, про то что кавычки спасают от невнимательности, про массивы литералов (алло, это не си и джава, тут в принципе массивы литералов не особо практикуются), функции с массой аргументов (как раз наоборот) и прочий бред.
> Очевидно что питон ты в глаза не видел,А сам то видел? Или только на заборе о нём читал?
Про "питон", в котором аргументы функций не используют, это ты сам придумал? Код программы видел когда-нибудь?.... Или весь программистский опыт заканчивается "hello world" кем-то по телефону расказанным?
И видел и писал и поддерживал и других учил.
> Про "питон", в котором аргументы функций не используют, это ты сам придумал?Опять мимо. Такого я не писал, но аргументы в питоне как миниум не хуже остальных языков, а за счет фишек вроде дефолтного self или распаковки в аргументы можно просто хэш передать там где в других языках был бы десяток аргументов или отдельный (бесполезный) объект.
Более того большое количество аргументов противоречит философии языка. Но ты иди дальше заборы читай.
> Более того большое количество аргументов противоречит философии языка. Но ты иди дальше заборы читай.Привильно я понимаю, что ты ни философию, ни питон, ни программирование не знаешь?
В питоне даже с объектной моделью разобраться не могут. За 30 лет не выбросили рудимент self при декларации методов.
А уж про неиспользование вызовов функций со скобками на несколько строк, чтобы аргументы были читаемыми один под другим - ну тут уже явно, ни разу программу на питоне в глаза не видел.
Тебя чему-нибудь кроме Питона учили в школе?
Понятно, что первое увиденное запечатлевается в сердце, но надо ж расширять свой кругозор.
Паскакаль -- язык, ориентированный на операторы и создавался он для того, чтобы не имея сложности алгола позволял строго доказывать соответсвие программы алгоритму. Питон этим свойством не обладает даже в императивной части уже потому, что не имеет явной конструкции BEGIN-END.
> А скобочки в 3-м питоне лепят прямо таки везде где только можно просто потому, что масса литералов, будучи записанными в одну строку, становится нечитаемой даже для матёрых питонистовЭто для тех у кого мониторы 5-6 дюймов по диагонали и им надо следовать PEP8 ))) Остальные не стесняются писать длину строки более 80 символов и никаких затруднений не вызывает
> у питона нет конца блока - это большая проблема с читаемостью и источником ошибок
Каких ошибок? Конкретнее. Приведите пример
Вообще то с текстами программ часто работают удаленно на терминалах 25x80, а тексты серьезных программ даже печатают на бумаге (сертификация). В этих случае питон-код запросто переламывается и наступает ад.
Лет десять назад довелось участвовать в разработке софта для китов, которых наш педро-татуированный долбо-менеджер уговорил на верхнем уровне использовать питон вместо TCL/TC. В процессе приемки выяснилось, что тексты программ в документацию следует печатать именно на бумаге, через lpr и на их принтере с заводскими настройками (в комментариях был китайский). С этим справились, а вот с требованием, чтобы код выдерживал "переламывание" пришлось немного повозиться. Дело в том, все комментарии переводились на китайский, а переводчики сидели в китае. Они забирали тексты из репозитория, вписывали комментарии на китайском и делали push в свой локальный репозиторий. Их программисты делали из него pull и пытались собрать. Практически всегда питон-код был сломан переводчиками и проект не собирался. Поэтому в скором времени переводчики делали push на ориджин, наши восстанавливали форматирование и уже исправленный код уходил китайским программистам. Фактически двойная работа питониздов. Закончилось все это тем, что в код добавили "скобочки", плюс еще немного сахарку и написали препроцессор, восстанавливающий питон-форматирование. Написали bash-скрипт python, который накрыл питон в системе и запускал препроцессор перед вызовом настоящего питона.
> с текстами программ часто работают удаленно на терминалах 25x80, а тексты серьезных программ даже печатают на бумаге (сертификация)Мдаа... Это в НИИ каком нибудь советском наверное? Я просто в шоке от таких параметров, честно :))
Ну ладно там когда микрокод пишут для железа, но там Пайтона нет совсем
> Закончилось все это тем, что в код
> добавили "скобочки", плюс еще немного сахарку и написали препроцессор, восстанавливающий
> питон-форматирование. Написали bash-скрипт python, который накрыл питон в системе и запускал
> препроцессор перед вызовом настоящего питона.Мда... вы там в каком то аду живёте. Ужас.
"К ТАКОМУ Гвидо жизнь не готовила"(Ц)
> Уже завезли в 1994-м. Строго не для любителей скобочек. Но у них и без того был и есть выбор.Что за наезды на лисперов?
Ещё не в стэйбле, но можно вполне пользоваться, там скобочки, два плюса/минуса, префиксные и постфиксные и прочее, что привычно сишникам и плюсовикам.
Пробуй:
from __future__ import braces
Лучше в другие языки завезут синтаксис Python.
Пробелы считать ? Спасибо не надо
Зачем их считать? Это какой-то новый вид ОКР что-ли. В 21 веке отступы автоматически ставит даже самый задрипаный редактор кода, не то что ИДЕ.
Большой дисплей, не для слепых, чтоб пробелы лучше видеть, а чтоб больше информации влезало. И всматриваться приходиться в питоновские исходники с напряжением, или делать шрифт крупнее по сравнению с любыми другими языками.Да, можно переформатировать исходник, каждый раз с каждым обновлением.
А исходники на Си, Go, Swift легко читаются при любом стиле исходника (в виде, в котором хоть куда нибудь принимают).Так же абракадабра из из скобочек и закорючек, всё наростающая, не может считаться исходником для людей.
> чтоб пробелы лучше видетьИх не надо видеть. Всё видит и указывает указателем IDE в то место куда надо и говорит сколько пробелов лишних или сколько недостающих. И предлагает исправить в один клик автоматически по всему коду. Такую кнопку "шедевр" завезли кажется во все редакторы мира с поддержкой Python
>> чтоб пробелы лучше видеть
> Их не надо видеть.Я имею ввиду при беглом обзорном просмотре исходников мешанина.
Не везде, и зависит не столько от форматирования, сколько от характера самого исходника.
Это только если ты всю жизнь на мт писал и вдруг на питон пришёл.
Месяц так по работаешь, поймёшь что пробелы и экономичнее и понятнее и читать проще и ошибок меньше совершаешь и даже печатать проще.
При беглом просмотре тебе фигурные скобки не помогут, ты точно так же будешь всматриваться в ширину отступов, или альтернативно считать фигурные скобки в уме. Именно поэтому для любых языков программирования очень хорошей идеей является ограничение на количество уровней вложенности. И именно поэтому все программерские текстовые редакторы могут подсвечивать и сворачивать блоки, чтобы упрощать задачу анализа кода.Вы прежде чем рассуждать о программировании, хоть попробовали бы хелло-ворлд написать, чтобы не говорить о том, в чём вообще не понимаете.
>> чтоб пробелы лучше видеть
> Их не надо видеть. Всё видит и указывает указателем IDE в то
> место куда надо и говорит сколько пробелов лишних или сколько недостающих.
> И предлагает исправить в один клик автоматически по всему коду. Такую
> кнопку "шедевр" завезли кажется во все редакторы мира с поддержкой PythonУ всех IDE разные, не у всех они настроены одинаково, да и некоторые вообще не поддерживают синтаксис питона. А иногда к коду есть удаленный доступ только через терминал 25x80. Бывает, что питон-код при этом является частью большого проекта и превращается в изделие с помощью make или msbuild. Причем сборщик ничего не знгает ни про питон, ни про IDE -- из-под IDE никто программы не собирает, оно только для кодинга и отладки -- в любом случае выпускается программа запуском make или msbuild из оболочки. А тут как раз достаточно 25x80.
> А иногда к коду есть удаленный доступ только через терминал 25x80.Это когда? Как я понимаю, размер терминала -- это проблема на стороне терминала. И emacs/vim ты можешь запустить в терминале -- не проблема вовсе.
> некоторые вообще не поддерживают синтаксис питона.
Выкини их на помойку. IDE может не поддерживать синтаксис C, потому что не всем нужен C, но не поддерживать синтаксис python'а в 2k23 это значит, что этим IDE никто не занимается последние лет 20.
> не у всех они настроены одинаково
Все важные для отображения python'а настройки отражены в стандарте python'а. Не используй табуляций, используй пробелы, и 4 пробела на один уровень идентации. Эти настройки запросто могут быть локальными для режима python'а, и _никак_ не пересекаться со всем остальным. Более того, тебе как не программисту я сообщу, что это мелочь а не проблема, потому что C привносит более сложных проблем: для разных проектов на C приходится использовать разные настройки, потому что разные проекты могут использовать разные соглашения об идентации, или о том куда надо вставлять пробелы, а куда нет, например, писать ли "f(x)", "f (x)" или "f( x )". И соответственно вменяемый редактор кода для C должен уметь для разных проектов использовать разные настройки.
Пайтон в этом смысле гораздо приятнее, он стандартизует эти вещи, пресекая на корню бессмысленные холивары тупоконечников с остроконечниками, со всеми вытекающими из них проблемами, типа наличия 15 стандартов оформления кода.
Что, так трудно пару пробелов отсчитать? Даже не отсчитывая, на глаз заметно.
Пробел - точно такой же символ, как и любой другой в коде.
Не умеешь посчитать до четырёх?
Изменить синтаксис - получить другой язык.
Язык останется тот, же, но диалекты чуть разделятся.
Как пример Бейсики, вариантов синтаксиса которым счету нет, но язык по сути один.
Высокоуровневая императивщина вся - производные фортрана, алгола и бейсика.
так что лучше: Python или Julia? Что легковеснее?
Что угодно легковеснее питона.
Питон определённо легковеснее ллвм.
> Питон определённо легковеснее ллвм.Интересно, а знают ли об этом авторы Rust и Mojo?....
Догадываюсь, что не знают. Иначе бы сделали автономные компиляторы к своим детищам.
Увы, но это так. Благо сам питон так примерно и заявляет.
Nim
https://nim-lang.org/
Лучше и легковеснее - это разные оси координат.
Как понимаю, "легковеснее" - это было уточнение, что значит "лучше".
Julia и синтаксически проще, и по потребляемым ресурсам, естественно. Особенно в научных задачах. У питона, чтобы хоть что-то работающее написать, надо знать как минимум его библиотеки структур данных, которые не на питоне написаны. Иначе написать программу можно, но работать она будет очень долго. На Julia же можно сразу писать простой и прямой код.
Так и к паскалю можно вернуться (что хорошо).
но сначала переписать паскаль на расте
Компилятор под него вначале написать надо, в том числе с поддержкой GPU, тогда и на Паскале вполне писать можно.
Иногда и бейсикообразного достаточно, интересно когда Креветку полноценно завезут в Вынь и Ябл?
> У питона, чтобы хоть что-то работающее написать, надо знать как минимум его библиотеки структур данныхОдни вбросы. Конкретнее. А то МИНИМУМ... Какой ещё минимум? Вот минимум:
[ i for i in range(100) ]
В чём у тебя возникли сложности? ))
Ну если брать как язык для научки и околонаучки, то питон будет лучше. Джулия конечно тема прикольная, но как заменитель фортрана, какой её рисовали она не подходит, плюс когд в языке для научных расчётов тормозит REPL это вообще позорище. Джулию можно определить в угол к разной узкоспециализированой(читай ненужной) фигне, типа R, GNU Octave, Matlab. Тип современный научный пайплайн это питон+юпитер, понимание фортрана 90, и немножко С++, естественно латех и маркдаун. Но главное уметь пользоватся юпитером.
К твоему Юпитеру можно и фортран приделать будет точно так же работать.
Юпитер не нужен, всё должно писаться на Markdown, code samples в него вставленные должны выполняться как есть, результат отображать по умолчанию под сэмплом (в DataGrip можно посмотреть In-Editor results)
> К твоему Юпитеру можно и фортран приделать будет точно так же работать.Можно, но не нужно, Фортран код обычно не пишут, его читают и чинят, а для этого уже какой-нить редактор кода нужен.
Какой-то смузинахряк.
Пайплайн, юпитер, скажете тоже.
Юпитер давно не хайповый, его уже зарыли три раза и два раза похороны сыграли.
> Какой-то смузинахряк.
> Пайплайн, юпитер, скажете тоже.
> Юпитер давно не хайповый, его уже зарыли три раза и два раза
> похороны сыграли.Когда это похороны сыграли? В лабораториях только гостовские рамки отучились в ворде вставлять, и юпитер там точно не мёртв, а вполне себе актуальная технология, на ближайшие лет 15.
О каком Юпитере речь идёт? Jupyter? Кто его закрыл? Он развивается, JupyterLab теперь называется
cython
Сегфолт на сегфолте.
Ура! Python развивается, mojo ещё под боком. Хейтеры продолжают ныть. Идиллия)
Обновление ради обновления по графику ещё не значит что язык развивается. Вообще, "развиние" для языков это скорее зло. Говорю как системный программист с 40 летним стажем.
Fortran-77 forever!
Ада в треде.
Python ещё оптимизировали и ускорили. Плохо что ли? Хорошо!
Если до этого без ускорения всё работало и устраивало, зачем это ускорять? Жертва маркетинга?
Системщикам с сорокалетним стажем было бы идеально, чтобы вообще ничего не менялось, и всё всегда было, как сорок лет назад.
Та даже фортран развивается, через недельку другую новый стандарт выйдет. И только аноны сидят и бухтят со своим с99 кумпилятором.
Все уже забыли про твой С. Аноны юзают Rust и горя не знают.
Разные аноны бывают. Некоторые C++ юзают.
Мне и с С нормально.
Сижу улучшаю парсер который жуёт 100гб файл со скоростью пол гига в секунду и память при этом не жрёт.
А теперь отмасштабируй чтобы хотя бы в 10 раз быстрее было, больше в типичных бытовых дисках наверно не будет сейчас (если не рассматривать некрооптан). Раст это позволяет.
Не всё "масштабируется".
Там выстраивается стейт, по аналогии с тем что у хэш функций, и это не распараллелить.
> Мне и с С нормально.
> Сижу улучшаю парсер который жуёт 100гб файл со скоростью пол гига в
> секунду и память при этом не жрёт.Что-то медленно.
Нужно посмотреть, я недавно питоном примерно с такой же скоростью файлик парсил и в память грузил.
При том что у питона там довольно печально и вместо массивов строки.А нафига парсер на сишке писать вообще, если не секрет?
Парсится бинарный формат со структурами описанными в С хэдерах: сисколы с аргументами.
На основании парсинга выстраивается стейт процессов и потом пишется какие файлы открывали и читали.
Без стейта не отследить кто куда какие симлинки кидал и какая была текущая директория процесса, это нужно чтобы получить полные пути к файлам а не бесполезные имена с ../../ и пр.В целом там пару десятков байт на сисколл, иногда до 100+ если ещё имена файлов/папок.
Те очень много мелких объектов если представить это питоном :)Можно и на питоне и на бейсике писать, но проблема та же от которой я плевался когда на вижал бейсике кодил - нужно тратить кучу времени чтобы все Сшное портировать себе и работать с этим тоже сложнее, постоянно нужны врапперы даже под простые типы.
А какой источник данных используете?
> А какой источник данных используете?Интересно глянуть что можно сделать на питоне...
ktrace -f "build.ktrace" -d -i -t cn "build.sh"
оно там дальше собирает фрю, портов штук 200+ и ещё одну софтину, потом это пакует и делает ISO, это если упрощённо.
88-108гб получается в build.ktrace, вот его и парсим.
О! Напомнили, скучаю по своей Фрюшке, как-же с ней хорошо было.
Пытаюсь тут богомерзкий докер ковырять - жуть какая-то.
Анонимы пусть и дальше используют rust для своих hello world.Язык местечковый. Вот когда он появится в проектах для АЭС, авиационной техники, военных спутников и в целом военки, вот тогда можно сказать, что он стал годен для серьезных проектов.
Кто сказал "Модула"?
Тот кто лепит новые для себя слова, которые недавно услышал, чтобы показаться умнее.
Ты его не понял в российской военной промышленности успользуют Модулу.
> Анонимы пусть и дальше используют rust для своих hello world.
> Язык местечковый. Вот когда он появится в проектах для АЭС, авиационной техники,
> военных спутников и в целом военки, вот тогда можно сказать, что
> он стал годен для серьезных проектов.Ну раст как бы не заявлен как замена Ада.
А щас какой в этой оболасти стандарт? Си?
> Язык местечковый. Вот когда он появится в проектах для АЭС, авиационной техники, военных спутников и в целом военки, вот тогда можно сказать, что он стал годен для серьезных проектов.Извини, но сишочка не прменяется ни в одной из этих областей еще с девяностых.
Говорят на каком-то всё более непонятном и неявном языке.
Обновления по графику - зло.
За 100 лет ни одного нормального языка так и не придумали...
в 1923 году ещё языков программировния не было
Ада Лавлейс как-то же программировала машину Бебиджа за столетие до этого.
Увы, лишь умозрительно -- аналитическая машина Бэббиджа так и не была построена, были только чертежи и наброски. И уж тем более не было языка программирования для нее в привычном нам сегодня понимании.
Жаккардовый ткацкий станок на перфокартах - патент 1804-го.
Махина Бебиджа для математических вычислений. А ткацкий станок ограничивается только тканием.
C89
Ну уж, хотя бы, C99 в качестве нормального назвал, что-ли.
Все тебя ждали.
То что раньше было константой или выражением, теперь кусок кода. Готова ниша для уязвимости.
Да. Туда теперь возможно понапихать люйбой исполняемый скрипт в скрипте из строки 🤭
Ты даже не представляешь, на какие ухищрения приходилось идти, чтобы запихнуть однострочник в пайп. С внедрением моржового оператора стало определённо проще. А вот то, что форматные строки исполняют код, который мог попасть в них от злоумышленника (или просто попасться в названии чего-то) -- это популярная уязвимость в питоне.
>С внедрением моржового оператора стало определённо прощеТак вот что значит "хрен моржовый"...
> С внедрением моржового оператора стало определённо проще.Вот как люди без JavaScript мучаются....
Интерполяция строк это не eval - нет, туда нельзя запихнуть кусок кода.
Ты немного опаздал. Лет так на 20. Как видишь, мы тут ещё живы.
Ура, ждёмс пока юпитер обновится.
Если Юпитер обновится, то в нашей звёздной системе жизни больше не будет.
>...во внутренней строке теперь допускается повторное использование тех же кавычек, что и в обрамлении f-строки...А вот за такое расстреливать надо.
вам бы только расстреливать, тащ. Сержант
В open source все двери открыты. Заряжай ружьё :)
>Предоставлен новый способ определения псевдонимов типов при помощи выражения "type"
>
> type Point = tuple[float, float]А namedtuple, получается, - на свалку истории?)
namedtuple про другое
А вы поверьте через функцию type() или оператор match и то, и другое. NamedTuple на свалку пока что не уходит, потому что является настоящим классом с проверкой типов в runtime в отличие от tuple[int, int]
Вопрос к экспертам, если бы вам надо было написать HighLoad проект вроде агрегатора доставки еды или маркетплейс, какой бы язык и фреймворк вы выбрали? Я на полном серьезе видел варианты ответов вроде Питона.
Сферические эксперты в вакууме часто не понимают, насколько тормознутая штука -- Python, как минимум, в виде CPython. Кстати, PyPy временами значительно ускоряет выполнение кода, но его использование довольно-таки ограничено по ряду причин.
Java by defaultА так, считать надо. Может и на NodeJS будет норм. Особенно, если фронтенд к нему надо писать. И уж на питоне тут точно нечего делать.
Насколько большая разница между нодой и тем же питоном с asyncio?
А кто его знает?... Вопрос чисто технологический. При разработке веб-приложений без JS обойтись нельзя. Значит, если либо писать на JS и ещё чем-то, либо просто на JS. А вообще, JS сейчас становится основным ЯП для бакендов лёгких приложений. А nodejs не единственный движок. Ну а питон тащить в веб - это что-то странное. Его доля исчезающе мала в реальных проектах, которые видны снаружи независимо от asyncio.
> При разработке веб-приложений без JS обойтись нельзя.Очень спорное утверждение. Вот с такой штукой
можно написать достаточно продвинутое веб-приложение, не написав ни строчки не то что жабоскрипта, но и вообще html. То есть под капотом оно есть, но программиста это не волнует. Про WebAssembly, кстати, напомнить?
> Очень спорное утверждение. Вот с такой штукойДавайте на мир реально смотреть. Можно и WebOS написать с компилируемыми приложениями. Но только реальный мир и реальный браузер - это JS.
Я смотрю более чем реально, разрабатываю софт в том числе с этим фреймворком.
> Насколько большая разница между нодой и тем же питоном с asyncio?На железе 5 летней давности и новее разница в статистической погрешности.
Асинк не панацея ваще ни разу.
Java мертва, да здравствует Kotlin
Вас всех не поймешь, один советует Golang и Rus, второй Kotlin, третий ещё что-нибудь придумает.
У Golang/C/C++ своя ниша, у Kotlin и .NET/C# своя, у Python и JS своя. И они вот вообще друг другу никак не мешают и каждый по своему крут в своей нише. В отличие от обложенных мутными лицензиями анахронизмов и каких-то распиаренных невнятных штук на которых днём с огнём достойного софта не найдёшь за килотоннами бесполезных комментов от их фанатиков
Ниши это понятно, но не уточнил какие, а я уточнил для какой задачи прошу совета в выборе ЯП, фреймворка. п.с.Питон не предлагать.
На qna habr вообще чел говорит про Erlang. Что больше всего похоже на C++, Java?
На C++ и Java больше всего похожи... Та-даммммм! C++ и Java! Почему бы не писать на них?
Да нет же, в том смысле что Java похож на C++. На C++ можно написать сайт доставки еды? Нет вроде. А на Java вроде же можно в связке ч каким-нибудь PHP?
На C++ можно написать практически любой сайт без всякого PHP, и на Java -- тоже.
Используя webtoolkit на которую ты дал ссылку ниже? Ясно, спасибо. Осталось понять как лучше архитектуру продумать чтобы написать сайт доставки или маркетплейс. Почитать бы про это где-нибудь.
У Wt отличная документация, с примерами и пояснениями: https://www.webtoolkit.eu/widgets/layout/
Спасибо ещё раз.
Гугли JRuby или какой-нибудь Stripes
угадай на чем написаны Яндекс еда и такси
Первое что пришло мне в голову это выяснить на чём они написаны. Но потом эту мысль вытеснила другая, более значимая в данный момент. Я бы не отказался от ответа на этот вопрос.
Но я не хочу гадать, если знаешь точно, скажи пожалуйста.
На Java?
Сначала надо узнать откуда они спёрли исходный код, который потом был принят в Яндекс еда и такси.
котлин это те же яйца только в обвертке, по-прежнему не умеет в кэст-операторы и еще дофига чего такого, что есть в шарпе напримери сказать что джава надо юзать однозначно - это бред, бы лучше шарп выбрал, хотя приловчившись можно на любом писать, вот только на некоторых типа js - будет постоянна жопаболь
Golang
Rust
Kotlin
А теперь ещё и C#. А он подходит именно для чего-то такого как интернет магазин, сайт доставки еды и подобного? В принципе наверное после С++ учить С# логичнее всего.
давно как-то сравнивали
пихон изрядно тормозилИз более-менее молодёжного оставались лишь нода, го, раст
Нода - вроде и неплохо, но сокетных подключений держала немного( в разы меньше оставшихся двух )
По итогу, оставались го и растНо на раст что-то с кучей бизнес-логики писать рискованно - запросто можно потонуть в болоте с д.мом из перегруженной лексики и громоздкости кода
Я бы глянул в сторону го
Иные говорят про джаву, но с каждым годом она сама по себе всё менее перспективна
Если команда знает только питон, то пишите на питоне+asyncio. Все равно обычно тяжелых вычислений в таких сервисах мало. В целом это верно для любого языка, с которым команда лучше всего знакома.Если проект будет достаточно популярный и приносязий прибыль, что питон станет узким горлышком (а не какая-то база), тогда будет достаточно ресурсов и понимания чтобы часть сервисов переводить на go или rust.
>тогда будет достаточно ресурсов и понимания чтобы часть сервисов переводить на go или rust.С Питоном не хочется связываться изначально. Не нравится он мне. Из комментариев увидел что в основном советуют Java и JavaScript. Почему лучше выбрать не Java а Golang, Rust?
Java адски жрёт ресурсы: память и CPU. Меня закидают навозом "ты просто не умеешь её готовить", но по факту работы в крупной организации могу сказать так: никто не заморачивается оптимизацией.В итоге на Java написано столько и настолько неоптимально, что переведя на любой из C++/C#/Rust/Go/... компилируемых языков можно было бы в несколько раз уменьшить количество потребляемых ресурсов. Но никто не заморачивается, потому что в крупной организации при таком количестве написанного кода нужно бежать, чтобы просто оставаться на месте. Некогда переделывать, слишком много времени на это нужно.
Вначале все думают "напишем быстро на том что умеем, это будет прототип". Потом прототип обрастает мясом и в какой-то момент становится понятно что продолжать проще чем оптимизировать, а недостаток ресурсов проще закидать деньгами, купив ресурсы в облаке. Python и Java - это рак.
Я никуда не тороплюсь, времени вагон, вот и хочу сначала выбрать правильный язык. Если можно на С++ как я выяснил, то буду в первую очередь пробовать на нём.
Хайлоад хайлоуду рознь.
Агрегатор или доставка запросто пишутся на Питоне, благо что легко горизонтально масштабируются, примеров корпорациях уйма. А вот трейдинг бота лучше на чем-нибудь другом.
До трейдинг бота пока что руки не дошли. На Питоне писать желания нет. Это я так просто, потому что темапро него. Из комментариев понял, что лучше на Java и Java Script?
Ничего кроме Go в твоей задаче быть не может бай дизайн.
А можно чуть больше аргументации?
Нельзя, чем больше он натреплет, тем качественнее сядет в лужу
Ты серьёзно? Быстрый, простой, компилируемый язык, который безопасно работает с памятью. Никакой альтернативы просто нет. Если делать проект с нуля. Тот же озон на го работает с настоящим хайлаудом.
Ну и асинхронщина с которой язык сразу создавался, горутины. Короче не чуди и бери го.
Python конечно же! Асинхронность FastAPI + конфетка SQLAlchemy. Одно удовольствие и кайф писать.
Ты прозевал или не понял слово "highload" в исходном вопросе. Python и highload в одном предложении плохо сочетаются.
Смотря что считать хайлоадом. Это настолько расплывчатое понятие.
Я обозначил рамки: что-то вроде сайта доставки еды, интернет магазин и т.д. Может это и не хайлоад, не знаю.
Хайлоад не от языка зависит, а от грамотного девопса и архитектора
Golang для бека, react или vue для фронта.
То, на чем можно как можно быстрее выпустить функциональный продукт и начать продавать. Для чего есть доступные специалисты и экспертиза. Выбирать ЯП без привязки к этим параметром -- просто детский сад.Инстаграмм все еще использует питон и джангу.
Реддит все еще использует питон и джангу.
Вот вам и хайлоад, а эксперты с Опеннета наверняка вам расскажут, что кроме хелловорлдов питон и джанга ни для чего не годны.
Ну может лично я сам не хочу учить Питон, а какой из другиз языков учить мне без разницы. Нет, ну если бы на С++ можно было написать, это конечно было бы быстрее всего в плане изучения, а не разработки.
https://www.webtoolkit.eu/wtКонечно можно.
Спасибо, а вот это уже интересно. Писать веб графику на плюсах это то что мне надо!
Это еще и достаточно быстро в плане разработки.
Если ты только СОБИРАЕШЬСЯ что-то учить, тебе слишком рано думать о Хайлоадах, это просто не имеет смысла. Бери то, на чем легко сможешь найти работу в своем регионе и набирайся опыта.
В моём регионе я могу только на 1С найти работу, ну в лучшем случае девопсом с баш, питон и т.д. А начерта мне скриптовые ЯП учить для того чтобы ими зарабатывать на жизнь, если я учу С++. Слышал что Java похожа на С++ поэтому в её сторону склоняюсь. Но работать всю жизнь кодером не хочу, хочу запустить свой стартап сервис. Знаю что эксперты осудят и отговорят, но как минимум будет пет проект в портфолио.
Мамкины пейсатели всегда начинают с фрэймворка или с хайлоад проектов! Никакие хэлоу вролды их не устраивают! Только хардкор!
> Ну может лично я сам не хочу учить Питон, а какой из
> другиз языков учить мне без разницы. Нет, ну если бы на
> С++ можно было написать, это конечно было бы быстрее всего в
> плане изучения, а не разработки.С++ нужно 10 лет учить. Вы к нам из какой параллельной реальности?
Ну я как раз и начал в 2003 году, но т к. не было практики, забыл. Вот сейчас заново учу.
> Ну я как раз и начал в 2003 году, но т к.
> не было практики, забыл. Вот сейчас заново учу.Всеравно 10 лет.
В любом случае, делать сайт на С++ плохая идея. Никто такое не делает. В портфолио оно вам бесполезно абсолютно.
С++ это геймдев, и спец решения, часто встраиваемые платформы.
Я и так пишу на плюсах немножко, проекты есть, как раз геймдев, они даже компилируются, даже без ошибок, для моих скромных целей хватает, но всё ещё учу, как уже раньше упоминал.
А сайт на плюсах это для себя, для души, небольшой маркетплейс, небольшой сайт доставки еды, в виде хобби.
Скриптеры зашевелились, забеспокоились, что их вышвырнут из отрасли с их кривыми тормозными поделками? Правильно беспокоитесь, плюсы в новых стандартах уже гораздо удобнее всяких пистонов и жабоскриптов. И на порядки быстрее. Не говорите, что я не предупреждал! )
> Скриптеры зашевелились, забеспокоились, что их вышвырнут из отрасли с их кривыми тормозными
> поделками? Правильно беспокоитесь, плюсы в новых стандартах уже гораздо удобнее всяких
> пистонов и жабоскриптов. И на порядки быстрее. Не говорите, что я
> не предупреждал! )Кир, скрипты, тьфу, плюсы ваши, с каждым новым стандартом всё жутче да бредовее.
Потом как каждый новый стандарт основан на старом бреде и маразме.Может оно чисто случайно выйдет к чему-то нормально в один день, но нахрена оно вообще надо это приключение?
> Вопрос к экспертам, если бы вам надо было написать HighLoad проект вроде
> агрегатора доставки еды или маркетплейс, какой бы язык и фреймворк вы
> выбрали? Я на полном серьезе видел варианты ответов вроде Питона.Мда, понятие ХайЛоада я смотрю сильно изменилось, это забавно, даже очень смешно.
Если маркетплейс это ХайЛоад то что тогда стриминговые сервера нетфликса?Вообще, можно на чём угодно конечно.
Но одно подходит хуже другого.
С питоном это будет уж очень много проблем. Так что нет.C# отлично вообще.
GO естественно.
Раст наверное в последнюю очередь, нам нужно всетаки бизнес делать, а не байтики гонять. Но тоже пойдет.Бекенд на питоне для чего угодно? Да, в общем хорошая идея, оно работает очень сносно, никакой особой прожорливости нет. Но ХайЛоад таки вероятно не стоит...
>C# отлично вообще.
>GO естественно
>РастТак всё же, что из этих трёх? Или всё жена крестах?
>Бекенд на питоне для чего угодно?Не знаю как для вас, но для меня Питон и бэкенд в одном предложении звучит не уместно.
>>C# отлично вообще.
>>GO естественно
>>Раст
> Так всё же, что из этих трёх? Или всё жена крестах?Что зависит уже от многих факторов. Например наличия нужных библиотек в инфраструктуре, отдельных требования, того с чем знакомы вы и команда, какой есть предыдущий опыт применения.
Более простой сетевой сервис я бы писал пожалуй на Го. Более много сложную систему со сложной логикой на C#
А если нужно дёргать какие-то особые сишные либы, то лучше все-таки раст наверное, или Гошка, в зависимости от.>>Бекенд на питоне для чего угодно?
> Не знаю как для вас, но для меня Питон и бэкенд в
> одном предложении звучит не уместно.Не так часто встречается, но я периодически вижу вакансии конкретно бекенд питон девелоперов, конкретно со знанием сети и всяких REST api.
В принципе, из того что я уже видел, асинхронщина, аннотация типов, можно уверенно делать бекенд любой сложности. Люди вон на ЖС вообще бекенд пишут, спаси Господи их души.
>Мда, понятие ХайЛоада я смотрю сильно изменилось, это забавно, даже очень смешно.Ну может я чего то и не пони-маю, но а почему маркетплейс или сайт доставки еды не может быть хайлоад?
Мне кажется вполне подходит под этот термин. Нет ну может я и заблуждаюсь, но тогда просьба объяснить.
>>Мда, понятие ХайЛоада я смотрю сильно изменилось, это забавно, даже очень смешно.
> Ну может я чего то и не пони-маю, но а почему маркетплейс
> или сайт доставки еды не может быть хайлоад?
> Мне кажется вполне подходит под этот термин. Нет ну может я и
> заблуждаюсь, но тогда просьба объяснить.Ну сколько сотен тысяч запросов в секунду сайт доставки еды обрабатывает?
Есть разные определения хайлоада. В моём понимании это такая нагрузка которая упирается в аппаратные возможности железа. В скорости подсистемы памяти, пропускную способность дисков, скорость сетевой карты, итд. Обычно не вычислительные мозжможности ЦП, потому как другие ресурсы зачастую исчерпываются быстрее, и, это не тот лоад обычно. когда у вас упирается в ЦП или другой ускоритель, это задача вычислительной нагрузки, что немного сильно другое.
Например у вас 100Гигабитный канал, вам нужно отдавать данные со скоростью 100Гб в секунду, откуда то там их вытаскивая что-то с ними делая и выплёвывая в сетеву карту.
Сейчас с этим стало немного легче чем раньше, по многим причинам, но все-же, у вас обычно задача минимизировать копирование данных в памяти. Если размеры индивидуальных "запросов" не велики в сравнении с общим "каналом", то нужно минимизировать ресурсы необходимые для обслуживания отдельного запроса.Есть разница между
>"мой сервер пердит и греется пытаясь справиться с 10 одновременными пользователямии
>у нас получается загрузить 100Гб канал только на 70% из за лишней операции копирования в TCP/IP стеке ядраКороче, если вы упёрлись в сетевую карту и подсистему памяти - у вас хайлоад.
Если в ЦП - у вас дерьмокод.
Доставка суть круд, хоть на пхп пиши. Оно горизонтально масштабируется хорошо, нет смысла упарываться нативным кодом.
> Вопрос к экспертам, если бы вам надо было написать HighLoad проект вроде
> агрегатора доставки еды или маркетплейс, какой бы язык и фреймворк вы
> выбрали? Я на полном серьезе видел варианты ответов вроде Питона.Доставка еды, это не хайлоад, и да можно написать на питоне бекенд, или даже на пхп. Фронт естественно либо на флаттере если нужно быстро.
На скала, разумеется.
Питону надо многострочные лямбды добавить.
Тут хотя бы асинхронные подвезли бы... Крайне неудобно в асинхронном коде иметь только синхронные лямбды.
> Тут хотя бы асинхронные подвезли бы... Крайне неудобно в асинхронном коде иметь
> только синхронные лямбды.Асинхронные лямбды в одну строчку?
А как это вообще может быть и зачем?
Ну примерно как-то так: async lambda x: 10 * await result_of_long_operation(x)
> Питону надо многострочные лямбды добавить.Даёшь больше синтаксического мусора!
>> Питону надо многострочные лямбды добавить.
> Даёшь больше синтаксического мусора!Синтаксический мусор - это отдельный синтаксис для функций и лямбд.
Слушай бери просто NodeJS и делай замыкания в любом месте в том числе и асинхронные.
Зачем тебе Python? А в NodeJS еще и JIT уже давно есть. Одна беда там это npm,
но скажем так pip не лучше.
Скоро Bun потеснит nodejs.
> from collections import chainmapImportError: cannot import name 'chainmap' from 'collections'. Did you mean: 'ChainMap'?
В следующей версии после обучения он будет сам код писать?
Было бы достаточно хайпово воткнуть в дистр с языком какой-нибудь специализированный PythonGPT вместо умеющих лажать сразу во всё пупергпт)
Хотя не так хайпово, как втащить нормальный графический стэк из коробки и Pytests вместо unittests
Тем временем на страничке Qt for Python: Please notice that Android, iOS, and WebAssembly are not supported yet.
Я за свою жизнь на чем только не писал, и свои языки тоже делал (специализированные). Так вот хуже языка, чем Питон нет - все на от...сь сделано и тяп ляп. Даже JS как язык лучше.
Ты так говоришь как будто это что-то плохое.
> Так вот хуже языка, чем Питон нетЕсть. PHP же.
Всегда поражают такие вот нытики-эксперты аля Столяров, которым вечно всё не так;
Столяров никогда не скажет доброго слова про жс.
Python занимает очень важную нишу: простой язык для всех, чтобы побыстренкому что-то написать. Python самый простой и всемогущий из всех языков! Python - BASIC с ООП для Си.
Быстро и просто - Ruby, если пох на скорость однопотока
я разве что на питоне не писал, неужели что-то может быть хуже чем жс? ))))
C++?
> C++?не смешно
Похоже, скоро снова package.accept_keywords & package.use ковырять нужно будет при обновлении.
Почему то не собирается на el7 c ошибкой как :
https://github.com/ContinuumIO/anaconda-issues/issues/123192 недели назад 3.11.5 собрал без проблем.
Нужен нормальный GUI toolkit, а не Tkinter страшный.
Смысл Tkinter в том, что ничего не надо ставить. Для маленьких утилит с ГУИ вполней пойдет.
Дитя Уиндоуз, Tkinter на Linux ставить надо. На Linux Python ставится без Tkinter (не знаю, но вроде, в современных установщиках Python тоже есть флажок - "не ставить Tkinter")
Хм. У меня tkinter -- в пакете python. Вот tcl/tk -- отдельно.
> Нужен нормальный GUI toolkit, а не Tkinter страшный.Полно самых няшных. Гуглятся спокойно. Tkinter выпадает для самых ленивых и не умеющих пользоваться поисковиком
> Нужен нормальный GUI toolkit, а не Tkinter страшный.Там много чего существует. Даже реализация флаттера на питоне.
> Повышена гибкость разбора f-строку меня из-за этих ваших f нифига не работает, т.к. в системе древний на 3.5 ...
Так поставьте 3.12.
Самое интересное, что некоторые сишники ругаются на отсутствие скобок и необходимость отступов, а сами используют отступы и скобки ставят справа, так что бы их не было видно. Двадцать пять лет назад, где то в далёкой - далёкой галлактике Гвидо говорит: "ок, скобки не нужны, оставим только отступы."
В Си я скобки могу поставить там где захочу, а не там где вынуждают.
> В Си я скобки могу поставить там где захочу, а не там
> где вынуждают.Вы хотели сказать:
> В Си я ОТСТУПЫ могу поставить там где захочу, а не там
> где вынуждают.Верно? Если так, то вы правы, сударь, но от этого "я могу" нет никакой пользы, т.к. по факту сейчас никто не пишет на Си без отступов. Так что скобки оказались не нужны, а в Питоне это зафиксировали. Питон создавали на основании опыта полученного при работе над огромным множеством проектов на языках Си и Си++, а эти языки появились на заре программирования, тогда не было такого понимания процесса разработки программ, какое есть сейчас, поэтому, априори, Питон будет более удобным и эффективным чем Си и Си++, за исключением аппаратных вещей, например драйвера, системные утилиты и т.д.
Если ты конечно делаешь коня в сферическом вакууме, тогда конечно ты можешь ставить скобки и отступы где захочешь. А если ты работаешь с людьми, то ставить скобки где захочется это - неуважение к своим коллегам.
>сишники ругаются на отсутствие скобок и необходимость отступов, а сами используют отступы и скобки ставят справа, так что бы их не было видно.Вот то-то ж, и никакой визуальной пользы для человека нет, если открывающая и закрывающая скобки не стоят в одном и том же столбце.
https://astyle.sourceforge.net/astyle.html#_Brace_Style_OptionsТы не поверишь, сколько есть вариантов расстановки скобочек, и каждый кому-то нравится ))
> сколько есть вариантов расстановки скобочекВ этом вся суть: нет скобочек -> нет вариантов -> нет проблем.
Не знаю, в курсе ли ты, мой юный друг, что питоновское форматирование отступами (обязательное!) -- одна из причин, по которой питон не смог претендовать на нишу жабоскрипта, который со скобочками. Просто потому, что из жабоскрипта можно выкинуть ненужное форматирование при передаче клиенту по сети, а из пистона -- фиг вам. Кому захочется гонять по сети тонны ненужных пробелов?
Ха-ха, посмеялся.
Нет конечно. Что скобки в js, что пробелы в Питоне выполняют одну и ту же функцию и прозрачно заменяются на одну и ту же конструкцию. Но в любом случае проигрывают бинарю, который по вашей логике должен легко вынести js, потому что "кому захочется гонять 80% бесполезных данных по сети".
Именно, WebAssembly же. Почитай, все как один из плюсов упоминают меньшие объемы бинарных данных.
А ты никогда не обращал внимания, что js-либы грузятся по сети без намека на форматирование, сплошным потоком символов? Как думаешь, почему?
По сети никто не гоняет без сжатия, а когда ты используешь компрессор, повторяющиеся символы слабо влияют, если вообще влияют на размер при передаче.
Ну, наверное "да" - хотя кто мешал гонять байткод - не очень понятно. Чтение минифицированного js "глазами" по осмысленности примерно сопоставимо с байткодом - а инструментальными средствами монопенисуально.
Напиши страницу на yaml в блокноте, потом расскажешь.
> скобки ставят справа, так что бы их не было видноНу справа их ставят, чтобы меньше вертикального места занимать. А вообще нужны форматеры и скобки не являются проблемой. Вот в том же go есть форматер из коробки, который все сделает как надо (писать при этом можно не соблюдая никакой стиль). Да даже в питоне есть форматеры black и yapf.
Нормальных типов не завезли все пердолятся со своими dict, tuple.
Справедливости ради, там есть какое-то подобие библиотеки контейнеров, но всё это настолько убого, что скорее смешит, чем радует.
> Справедливости ради, там есть какое-то подобие библиотеки контейнеров, но всё это настолько
> убого, что скорее смешит, чем радует.Вот-вот прямо как в Go, где stackoverflow завален половиной не верных (и/или не полных) ответов по вопросам работы со slice.
Берёшь Python/API и пишешь на Си свои типы.
Берёшь SBCL и нормальные типы из коробки.
Берешь C++, и к твоим услугам вся STL
Посмотрел на свежий тест Python в сравнении с другими ЯП — и ахнул. Фиаско.
Интересно, когда Python 3.12 добавят в коллекцию портов FreeBSD?