LINUX.ORG.RU

python3.13-freethreading в федору завезли ещё в прошлом году

t184256 ★★★★★
()

не прошло и 30-и лет… скоро догонит джаву6(нет)

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)
Ответ на: комментарий от Syncro

Я думал, этот аргумент остался где-то в нулевых. Ан нет, до сих пор кроет людей в межсезонье.

leave ★★★★★
()
Ответ на: комментарий от leave

остался бы если один дегенерат бы не хотел построить разводняк на концепции «простого» языка программирования и сделал бы синтаксис нормальным

Syncro ★★★★★
()
Ответ на: комментарий от Syncro

А как ещё макак принуждать стиль хоть какой-то соблюдать? Если бы не это требование, питономакаки там такое бы изображали в коде. Так их хоть язык воспитывает немного.

Loki13 ★★★★★
()
Ответ на: комментарий от Syncro

Это слишком сложные слова для уровня питоноскриптов и тех кто их пишет. Да и какой ещё кодревью для наколенного питоноскрипта на гитхабе? Или если математик пишет для расчета функцию? Ты видел код от математиков?(не программистов которые)

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 2)
Ответ на: комментарий от Loki13

А как ещё макак принуждать стиль хоть какой-то соблюдать?

Можно начать с того, чтобы прямо с компилятором/интерпретотором распространять встроенный форматтер. Решение явно не для Гвидо, он решил пойти альтернативным путем и просто сделать дерьмовый синтаксис без нормальных блоков.

MoldAndLimeHoney
()
Ответ на: комментарий от MoldAndLimeHoney

Можно начать с того, чтобы прямо с компилятором/интерпретотором распространять встроенный форматтер

Так он(Гвидо) так и сделал, что язык бьет по рукам. А уж с помощью синтаксиса блоков или он(интерпретатор) бы просто писал, что стиль-говно и выдавал ошибку, разве это так важно?

Кстати, возможно не помешало бы некоторые PEP-ы, их нарушения, тоже ошибками сделать.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 2)
Ответ на: комментарий от Loki13

нуда все сложно, а восстанавливать логику в сломанных отступах нет и даже оно, может быть, полезно для математиков, у которых годы до релиза и выход с «работы» только ногами вперед

Syncro ★★★★★
()
Ответ на: комментарий от Loki13

Или если математик пишет для расчета функцию

Зачем их принуждать? Ну пишут и пишут свои одноразовые расчёты. Наоборот, лишний гемор по поводу кода, который запустят один раз и отправят в мусорку.

no-such-file ★★★★★
()
Ответ на: комментарий от Loki13

важно потому что пипон ломается в проде и не сразу, а только когда интерпретатор заедет на ошибку, а логическая может вообще не порождать сообщений интерпретатора. Годами будет втихушку работать неправильно пока не обнаружат по дата корапшин.

Syncro ★★★★★
()
Ответ на: комментарий от Syncro

а логическая может вообще не порождать сообщений интерпретатора. Годами будет втихушку работать неправильно пока не обнаружат по дата корапшин.

Ну это в любом языке так. Она на то и логическая. А вот синтаксическая, разве нет какого способа, чтобы питон пробежал по всему коду и проверил на ошибки до выполнения? Что-то типа компиляции без создания бинарника.

PS: Я сам не питонист, питон видел только в кино когда чинил чужие скрипты

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Зачем их принуждать? Ну пишут и пишут свои одноразовые расчёты. Наоборот, лишний гемор по поводу кода, который запустят один раз и отправят в мусорку.

А потом приносят программисту этот код и говорят сделать его в продакшен. И лучше если он будет структурирован хотя бы.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

ни в одном нормальном языке программирования не может быть такого, что кусок кода незаметно для глаз отъехал к родительскому блоку

А вот синтаксическая, разве нет какого способа, чтобы питон пробежал по всему коду и проверил на ошибки до выполнения?

прекомпиляция есть, но она далеко не всегда помогает вылавливать ошибки. Только 100% покрытие юнит-тестами, но какой же математик их будет так хорошо и непредвзято клепать?

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)

Революция будет с шустрым jit, хотя бы раз в 5-7 ускорить на большинстве тупняковых тест кейсах. А nogil это скорее развязать руки малоиспользуемому мультитредингу.

ac130kz ★★
()

Trying to run the full test suite crashes pretty quickly, in test_asyncio.

Может через пару лет это станет реальностью.

rupert ★★★★★
()
Ответ на: комментарий от Syncro

гвидона стоило бы мочкануть хотя бы за тупорогость с отступами

Да, столкнувшись с необходимостью правки исходников на питоне тоже сильно удивился возвращению в 21 веке к идеологии ЕС ЭВМ где требовалось соблюдение позиций на перфокартах. Думал что идея значащих пробелов давно ушла в прошлое,оказывается нет,кому-то это нравится.

А еще не понравилось в Питоне слишком уж нестрогое обращение с типами.

Так-то идея простого интерпретируемого языка на замену всяким диалектам бейсика - вполне здравая. Если бы не эти два неприятных момента.

watchcat382
()
Ответ на: комментарий от Loki13

так и сделал, что язык бьет по рукам.

Полезнее было бы если бы бил по рукам при вольном обращении с типами данных.

А форматтер можно было бы прямо в интерпретатор встроить. Нашел ошибку форматирования - не отказываться исполнять код,а форматирование исправлять, показывая условному «математику-непрограммисту» как оно должно быть.

watchcat382
()
Ответ на: комментарий от Loki13

Гвидон дальновидный и знал, что в питон попрут именно те, которые html+js в одну строку без пробелов писали.

spbzip
()
Ответ на: комментарий от Loki13

А потом приносят программисту этот код и говорят сделать его в продакшен. И лучше если он будет структурирован хотя бы.

Программист первым дело напускает на этот код какой-нибудь форматтер,который легко сделает правильные отступы. А вот именно что структурированности отступы коду не добавят потому что структурированность это не про них,а про правильное деление кода на структурные единицы (процедуры,модули). Если математик написал всё в одну портянку в стиле старого бейсика - то отступы не особо помогут.

watchcat382
()
Ответ на: комментарий от watchcat382

а форматирование исправлять

В Q(uick)Basic это было хорошо сделано.

GAMer ★★★★★
()
Ответ на: комментарий от Syncro

Ну, в любом сложном случае, легче на питон, чем на жабочкрипт.

Shadow ★★★★★
()
Ответ на: комментарий от Syncro

Ой, будто линтеры помешали перлооднострочнмкам.

Shadow ★★★★★
()
Ответ на: комментарий от Loki13

Питон - это компилятор + интерпретатор байт-кода.

Shadow ★★★★★
()
Ответ на: комментарий от Syncro

кусок кода незаметно для глаз отъехал

Понимаю, что пример про логическую ошибку, но в жс запуск конструктора вместо вызова метода - типичная ошибка на том уровне, когда в питоне без линтера/ide пишут. И последствия ещё веселее.

Shadow ★★★★★
()
Ответ на: комментарий от Loki13

А вот синтаксическая, разве нет какого способа, чтобы питон пробежал по всему коду и проверил на ошибки до выполнения

Так оно во время импорта автоматом это делает же. То есть синтаксические ошибки стреляют сразу если не творить дичь типа динамической загрузки непонятно чего. Хотя иногда, конечно, это (динамическая загрузка) надо, но это не самый частый случай

no-dashi-v2 ★★★
()
Ответ на: комментарий от Syncro

mypy позволяет достаточно строго еще на этапе сборки пакета проверить всё. Но статическая типизация напрочь отбивает возможность делать херак-херак-и-в-продакшн, за возможность которой многие так любят питон

no-dashi-v2 ★★★
()
Ответ на: комментарий от Loki13

А как ещё макак принуждать стиль хоть какой-то соблюдать?

А надо?

 ЯП в первую очередь для исполнения программы,

 а не дроча на стили.

  Если нужен стиль - макаку надо

  принуждать гайдлайнами и зарплатой.

   Если не нужен - то и не нужен.

стиль хоть какой-то

  Вот именно что хоть какой-то.

 Логически и математически выгоднее

 в блоке использовать признак открытия и признак закрытия. Это везде так.

Кроме того наличие огромного количества пробелов вносит

путаницу, а не стиль.

А если у нас в проге 50 вложенных if'ов?

 Открываешь любой маломальски большой питокод, и глаза ломаются.

  Хотя этот же самый блок

  было бы логичнее просто

  выделить символом начала и завершения.

windows10 ★★★★★
()
Ответ на: комментарий от Syncro
>>> from __future__ import braces
  File "<stdin>", line 1
SyntaxError: not a chance
Sahas ★★★★☆
()

А где пример кода, который показывает бенефиты?

cobold ★★★★★
()
Ответ на: комментарий от windows10

А если у нас в проге 50 вложенных if’ов?

То вы поехали кукухой, безотносительно языка - буде то хоть питон, хоть си

no-dashi-v2 ★★★
()
Ответ на: комментарий от Syncro

Почему ты позволяешь себе выкатывать в прод код без тестирования? Типа раз линтер пропустил - значит багов нет?

leave ★★★★★
()
Ответ на: комментарий от windows10

А если у нас в проге 50 вложенных if’ов?

медленно, без резких движений, положи на стол заявление об уходе по собственному желанию и выйди в окн^Wдверь

leave ★★★★★
()
Последнее исправление: leave (всего исправлений: 1)
Ответ на: комментарий от leave

Здесь нет вложенных if'ов.

Я задал простой вопрос: почему человек написавший рабочую программу должен быть уволен?

windows10 ★★★★★
()
Ответ на: комментарий от windows10

Если код этой программы невозможно подправить (а в случае большого проекта и говнокодинга уровня «50 вложенных if’ов» это так), ее ценность обнуляется.

Vilicus
()
Ответ на: комментарий от windows10

почему человек написавший рабочую программу должен быть уволен?

Безусловно, «write only» программы имеют место быть. На том же питоне иногда пишут какой-нибудь расчетный код,который живет ровно до того момента когда отработает без ошибок и выдаст нужные данные,после чего отправляется в мусорку так как эта задача решена,а для следующей потребуется другой код. Достаточно частая ситуация например в науке.

Но! Если программа должна работать сколько-нибудь длительное время и соответственно нуждается в техподдержке и возможно некоторой адаптации к изменению условий эксплуатации - то она должна быть написана так чтобы другой программист, пришедший через год-два-три на место писавшего, мог её легко прочитать и понять. И вот 50 вложенных if этому никак не способствуют. Как и прочие грубые отклонения от «хорошего тона» классического структурного программирования.

watchcat382
()
Ответ на: комментарий от watchcat382

О, вот ты подошел совсем близко. Наука - состоит сплошь и рядом из такого.

Кроме науки, кучу вложенных if'ов содержат некоторые эвристические анализаторы чего угодно, например антивирей, без этого там не обойтись.

Обработчики большого количества датчиков и исполняемых узлов тоже содержат подобные участки.

Более того, подобное сплошь и рядом используется в программном обеспечении кое-какого НАТОвского высокоточного вооружения. Там 90% программы состоит из массива, цикла его перебирающего, и сотни вложенных if\elseif формирующих в свою очередь набор переменных для команд, дергающих исполнительные механизмы. Бедный Lockheed Martin должен был уже лишиться погромистов, если бы действовал согласно советам экспертов с ЛОРа.

windows10 ★★★★★
()
Ответ на: комментарий от windows10

В твоем понимании. Но не тех кто платит большие деньги.

Ну, возможно в ООО «Рога и Копыта» твои 50 вложенных if’ов прокатят, но в серьезных организациях тебя за такое погонят этими с-с-самыми тряпками. И будут правы.

И да, альтернативы еще никто не предложил.

man Декомпозиция.

Vilicus
()
Ответ на: комментарий от Vilicus

Ну, возможно в ООО «Рога и Копыта» твои 50 вложенных if’ов прокатят, но в серьезных организациях тебя за такое погонят этими с-с-самыми тряпками. И будут правы.

В серьезных организациях - это в тех где выход в туалет по карточке? Не, спасибо.

man Декомпозиция.

Ты прикалываешься что ли?

Если у тебя функция воспринимает на входе 50 переменных - тебе их надо будет все равно заполнить в зависимости от других исходных данных, только это будут условия в разноуровневых блоках.

И на кой с этим задрачиваться, если if/then/else - интуитивно понятны и читаемы ?

windows10 ★★★★★
()
Ответ на: комментарий от windows10

А что есть альтернативы?

Не писать говнокод.

Не всем дано.

wandrien ★★
()
Ответ на: комментарий от windows10

Там 90% программы состоит из массива, цикла его перебирающего, и сотни вложенных if\elseif формирующих в свою очередь набор переменных для команд, дергающих исполнительные механизмы.

А точно ли это лучший способ реализации? Или может так сделали по каким-то другим причинам,например надо было побыстрее сляпать и сдать заказчику? Сдаточные испытания прошло согласно требованиям согласованного ТЗ - и хорошо. А что там внутри - такому заказчику всё равно не интересно в большинстве случаев.

watchcat382
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.