The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Выпуск языка программирования Python 3.10"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск языка программирования Python 3.10"  +/
Сообщение от opennews (??), 05-Окт-21, 07:25 
После года разработки представлен значительный выпуск языка программирования Python 3.10. Новая ветка будет поддерживаться в течение полутора лет, после чего ещё три с половиной года для неё будут формироваться исправления с устранением уязвимостей...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=55907

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск языка программирования Python 3.10"  +14 +/
Сообщение от Аноним (1), 05-Окт-21, 07:25 
> Реализованы операторы "match" и "case"

Не прошло и 30 лет) уря

Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Ivan_83 (ok), 05-Окт-21, 07:43 
Странно что у них не было такой базовой возможности.
Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск языка программирования Python 3.10"  +9 +/
Сообщение от QwertyReg (ok), 05-Окт-21, 10:01 
А кто решил, что эта возможность - базовая? Без неё вполне обходились.
Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (79), 05-Окт-21, 13:08 
Обходиться можно и одним while.
Ответить | Правка | Наверх | Cообщить модератору

121. "Выпуск языка программирования Python 3.10"  +5 +/
Сообщение от Тот_Самый_Анонимус (?), 05-Окт-21, 17:52 
While? Зачем, когда есть if и goto?
Ответить | Правка | Наверх | Cообщить модератору

177. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (177), 06-Окт-21, 12:04 
jmpz хватит всем.
Ответить | Правка | Наверх | Cообщить модератору

190. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Аноним (190), 06-Окт-21, 20:37 
Goto как раз в нем нет
Ответить | Правка | К родителю #121 | Наверх | Cообщить модератору

205. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Pupkin (??), 08-Окт-21, 08:57 
Или так


matching = {<value>: <response>, ... }
return matching.get(value, 'Something else')

Ответить | Правка | Наверх | Cообщить модератору

52. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (52), 05-Окт-21, 11:03 
у них был elif
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

58. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (58), 05-Окт-21, 11:49 
Python отличается от низкоуровневых языков.

В Python акцент сделан на поддержке сложных тыпов данных и операций над ними.

Оператор выбора в Python не нужен и очень вреден.

Вместо оператора выбора в Python есть очень развитая поддержка типа "словарь". Оператор выбора заменен действием по выбору значения из словаря.

Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск языка программирования Python 3.10"  +3 +/
Сообщение от Аноним (60), 05-Окт-21, 11:53 
Так там по-моему словарь вместе с матчем переписали на новую эффективную реализацию. В итоге матч эффективней ифов, не говоря уж о том что полезнее. Что такоего вредного? Более чистый код, более быстрый? Надо чтобы плохо было?
Ответить | Правка | Наверх | Cообщить модератору

77. "Выпуск языка программирования Python 3.10"  +5 +/
Сообщение от Псевдоним (??), 05-Окт-21, 13:03 
Но и сам питон становится более жирным, неоднородным, его становится тяжелее понимать (надо знать и элсифы и кейсы и через словари) и учить и сам интерпретатор питона теперь написать (и поддерживать) сложнее.
Про дзен питона на который давно забыли, если вообще когда-то помнили, ("должен существовать один и, желательно, только один очевидный способ сделать это") я и вовсе молчу.
Ответить | Правка | Наверх | Cообщить модератору

100. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Простоникemail (ok), 05-Окт-21, 14:54 
Есть тут сермяжная правда. Даже простое elif окажется по количеству букв и строк короче swith/case/break в с. Код при этом остаётся вполне  читаемым.  Ну и реализация с помощью словаря имеет некоторый смысл в особо сложных случаях, когда условий выбора много и они требуют дополнительных проверок.

Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (82), 05-Окт-21, 13:20 
> Python отличается от низкоуровневых языков.
> В Python акцент сделан на поддержке сложных тыпов данных и операций над ними.

Это самовосхвалительная туфта. Адепты примерно каждого языка такое о своём языке говорят.

> Оператор выбора в Python не нужен и очень вреден.

А это сектантсоке повторение объяснений гуру почему "всё хорошо", без какой-либо попытки критического анализа.

> Вместо оператора выбора в Python есть очень развитая поддержка типа "словарь". Оператор выбора заменен действием по выбору значения из словаря.

А это костыль. В этот словарь предполанается лямбды помещать что ли? Таки они даже несколько выражений не поддерживают. Или описывать отдельные функции и вызывать их через словарь? Очевидное переусложнение. Но гуру рассказал, что замена хорошая и правильная. А сектанты верят.

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

91. "Выпуск языка программирования Python 3.10"  +/
Сообщение от вы про перл или питон сейчас (?), 05-Окт-21, 14:16 
ко-ко-ко-ко... вы про перл или питон сейчас?
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

179. "Выпуск языка программирования Python 3.10"  +/
Сообщение от OpenEcho (?), 06-Окт-21, 14:21 
Пятоно-свитчу (до 3.10) посвящается

def pyatono_switch(human):
    aka_switch = {
        1: "Men",
        2: "Women",
        3: "Urod"
    }
    print aka_switch.get(human, "Hren ego znaet...")

Ответить | Правка | Наверх | Cообщить модератору

124. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от анонопитонист (?), 05-Окт-21, 18:03 
> Вместо оператора выбора в Python есть очень развитая поддержка типа "словарь". Оператор выбора заменен действием по выбору значения из словаря.

Упоролся? Вот как словарь заменяет-то? Лямбды в него добавлять, которые тоже вроде ну такие были как минимум до последней пары версий (и это даже, возможно, и фича)

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

181. "Выпуск языка программирования Python 3.10"  +/
Сообщение от OpenEcho (?), 06-Окт-21, 14:23 
> Вот как словарь заменяет-то? Лямбды в него добавлять....

Пятоно-свитчу (до 3.10) посвящается

def pyatono_switch(human):
    aka_switch = {
        1: "Men",
        2: "Women",
        3: "Urod"
    }
    print aka_switch.get(human, "Hren ego znaet...")

Ответить | Правка | Наверх | Cообщить модератору

183. "Выпуск языка программирования Python 3.10"  +/
Сообщение от анонопитонист (?), 06-Окт-21, 14:44 
>> Вот как словарь заменяет-то? Лямбды в него добавлять....
> Пятоно-свитчу (до 3.10) посвящается
> def pyatono_switch(human):
>     aka_switch = {
>         1: "Men",
>         2: "Women",
>         3: "Urod"
>     }
>     print aka_switch.get(human, "Hren ego znaet...")

Так а если нам действие сделать нужно? Различающееся в разных ветках.

Ответить | Правка | Наверх | Cообщить модератору

184. "Выпуск языка программирования Python 3.10"  +/
Сообщение от OpenEcho (?), 06-Окт-21, 15:02 
>>> Вот как словарь заменяет-то? Лямбды в него добавлять....
>> Пятоно-свитчу (до 3.10) посвящается
>> def pyatono_switch(human):
>>     aka_switch = {
>>         1: "Men",
>>         2: "Women",
>>         3: "Urod"
>>     }
>>     print aka_switch.get(human, "Hren ego znaet...")
> Так а если нам действие сделать нужно? Различающееся в разных ветках.

result = getattr(some_module, aka_switch.get(human, "undefined"))()

some_module: должен иметь методы: Men,Women,Urod,undefined

Ответить | Правка | Наверх | Cообщить модератору

187. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (82), 06-Окт-21, 16:03 
Переусложнённый нечитабельный отстой же получается. Модуль ещё отдельный городить, вместо того чтоб здесь и сейчас написать.

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

Ответить | Правка | Наверх | Cообщить модератору

188. "Выпуск языка программирования Python 3.10"  +/
Сообщение от анонопитонист (?), 06-Окт-21, 16:12 
>[оверквотинг удален]
>>> def pyatono_switch(human):
>>>     aka_switch = {
>>>         1: "Men",
>>>         2: "Women",
>>>         3: "Urod"
>>>     }
>>>     print aka_switch.get(human, "Hren ego znaet...")
>> Так а если нам действие сделать нужно? Различающееся в разных ветках.
> result = getattr(some_module, aka_switch.get(human, "undefined"))()
> some_module: должен иметь методы: Men,Women,Urod,undefined

Имхо, выглядит кривее лесенки `if elif else`.

Ответить | Правка | К родителю #184 | Наверх | Cообщить модератору

193. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от OpenEcho (?), 06-Окт-21, 21:50 
> Имхо, выглядит кривее лесенки `if elif else`.

100% согласен, а со switch-ем еще нагляднее, даже в шеллах и то есть...


Ответить | Правка | Наверх | Cообщить модератору

141. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Аноним (141), 05-Окт-21, 22:26 
> Оператор выбора в Python не нужен и очень вреден.

Потрудитесь обосновать.

> Вместо оператора выбора в Python есть очень развитая поддержка типа "словарь".

В чём её развитость?

> Оператор выбора заменен действием по выбору значения из словаря.

Кем и когда заменён?

Словарь может заменить оператор выбора лишь в очень маленьком подмножестве кейсов. В общем случае конечно же это не так - например, со стоварём не будет ни диапазонов, ни биндинга, ни частичных матчей, ни мутабельных типов.

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

200. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Zulu (?), 07-Окт-21, 16:08 
словарь не заменит match, потому что match позволяет структурное сравнение:

match alist:
  case [_, 'word2', *rest]: ...
  case ['word1', _, *rest]: ...

Через словарь такого не сделаешь.

Да, это иногда выглядит прямо по Борхесу https://ru.wikipedia.org/wiki/%D0%9A%D0%... но иногда это надо.

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

201. "Выпуск языка программирования Python 3.10"  +/
Сообщение от n00by (ok), 07-Окт-21, 19:12 
Это называется НАМ (нормальный алгорифм Маркова). Третий вариант формализации после Машины Тьюринга и Стрелки Чёрча. Т.е. одного такого match достаточно для реализации алгоритмов, в отличие от словаря.
Ответить | Правка | Наверх | Cообщить модератору

222. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аннон (?), 17-Окт-21, 18:50 
> Стрелки Чёрча

стреклу Пирса знаю, Чёрча - нет.

Ответить | Правка | Наверх | Cообщить модератору

224. "Выпуск языка программирования Python 3.10"  +/
Сообщение от n00by (ok), 18-Окт-21, 14:45 
>> Стрелки Чёрча
> стреклу Пирса знаю, Чёрча - нет.

Да, спасибо. Правильно было бы написать Лямбда Чёрча. "Стрелка" это жаргон из-за распространённого синтаксиса:

"
Теперь посмотрим на константную функцию:

(λx.(λy.x))

Константная функция является функцией двух аргументов, поэтому наш терм принимает переменную x и возвращает другой терм функцию (λy.x) . Эта функция принимает y , а возвращает x. В Haskell мы бы написали это так:

\x -> (\y -> x)

Точка сменилась на стрелку, а лямбда потеряла одну ножку.
"
https://anton-k.github.io/ru-haskell-book/book/14.html

"
В: с каких пор js - чисто функциональный язык? )
О: С тех пор как ввели => Это стрелка чёрча со всеми вытекающими следствиями
"
https://telegrammy.net/group/nodejs_ru/page1104.htm#110357


Стрелками так же обозначается марковская подстановка. https://gsom.spbu.ru/images/cms/data/teoriya_algoritmov.pdf
поскольку писал о НАМ, получилось что получилось.

Ответить | Правка | Наверх | Cообщить модератору

80. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Аноним (82), 05-Окт-21, 13:08 
Возможность нужная и полезная, но никак не базовая. В большинстве популярных языков её до сих пор нет, в некоторые, например Java, постепенно, очень уж медленно, добавляют, в Kotlin когда-то обсуждали и решили, что "слишком сложно", так и не добавили.

Это я про pattern matching with deconstruction, если что, не про простой switch-case.

Но то, что в Python простого switch-case не было - это фейл, да.

Кстати, я надеюсь, этот новый match-case хоть значение возвращает, как в других языках?

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

139. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (79), 05-Окт-21, 21:50 
Через какую дырку он их будет возвращать?
Ответить | Правка | Наверх | Cообщить модератору

170. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (82), 06-Окт-21, 04:23 
Через такую же, как и в других языках. Например так:

result = match point:
       case Point(x, y) if x == y:
           f"Y=X at {x}"
       case Point(x, y):
           f"Not on the diagonal"

Вот как в Scala делается (второй пример посмотрите):

https://docs.scala-lang.org/overviews/scala-book/match-expre...

Ответить | Правка | Наверх | Cообщить модератору

194. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (79), 07-Окт-21, 00:08 
Как в нормальных языках это делается, я знаю. Только по-нормальному - это не питонично.
Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Жироватт (ok), 05-Окт-21, 08:28 
Ну...да.
Учитывая развитие языка как языка proof of и прототипирования first
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

54. "Выпуск языка программирования Python 3.10"  –8 +/
Сообщение от Аноним (58), 05-Окт-21, 11:45 
Это большое зло для Python. Лично не буду использовать Python-3.10 и вам не советую.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

180. "Выпуск языка программирования Python 3.10"  +/
Сообщение от evocatus (ok), 06-Окт-21, 14:22 
Если вы думаете, что структурный pattern matching это оператор switch из сишечки, то вы вообще не понимаете о чём идёт речь. А вот те, кто хотя бы трогал функциональные языки типа Haskell и Clojure просекли фишку и сейчас радостно потирают руки.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

2. "Выпуск языка программирования Python 3.10"  +6 +/
Сообщение от Аноним (2), 05-Окт-21, 07:34 
А после версии 3.11 будут версии NT и 95?
Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Жироватт (ok), 05-Окт-21, 08:32 
3.12

Ибо разделяться на ветки:
-> родненький интерпретатор для домохозяек с хендлерами и бсодами
-> уворованный у IBM интерпретатор Perl/2 но с питоновым синтаксисом и поведением в первом приближении
не собираются

Ответить | Правка | Наверх | Cообщить модератору

61. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (61), 05-Окт-21, 12:01 
А, ну тогда после 3.12 - 4.0. NetWare вспомнилось :)
Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (-), 05-Окт-21, 08:57 
Прятно видеть человека сидевшего под маздаевским ДОСом.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

204. "Выпуск языка программирования Python 3.10"  +/
Сообщение от dd (??), 08-Окт-21, 08:12 
Почему по маздаевским? Был чУдный DR DOS
Ответить | Правка | Наверх | Cообщить модератору

3. "Выпуск языка программирования Python 3.10"  –7 +/
Сообщение от Аноним (3), 05-Окт-21, 07:34 
Когда уже питонисты начнут пилить поддержку мобилок и нормального гуя из коробки? Весь потанцевал профукали
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск языка программирования Python 3.10"  +7 +/
Сообщение от ET (?), 05-Окт-21, 07:38 
> и нормального гуя из коробки

а чем tkinter плох?

Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Аноним (3), 05-Окт-21, 08:08 
Всем
Ответить | Правка | Наверх | Cообщить модератору

76. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от мшефд (?), 05-Окт-21, 12:32 
Тем, что устроен, как мысли шизофреника.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

9. "Выпуск языка программирования Python 3.10"  –4 +/
Сообщение от COBA (?), 05-Окт-21, 07:46 
Никогда. Потому как цели другие совершенно. И по тому куда и как всё идёт скоро не будет вообще никаких локальных приложений кроме системных. Все будут как сервисы.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

15. "Выпуск языка программирования Python 3.10"  +9 +/
Сообщение от Аноним (3), 05-Окт-21, 08:11 
Этим влажным мечтам что всё будет в вебе уже столько лет, что даже не смешно. Есть много локальных задач для которых нужны именно локальные приложения, а вебня только вредит и позволяет всё централизованно испортить. Как давеча достали свистеть смузилюбы что их инстамордокниги сдохли
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от bugmenot (ok), 05-Окт-21, 09:03 
Охлади своё траханье
Ответить | Правка | Наверх | Cообщить модератору

164. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (164), 05-Окт-21, 23:41 
углепластик.
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (60), 05-Окт-21, 07:48 
PyQt хватит всем. Pyside не знаю зачем, но они вроде взаимозаменяетмые или около того. Ты предлагаешь им изобретать ещё одни кути? А других фреймворков как известно не существует. На телефонах питону не хватает производительности как по мне, там чем больше нейтива тем лучше.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

13. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (3), 05-Окт-21, 08:08 
У этих сбоку прикручиваемых фреймворков с лицензиями вопросики, плюс ты явно не пытался ничего собрать на мобилки на актуальных версиях, особенно PySide, которые прям так у себя в чатике и сказали что раз питон официально не поддерживает мобилки, то и мы не будем
Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (60), 05-Окт-21, 08:13 
Других всё равно нет.
Ответить | Правка | Наверх | Cообщить модератору

62. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от YetAnotherOnanym (ok), 05-Окт-21, 12:05 
> собрать на мобилки

Писать на питоне под мобилки - это примерно как циклевать полы лезвием 110-й забивки.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

67. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (3), 05-Окт-21, 12:12 
Только потому что нормальной поддержки не завезли.
В остальном он воообще ни разу не хуже статыщ жабоскриптоподелок
Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (61), 05-Окт-21, 12:06 
Это у тебя в Свидетельстве о рождении вопросики с лицензией. А у Qt - GPLv2/GPLv3/LGPLv3.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

65. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (3), 05-Окт-21, 12:11 
Читай
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Аноним (32), 05-Окт-21, 09:15 
> потанцевал

Питонисты тоже люди, да и полезно программистам при их сидячей работе.

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

78. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Псевдоним (??), 05-Окт-21, 13:07 
Может быть когда появятся нормальные мобилки(пуризм?) и нормальный гуй?
Ну и сам факт наличия таких либ как tkinter в стандартной либе (какая же она тогда стандартная) (офк можно не собирать его при сборке из исходников но все же) вызывает недоумение.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

142. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (141), 05-Окт-21, 22:29 
Весь гуй, какой только возможен, в питоне есть - биндинги у qt, gtk, wx, не считая всякую маргинальщину. Мобилки не нужны, но есть kivy.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

221. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Мимокрокодил (?), 12-Окт-21, 15:07 
Если Вы не питонист, то, собственно, какое Вам дело? =)
А если питонист, то почему в третьем лице? Этот вопрос как раз Вам и должен быть адресован ;-)
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

4. "Выпуск языка программирования Python 3.10"  +3 +/
Сообщение от Имя (?), 05-Окт-21, 07:37 
> Предоставлена возможность использования круглых скобок в операторе with для разнесения на несколько строк

Господь Всемогущий, неужели скобки нужны и добавляют читабельности?! Так можно и до инфаркта довести питонбоев, которые 30 лет доказывали обратное.

Ответить | Правка | Наверх | Cообщить модератору

7. "Выпуск языка программирования Python 3.10"  +14 +/
Сообщение от ET (?), 05-Окт-21, 07:40 
тут скобки нужны именно для переноса строк кода без использования обратного слэша, насколько я понимаю
Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (60), 05-Окт-21, 08:04 
Именно, как человек страдающий от семиэтажных ифов и слэшей в строках я всецело поддерживаю данное нововведение (в ифах скобки тоже используются кстати).
Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск языка программирования Python 3.10"  +4 +/
Сообщение от Имя (?), 05-Окт-21, 08:31 
А если немного формализовать, то скобки тут нужны для выделения блока кода. Для этого же нужны и фигурные скобки в нормальных языках. Я не знаю чем питонистам скобки помешали, мне с ними гораздо проще ориентироваться: они явно показывают где блок начинается и где заканчивается. В питоне же блоки кода висят в воздухе, никогда не знаешь закончился он уже или там еще продолжение.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

21. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Жироватт (ok), 05-Окт-21, 08:41 
Ну, как бы это сделано нарочно, чтобы уйти от лесенки из {begin-end|{-}|.code-} и чтобы молодежь сразу писала не слабочитаемые но формально валидные

if(zul()){foreach(z in zul().result){if(z<foo()+1){baz++;for(int k;k<baz;k++){snafu.DoThisFuckingWork(arg);}}else{bar+=(int)z.takeThisFuckingObjectStaff(baz);}}}else{baz--;}

а более читаемое


if(zul())
   foreach(z in zul().result)
      if(z<foo()+1)
         baz++;
         for(int k;k<baz;k++)
           snafu.DoThisFuckingWork(arg);
      else
        bar+=(int)z.takeThisFuckingObjectStaff(baz);
else
   baz--;

Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (34), 05-Окт-21, 09:25 
Для этого еще 20 лет назад в мс бейсике было автоформатирование кода при вводе.
Ответить | Правка | Наверх | Cообщить модератору

35. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Жироватт (ok), 05-Окт-21, 09:37 
Все равно нечитабельно, даже с автоформатом

begin
   begin
      begin
      end
   end
   begin
      begin
         begin
            begin
               begin ... end
            end
         end
      end
   end
end

Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск языка программирования Python 3.10"  +/
Сообщение от 1 (??), 05-Окт-21, 10:10 
Ты забыл поставить ; и .

По мне так вполне читаемо гораздо лучше. Притом не надо думать поставил ты 3 пробела или TAB

Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Вадик (??), 05-Окт-21, 11:46 
Очень субьективно, если ты придерживаешься pep8 и какого-нибудь we make python style guide, то это будет в разы лучше читаться чем тонны строк с бесполезными для человека скобками. Не зря yaml сечас вытесняет json-like конфиги.
Ответить | Правка | Наверх | Cообщить модератору

81. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Псевдоним (??), 05-Окт-21, 13:18 
Тебе итак и итак нужно делать пробелы (и думать что ты поставил табы или пробелы) если хочешь писать читаемый код, зачем тебе еще {} или begin\end непонятно.
Это и писать дольше и места занимает гораздо больше, на экран помещается гораздо меньше.
Так еще и питон гарантирует (в некоторых пределах) что форматирование соответствует смыслу, языки с {} этого не гарантируют и запросто может быть такое
if(a==1){
  smb;} else {delete(all);}if(a==2){delete(world);
}
else {
  build(all)
}
Ну и бонусом не нужно думать где оставлять скобки.
Легче читать человеку, легче писать парсер, быстрее парсить машине, меньше весят исходники, код становится однороднее. Из недостатков только вот такая сабжевая ситуация когда хочется разбить выражение на несколько строк, для этого () и добавили, теперь идеально.

А про табы и пробелы в нормальных редакторах давно не нужно думать, но лично я считаю что табы не нужны в принципе.

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

118. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Урри (ok), 05-Окт-21, 17:28 
> ...и запросто может быть такое...

Давным-давно, в бородатые времена, когда программисты были еще молодыми и даже умели программировать - они исповедовали философию "Инструмент должен делать то, для чего предназначен."

Это значит, что молотком надо забивать гвозди. Кофеваркой варить кофе. Компилятором компилировать код. А форматировщиком его форматировать.

И до сих пор существует такой инструмент, под названием clang-format, который как раз предназначен для того, чтобы неотформатированный (или не так отформатированный) текст(!) программы приводить к нужному отформатированному виду. Потому что текст(!) программы пишется для программиста. А программа для компилятора.

Этой программой, например, давным давно безальтернативно пользуется гугл (она подвязана к коммитам как хук и все приводит к принятому в данном конкретном проекте виду).

А не молоток с не отключаемой функцией кофеварки, в смысле комилятор с не отключаемой функцией форматтера.

--
Хорошая штука опеннет, правда? Тут можно наладить связь поколений и отрыть такие новые, неизведанные для себя вещи?

Ответить | Правка | Наверх | Cообщить модератору

128. "Выпуск языка программирования Python 3.10"  –3 +/
Сообщение от n00by (ok), 05-Окт-21, 19:32 
> И до сих пор существует такой инструмент, под названием clang-format, который как
> раз предназначен для того, чтобы неотформатированный (или не так отформатированный) текст(!)
> программы приводить к нужному отформатированному виду. Потому что текст(!) программы пишется
> для программиста. А программа для компилятора.

Это так в сказке. В реале я попробовал объяснить одному разработчику исходных текстов, что отсутствие символа перевода строки в конце исходника не является ошибкой (фатальной для трансляции), поскольку при распечатке на бумаге человек это дело не увидит. Не смог.

Ответить | Правка | Наверх | Cообщить модератору

150. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 22:49 
Это не в сказке, это так в реальном мире взрослых нормальных программистов работает. То, что вы не смогли обезьяне что-то объяснить, этого никак не отменяет.

Объясняю как надо было делать правильно: несешь менеджеру файл ".clang-format", менеджер прописывает этот стиль как обязательный, на все коммиты вешается хук (например, такой, как здесь https://habr.com/ru/post/433832/) и аналогичное вешается на стороне CI. Все - автоформатирование работает без усилий разработчика.

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

--
Ну а если же у вас просто свое и никто из вас не главный в общем хелловорлде, то оба готовите по файлику и выбираете подбрасыванием монетки. Кому повезло, тот молодец. Дальше все как выше.


--
В гугле, как мы знаем, работает огромное количество народа. И среди них множество обезьян.
Так вот, clang-format прекрасно решает все проблемы форматирования и однообразности кода. Гибко и без того, чтобы намертво прибивать это к языку.

Для проверки просто находите файл .clang-format в репах гугла, как это сделано здесь: https://github.com/googleapis/google-cloud-cpp
И еще раз - оно работает! Реально работает в огромнейших коллективах разношерстных программеров.

--
p.s. Я до сих пор поражаюсь уровню идиотизма, который заставил гвидо выделять логические блоки программы отступами. Более идиотского решения, наверное, с тех пор ни в одном языке не принимали. Даже в хрусте. Даже в джаваскрипте со всеми его wat.

Ответить | Правка | Наверх | Cообщить модератору

166. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Прохожий (??), 05-Окт-21, 23:59 
> Я до сих пор поражаюсь уровню идиотизма, который заставил гвидо выделять логические блоки программы отступами

А что не так с ними? В чём конкретно проблема? Copy-paste не работает? Это всё?
ИМХО - хорошо читаемый код - разве это не прекрасно? Причём из коробки работает форматирование. Без всяких дополнительных танцев с бубном (типа хуков, хаков, х.яков и прочей лабуды), без увольнений хоть и упрямых, но, возможно, суперзвёзд программирования.

Ответить | Правка | Наверх | Cообщить модератору

175. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Урри (ok), 06-Окт-21, 11:16 
Во-первых, это плохо а не хорошо читаемый код.

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

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

Более того, если эта программа так отпечатана - то не существует способа понять ее правильно без полного реверса алгоритма. Потому как мышкой пробелы выделить на бумаге не получится.


Во-вторых, программа зависит от разного количества разных невидимых символов. Просто вдумайтесь в эту фразу! Даже эзотерические языки программирования, где значение оператора зависит от его позиции в строке выглядит менее бредовым.
Более того - на самом деле невидимые символы смешивать можно, но строго определенным образом.

Так что в результате мы имеем дизайн языка программирования в стиле "можно писать, нельзя читать".

> Без всяких дополнительных танцев с бубном

Запуск одной консольной утилиты - это танцы с бубном? А запуск целой конкретной IDE для написания и чтения кода - не танцы? Пытаетесь натянуть сову на глобус в попытках оправдать глупость любимого языка?

Ответить | Правка | Наверх | Cообщить модератору

211. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Прохожий (??), 09-Окт-21, 15:31 
Выделю ключевой момент в твоих претензиях.

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

И даже без предварительной обработки форматером? ИМХО, ты лукавишь. Попробуй в любой программе на C, C++ поубирать "лишние" пробелы. Посмотрим, как легко у тебя получится прочитать код или поводить карандашиком на бумажке.

> Во-вторых, программа зависит от разного количества разных невидимых символов.

В других языках такие символы видимы, но без соблюдения отступов их наличие читаемости практически не добавляет. К этому моменту у тебя почему-то нет вопросов. Почему? И ведь совершенно не секрет, что очень частая ошибка программиста - пропуск этих самых скобок. Понятно, что IDE подскажет, но ведь ты не сторонник запускать IDE, судя по твоим высказываниям ниже.

>> Без всяких дополнительных танцев с бубном
> Запуск одной консольной утилиты - это танцы с бубном? А запуск целой
> конкретной IDE для написания и чтения кода - не танцы?

IDE используется не только для написания кода. Так что не надо передёргивать. Некрасиво это. Ты в любом случае её будешь запускать для написания сколь-либо сложной программы. Я вот свои микропрограммки вообще в текстовом редакторе ваяю. И ничего, живу как-то с этим, уже лет пять от начала знакомства с Питоном.

> Пытаетесь натянуть сову на глобус в попытках оправдать глупость любимого языка?

Кто тебе сказал, что он мой любимый? Я им пользуюсь, да. Считаю его для своих задач более удобным, чем остальные. Но не скажу, что вот прямо люблю его. У него есть свои недостатки. Но основной - никак не в синтаксисе, это точно (ИМХО, само собой).

Ответить | Правка | К родителю #175 | Наверх | Cообщить модератору

172. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от n00by (ok), 06-Окт-21, 09:18 
Эти методы не подходят (да и ума не прибавляют). Он сам себе менеджер в хелловорде. Конкретно в том случае разношёрстный нахамил неопределённому кругу линукс-разработчиков, что позволило перегреть ему место, коим он думает. Но когда такие гуры набирают паству, которая начинает друг на друга авторитетно ссылаться, что со всем этим делать? Вот в данной теме - удалось кому объяснить?
Ответить | Правка | К родителю #150 | Наверх | Cообщить модератору

173. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 06-Окт-21, 10:59 
> Он сам себе менеджер в хелловорде.

Тогда о чем вообще беспокоится? ССЗБ и давай досвидания.
Чей не любовница же, чтобы отношения лелеять?

> Вот в данной теме - удалось кому объяснить?

Как минимум некий круг лиц узнал о clang-format. Попробуют, втянутся. Путь к знаниям бывает вполне извилист.

Ответить | Правка | Наверх | Cообщить модератору

178. "Выпуск языка программирования Python 3.10"  +/
Сообщение от n00by (ok), 06-Окт-21, 12:54 
Кто ныне переименовывает master в slave? Вот такие буратины. Набралась критическая масса и пошло-поехало.
Ответить | Правка | К родителю #173 | Наверх | Cообщить модератору

129. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Прохожий (??), 05-Окт-21, 19:38 
Раз уж ты заговорил про инструменты и про их целевое назначение, так и быть, открою для тебя новую неизведанную вещь: Питон и делает то, для чего предназначен.

Куча инструментов для быстрой наброски прототипа (молотки, кофеварки, компиляторы)? Ты серьёзно, что ли? Готовый комбайн для таких целей куда лучше всего этого склада.

Ответить | Правка | К родителю #118 | Наверх | Cообщить модератору

153. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 22:57 
> Готовый комбайн для таких целей куда лучше всего этого склада.

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

А если нет, то о чем вообще можно говорить?

Ответить | Правка | Наверх | Cообщить модератору

160. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Прохожий (??), 05-Окт-21, 23:29 
Ты, надеюсь, когда ешь вилкой (или ложкой) еду, не думаешь, что она (вилка) состоит из кучи модульков, библиотечек и утилиток? И действительно, о чём ещё говорить?
Ответить | Правка | Наверх | Cообщить модератору

174. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 06-Окт-21, 11:01 
Будем считать, что от утверждения "Готовый комбайн куда лучше всего этого склада" таким вот простым "вопрос на вопрос" образом ты отказался?
Ответить | Правка | Наверх | Cообщить модератору

212. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Прохожий (??), 09-Окт-21, 15:35 
> Будем считать, что от утверждения "Готовый комбайн куда лучше всего этого склада"
> таким вот простым "вопрос на вопрос" образом ты отказался?

Будем считать твой вопрос про то, на чём я всё это пишу - совсем некорректным. Каждому инструменту своё место. Где-то лучше модульки. В других случаях - комбайны. На это я и пытался всё время намекнуть. Теперь вот говорю прямым текстом.

Ответить | Правка | К родителю #174 | Наверх | Cообщить модератору

223. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Псевдоним (??), 18-Окт-21, 13:53 
>[оверквотинг удален]
> код. А форматировщиком его форматировать.
> И до сих пор существует такой инструмент, под названием clang-format, который как
> раз предназначен для того, чтобы неотформатированный (или не так отформатированный) текст(!)
> программы приводить к нужному отформатированному виду. Потому что текст(!) программы пишется
> для программиста. А программа для компилятора.
> Этой программой, например, давным давно безальтернативно пользуется гугл (она подвязана
> к коммитам как хук и все приводит к принятому в данном
> конкретном проекте виду).
> А не молоток с не отключаемой функцией кофеварки, в смысле комилятор с
> не отключаемой функцией форматтера.

Переведу ваше предложение: чтобы вывести яйцо мы сначала измажем одежду бензином, потом уберем бензин, потом выведем яйцо. Т.е. сначала мы потратим умственные усилия и время на расставление и  скобочек и пробелов, потом компилятор уберет и то и другое и оставит информацию только одних (для C скобочек). Возникает собственно вопрос а зачем нам нужны скобочки? Те же бородатые программисты исповедовали и KISS, а вы почему-то наоборот все усложняете.

> Хорошая штука опеннет, правда? Тут можно наладить связь поколений и отрыть такие
> новые, неизведанные для себя вещи?

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

Ответить | Правка | К родителю #118 | Наверх | Cообщить модератору

225. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 18-Окт-21, 19:05 
Тяжело, наверное, живется с межушным ганглием? Вы в магазине цены тоже неправильно читаете?
Ответить | Правка | Наверх | Cообщить модератору

226. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Псевдоним (??), 19-Окт-21, 13:09 
> Тяжело, наверное, живется с межушным ганглием? Вы в магазине цены тоже неправильно
> читаете?

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

Ответить | Правка | Наверх | Cообщить модератору

229. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 19-Окт-21, 14:17 
> Вижу что аргументы у вас закончились

Аргументы я привел в посте, на который вы невероятно глупо ответили. Причем это были железобетонные аргументы из реального мира - такие как "солнце светит", "вода мокрая", "острым ножом можно порезаться".

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

Ответить | Правка | Наверх | Cообщить модератору

232. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Псевдоним (??), 20-Окт-21, 11:26 
>> Вижу что аргументы у вас закончились
> Аргументы я привел в посте, на который вы невероятно глупо ответили. Причем
> это были железобетонные аргументы из реального мира - такие как "солнце
> светит", "вода мокрая", "острым ножом можно порезаться".
> Ну а дальше я просто вам посочувствовал, так как ввиду вашего комментария
> сразу стало понятно кто мне ответил. Вас оскорбила констатация факта, что
> у вас межушный ганглий? Ну так это ваше полное и неотъемлемое
> право - оскорбляться на правду или нет.

Еще раз - зачем нужны фигурные скобки, если их функцию итак выполняют пробелы (которые в любом случае везде используются)?
Это просто лишние символы которые надо обрабатывать в парсере, которые мешают читаемости, которые занимают по 2 байта на блок в конце концов.

Ответить | Правка | К родителю #229 | Наверх | Cообщить модератору

94. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Урри (ok), 05-Окт-21, 14:40 
Вы спутали бейсик с паскалем? Ого.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

227. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Псевдоним (??), 19-Окт-21, 13:13 
> Вы спутали бейсик с паскалем? Ого.

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

Ответить | Правка | Наверх | Cообщить модератору

228. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Урри (ok), 19-Окт-21, 14:11 
>> Вы спутали бейсик с паскалем? Ого.
> Ничего не спутал
>> Для этого еще 20 лет назад в мс бейсике было автоформатирование кода при вводе.
> Все равно нечитабельно, даже с автоформатом
> begin
>    begin
>       begin
>       end
>    end
> Хорошая штука опеннет, правда? Тут можно...

... публично обгадиться и две недели спустя обгадиться второй раз.

Ну чо, поздравляю.

Ответить | Правка | Наверх | Cообщить модератору

230. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Псевдоним (??), 19-Окт-21, 21:50 
>[оверквотинг удален]
>>> Для этого еще 20 лет назад в мс бейсике было автоформатирование кода при вводе.
>> Все равно нечитабельно, даже с автоформатом
>> begin
>>    begin
>>       begin
>>       end
>>    end
>> Хорошая штука опеннет, правда? Тут можно...
> ... публично обгадиться и две недели спустя обгадиться второй раз.
> Ну чо, поздравляю.

Вас не смущает что вы смешали комментарии разных людей (к которым я не имею никакого отношения) и выдаете за мою оплошность (видимо подразумевая что я называл псевдокод выше бейсиком, но я такого не писал)?

Ответить | Правка | Наверх | Cообщить модератору

199. "Выпуск языка программирования Python 3.10"  +/
Сообщение от anonymizer (?), 07-Окт-21, 15:33 
Ты хочешь от говнокода читаемости? Сделай нормально методами класса.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

93. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от _kp (ok), 05-Окт-21, 14:39 
Только исходник со скобками можно отформатировать в любой стандарт, а исходник на Питоне, если запорол, да он чужой, то... как всё изящно... и как элегантен поиск мест ошибок...
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

154. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Урри (ok), 05-Окт-21, 22:59 
Все эти питоняшки, отстаивающие "такой суперсинтаксис питона" пишут одноразовые программы. Написал, запустил и в мусорку.

А вы им про "чужой код" и поиск ошибок. Какой поиск? Если не работает - вытер файл и пиши по новой.

Ответить | Правка | Наверх | Cообщить модератору

231. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Псевдоним (??), 19-Окт-21, 21:51 
> Все эти питоняшки, отстаивающие "такой суперсинтаксис питона" пишут одноразовые программы.
> Написал, запустил и в мусорку.
> А вы им про "чужой код" и поиск ошибок. Какой поиск? Если
> не работает - вытер файл и пиши по новой.

Просто ваш возраст похоже не позволил вам видеть perl.

Ответить | Правка | Наверх | Cообщить модератору

66. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (61), 05-Окт-21, 12:11 
>никогда не знаешь закончился он уже или там еще продолжение

Очевидно же, если следующая строка начинается левее, то закончился.

PS А то на ini-файлы Сыстемды как-то не жалуетесь: закончилась ли текущая секция?

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

155. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 23:00 
> Очевидно же, если следующая строка начинается левее, то закончился.

У меня шрифт не моноширинный. Так что там про "левее"? Или язык программирования не должен существовать без единственно верного, прибитого к нему гвоздями редактора?

Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск языка программирования Python 3.10"  –4 +/
Сообщение от QwertyReg (ok), 05-Окт-21, 10:03 
Не вникайте, у бота просто сработал триггер, на Пистоне оно и строчки не написало.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

49. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (49), 05-Окт-21, 10:53 
Заодно можно ввесть фигурные скобки { вместо говночетырехпробелов и говнотабов.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

57. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Вадик (??), 05-Окт-21, 11:49 
Покая я заметил, что 90% тех кто хочет где-то там в другом языке менять синтаксис никогда не писали на нем :)
Ответить | Правка | Наверх | Cообщить модератору

96. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 14:43 
"Я не толстая, они мне просто завидуют" (с) любой питонист на любое "у питона синтаксис объективно говняный".
Ответить | Правка | Наверх | Cообщить модератору

116. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Вадик (??), 05-Окт-21, 17:23 
А я и не питонист :p
Go + Java, просто смотришь на умников тут и понимаешь, что чем больше сейчас народу в IT входит тем хуже сообщество становится относительно знаний, опыта и... общения.
Ответить | Правка | Наверх | Cообщить модератору

119. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 17:31 
А, ну это да. Тут ты 100% прав, не смею спорить.
Ответить | Правка | Наверх | Cообщить модератору

131. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Прохожий (??), 05-Окт-21, 19:45 
Ну-ка, ну-ка, как ты докажешь, интересно, ОБЪЕКТИВНОСТЬ говняности синтаксиса Питона. Мне вот для моих целей вполне нормально.
Ответить | Правка | К родителю #96 | Наверх | Cообщить модератору

156. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Урри (ok), 05-Окт-21, 23:10 
> Ну-ка, ну-ка, как ты докажешь, интересно, ОБЪЕКТИВНОСТЬ говняности синтаксиса Питона.
> Мне вот для моих целей вполне нормально.

Для соответствующих целей и соответствующий синтаксис нормально подходит.

Правда, при этом у раста и джаваскрипта все намного хуже. Так что я не так сильно не люблю питон, как может показаться. Убрать отступы, идиотские if __name__ == "__main__": do и вполне можно жить.

Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (61), 05-Окт-21, 12:15 
Не нужно. Мне и двух пробелов хватает.
Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

56. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Вадик (??), 05-Окт-21, 11:47 
А как ты без скобок будешь ограничевать пространство выражения?
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

108. "Выпуск языка программирования Python 3.10"  +3 +/
Сообщение от Аноним (108), 05-Окт-21, 16:30 
Они хотят больше отступов всевышнему отступов.
Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (123), 05-Окт-21, 17:55 
Можно сделать дробные отступы, например. Везде 4, а для круглых скобок - 3. Много есть способов сделать всё через Ж, если откровенно говорить.
Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

157. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 23:11 
> Можно сделать дробные отступы, например. Везде 4, а для круглых скобок -
> 3. Много есть способов сделать всё через Ж, если откровенно говорить.

Можно добавить юникодные пробелы разной ширины. Тут есть хорошая табличка: https://jkorpela.fi/chars/spaces.html

Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск языка программирования Python 3.10"  –5 +/
Сообщение от Аноним (20), 05-Окт-21, 08:40 
>Реализованы операторы "match" и "case" для сопоставления с образцом

Вреднейшее изменение. Единственно верный способ - через ассоциативный контейнер. A if else if else if else if - это говнокод, а match - сахар для него.

Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Жироватт (ok), 05-Окт-21, 08:49 
Которые да, правда, нужно делать
а) из общего класса "ассоциативный контейнер Х" класс "иммутабельный ассоциативный контейнер Х"
б) каким-то образом оптимизировать по памяти и времени инициализации.
в) у еще будет вопрос с областями видимости контейнера.

В то же время простые константные типы сами по себе неизменяемы сразу и без вопросов, не требуют затрат на создание и кучи меты для хранения и при это явно следуют правилам видимости переменных языка: к примеру, константа заданная в match видна только там и это на деле хорошо.

Ответить | Правка | Наверх | Cообщить модератору

161. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (164), 05-Окт-21, 23:31 
Вот эти проблемы и надо было решать, а не несуществующие проблемы.

Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск языка программирования Python 3.10"  +/
Сообщение от n00by (ok), 05-Окт-21, 10:17 
>>Реализованы операторы "match" и "case" для сопоставления с образцом
> Вреднейшее изменение. Единственно верный способ - через ассоциативный контейнер.

Если сопоставление с образцом возможно реализовать через это -- оно неполноценное сопоставление.

> A if else if else if else if - это [Вырезано Цензурой],
> а match - сахар для него.

Сопоставление с образцом первично и позволяет обходиться без этих ваших утрирований.

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

69. "Выпуск языка программирования Python 3.10"  +3 +/
Сообщение от Аноним (79), 05-Окт-21, 12:14 
Ну-ка реализуй пример про Point через ассоциативный контейнер.
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

144. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (141), 05-Окт-21, 22:31 
Ты тот ламерок что уже выше написал? Продублирую:

> Оператор выбора в Python не нужен и очень вреден.

Потрудитесь обосновать.

> Вместо оператора выбора в Python есть очень развитая поддержка типа "словарь".

В чём её развитость?

> Оператор выбора заменен действием по выбору значения из словаря.

Кем и когда заменён?

Словарь может заменить оператор выбора лишь в очень маленьком подмножестве кейсов. В общем случае конечно же это не так - например, со стоварём не будет ни диапазонов, ни биндинга, ни частичных матчей, ни мутабельных типов.

> Единственно верный способ - через ассоциативный контейнер

Ну сделай на нём все примеры испоьзования матча из новости, вместе посмеёмся.

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

191. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Аноним (190), 06-Окт-21, 20:39 
If else не проверяет полноту, как и контейнер. Да и типами и статическим анализом засада
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

22. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Аноним (20), 05-Окт-21, 08:42 
>Предоставлена возможность использования круглых скобок в операторе with для разнесения на несколько строк определения коллекции контекстных менеджеров. В том числе разрешено оставлять запятую после финального контекстного менеджера в группе

Конечно, круто, но на python 3.4 этого не завезли и не завезут. Ибо они дропнули ХРюшу вместе с 3.4.

Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск языка программирования Python 3.10"  +4 +/
Сообщение от Аноним (26), 05-Окт-21, 08:54 
>Дропнули двадцатилетнее дырявое говно мамонта.

Пишаль-бидэ.

Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск языка программирования Python 3.10"  +3 +/
Сообщение от Жироватт (ok), 05-Окт-21, 08:56 
> они дропнули ХРюшу вместе с 3.4.

Как что-то плохое. Учитывая, что последующие три ОС (виста, семень, восемь-без-единицы) уже в состояниях abadoned и out-of-extended-support соответственно, а восемь-один близко к завершению lifecycle.

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

146. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (141), 05-Окт-21, 22:33 
И тут вы... Я когда узнал что поддержка 3.4 нужна для этих хрюшефилов ужаснулся и специально её дропнул в своём приложении. Ещё не хватало вам, паразитам, комфортные условия создавать.
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

23. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Аноним (20), 05-Окт-21, 08:44 
>В модуль typing, предоставляющий средства для задания аннотаций типов, добавлен новый оператор, позволяющий использовать синтаксис "X | Y" для выбора одного из типов (тип X или тип Y).

Бэкпортируемо на 3.4

Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск языка программирования Python 3.10"  –4 +/
Сообщение от Аноним (20), 05-Окт-21, 08:46 
>Удалён старый парсер, на смену которому в прошлой ветке пришёл парсер PEG (Parsing Expression Grammar).
>Мы не осилили LL(*)

- ситуация называется.

Ответить | Правка | Наверх | Cообщить модератору

89. "Выпуск языка программирования Python 3.10"  +/
Сообщение от анонн (ok), 05-Окт-21, 13:55 
> Потому что гладиолус!

Ясно.


Ответить | Правка | Наверх | Cообщить модератору

195. "Выпуск языка программирования Python 3.10"  +3 +/
Сообщение от Аноноша (?), 07-Окт-21, 01:56 
В прошлой новости о новой версии Python писали, почему это было сделано. Ну и вообще зачем и почему делается та или иная фича у Python собрано тут https://www.python.org/dev/peps/pep-0617/
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

33. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним12345 (?), 05-Окт-21, 09:17 
Живее всех живых
Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Аноним (41), 05-Окт-21, 10:14 
Python шляпа
Ответить | Правка | Наверх | Cообщить модератору

106. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (106), 05-Окт-21, 15:49 
Боярского?
Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск языка программирования Python 3.10"  –7 +/
Сообщение от Skullnetemail (ok), 05-Окт-21, 10:40 
Пока питон будет работать в 25 раз медленнее, чем С++, а не в 1,5-3 хотя бы, применений ему мало. Я уже не говорю о том, что очень нужные в разработке библиотеки (например для многопоточности и async await) написаны нубами.
Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Аноним (49), 05-Окт-21, 10:51 
Что ты собрался делать с такой скорость, ор.
Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Skullnetemail (ok), 05-Окт-21, 10:53 
Даже обычные десктопные приложения юзающие Qt тормозят, что уж говорить про все остальное.
Ответить | Правка | Наверх | Cообщить модератору

73. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (61), 05-Окт-21, 12:19 
Которые на C++? 8-) УМВР.
Ответить | Правка | Наверх | Cообщить модератору

88. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (82), 05-Окт-21, 13:41 
У меня тоже не тормозят. Какой-то миф таскают по форумам уже несколько лет.
Ответить | Правка | Наверх | Cообщить модератору

109. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (108), 05-Окт-21, 16:30 
Ну и куда тебе тогда спешить?

Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

70. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от YetAnotherOnanym (ok), 05-Окт-21, 12:14 
Вот так и палятся админы локалхоста, которым начальство никогда не задавало вопрос "А почему на нашем неплохом и недешёвом железе всё так адски тормозит даже при небольшой нагрузке?".
Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

74. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (61), 05-Окт-21, 12:20 
Весь ИИ на Питоне и чё? Никто не помер.
Ответить | Правка | Наверх | Cообщить модератору

86. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Вася (??), 05-Окт-21, 13:34 
Жава, фортран, си да плюсы. Где-то может еще лисп\пролог остался, ну если не сеточки а логическое программирование.
От питона там тока обёртки(типичный кстати "пайтон вэй" - спереть чото, обернуть в пайтон и орать как же быстр(!) и хорош их язык и как же на нем много всего "сделано").
А по сути он язык-прокладка.
Ответить | Правка | Наверх | Cообщить модератору

115. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Старший аноним (?), 05-Окт-21, 17:13 
Васян, и кто же из нормальных дата сатанистов втыкает в Java или C++ да и зачем им это? А на Python любой школьник и даже Васян могут через недельку начать выдавать нейронки.
Ответить | Правка | Наверх | Cообщить модератору

97. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Урри (ok), 05-Окт-21, 14:45 
Весь ИИ на С++, деточка. А на питоне только внешняя обвязка для макак, чтобы могли этот С++ вызывать.
Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

110. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (108), 05-Окт-21, 16:31 
А нафига ему быть на питоне?
Ответить | Правка | Наверх | Cообщить модератору

112. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 16:54 
Это не ко мне вопрос, а к анониму 61 выше.
Ответить | Правка | Наверх | Cообщить модератору

132. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Прохожий (??), 05-Окт-21, 19:56 
Предположу, что вот те учёные, которых ты макаками обозвал, куда более интеллектуально развитее подавляющего большинства программистов на C++.
Ответить | Правка | К родителю #97 | Наверх | Cообщить модератору

143. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Урри (ok), 05-Окт-21, 22:31 
А с чего ты взял, что я про ученых, а не опеннетных "программистов" на питоне, которые даже не знают что под капотом у пайторча, нумпи и иже с ними?

Ответить | Правка | Наверх | Cообщить модератору

158. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Прохожий (??), 05-Окт-21, 23:22 
Учёные тоже используют Питон. И далеко не всегда они готовы вникать в нюансы разработки на C++. Прочитай своё же высказывание и убедись, что его можно толковать двояко.
Ответить | Правка | Наверх | Cообщить модератору

159. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 23:25 
Прочитал. Можно.
Но мы же на опеннете, ресурсе для программеров и иже с ними. Почему надо уточнять, что разговор идет не о швеях, прачках и ученых?
Ответить | Правка | Наверх | Cообщить модератору

162. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Прохожий (??), 05-Окт-21, 23:33 
Может быть потому, что учёные здесь тоже могут присутствовать?
Ответить | Правка | Наверх | Cообщить модератору

117. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Вадик (??), 05-Окт-21, 17:25 
Отлично, Андрея назвал нубом за глаза, а чеж не в лицо на конфе какой-нибудь?
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

126. "Выпуск языка программирования Python 3.10"  +5 +/
Сообщение от PavelBook (?), 05-Окт-21, 18:27 
Просто нужно использовать его не на Pentium 133 Mhz.
Он объективнее быстрее и гораздо, ГОРАЗДО менее жирный чем Node.JS и JS на котором сейчас пишут поголовно все и по ним же меряют все остальное. (Если ты про Async await - лучше пользовать Go, а не Cpp)

Он всегда будет медленее чем компилируемые Go, Rust, C, Cpp. Даже его чисто питоновская интерпритация PyPy а не сишная.
При этом для ускорения некоторые модули пишут на Си и пользуют биндингом (смотри NumPy, Pandas и иже с ними), однако если сравнивать по удобству, сколько времени тебе потребуется написать программу которая условно говоря прочитает гигабайт сырых данных из CSV, БД, и сделает по ним Pivot table с небольшой математикой и обратно все это Сохранит в CSV или в формате SQL INSERT.
На Python написание этой логики может занять минут 20 если уже сталкивался с такой задачей или сталкиваешься с ней постоянно. А даже если ты C++ магистр и уже делал это у тебя на все это дело даже с применением готовых для этого библиотек может уйти час и более.
На Python ты напишешь быстрее, получишь результаты всего этого за несколько минут вычислений(в данном случае упираемся в скорость чтения и записи данных, а не на саму обработку), на C++ ты напишешь спецефичное решение этой задачи которое будет быстрее, но опять же все упрется в скорость IO системы. Вычисления будут несомненно быстрее. Программа по объему небольшая но займет некоторое время на компиляцию\дебаг\нахождение багов. Объективно до конечного базнесного видения = "увидел результат" Python раз в 5 быстрее чем C++ и говори что угодно но это факт (зависит от задачи).

Никто не просит писать Операционную систему на Python - это не то для чего он создавался, Си создавался для написания Unix вот тут он до сих пор и властвует. Python\Ruby - это just in place ЯП'ы - по быстрому написал скриптики (POC), быстренько отдебажил и применяешь. Если что то прямо очень медленно на Python то хотя бы есть то с чего срисовывать в более быстрый язык (Rust \ Go \ C) ибо рабочая логика откуда списывать она уже есть и она уже работает.

(btw python может обрабатывать 50 тысяч строк из БД (sqlite3), производить над ними нужные операции(NumPy, Pandas), и рожать из этих данных Excel файл (с помощью Pandas) менее чем за 10-15 секунд, и логику того что именно обсчитывать всегда легко доработать по желанию. Конечно если потребуется обрабатывать 500к строк или 5 миллионов то Python это уже "медленный" язык, но тем ни менее даже здесь если заняться оптимизацией самых долгих и сложных кусков то Python еще может быть в бою.)

Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

185. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (82), 06-Окт-21, 15:44 
Согласен с мыслями в посте, но вот эти обратные слэши вместо прямых

> компиляцию\дебаг\нахождение багов
> Python\Ruby
> Rust \ Go \ C

выглядят так по уродски, аж рвотный рефлекс появляется. Что это? Escaping? Поклонение винде? Брр

Ответить | Правка | Наверх | Cообщить модератору

147. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (141), 05-Окт-21, 22:39 
Открою секрет - он работает в 100-300 раз медленнее, и от этого его применимость ну вообще никак не страдает, и компилируемые языки он вытеснял и продолжает вытеснять. Ассимилировать, точнее, ибо место им - для написания быстрых питоновских модулей.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

167. "Выпуск языка программирования Python 3.10"  +/
Сообщение от th3m3 (ok), 06-Окт-21, 01:45 
Приходи через год :) Обещали ускорить в два раза.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

46. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (49), 05-Окт-21, 10:49 
Единственный нормальный язык программирования.
Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от YetAnotherOnanym (ok), 05-Окт-21, 12:16 
> Единственный язык программирования, который я освоил.

Пофиксил.

Ответить | Правка | Наверх | Cообщить модератору

133. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Прохожий (??), 05-Окт-21, 19:59 
Если у человека программирование не цель жизни, а просто рабочий инструмент, то и нормально. Я к тому, что прежде, чем выливать накопившийся ядок и презрение - хорошо бы иной раз голову напрягать (при условии, что она имеется, конечно).
Ответить | Правка | Наверх | Cообщить модератору

145. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Урри (ok), 05-Окт-21, 22:33 
нормальные люди не троллят "единственный нормальный".
Ответить | Правка | Наверх | Cообщить модератору

163. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Прохожий (??), 05-Окт-21, 23:36 
Я так понимаю, чел своё субъективное мнение высказывал, не претендуя на объективность. В его мире Питон действительно единственный нормальный язык программирования. Ну и что тут такого? Зачем тут же троллить?
Ответить | Правка | Наверх | Cообщить модератору

53. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (53), 05-Окт-21, 11:05 
Ожидал увидеть дежурной шутки, что опять придется всё с нуля переписывать, но нет. Наблюдая за раздутием питона теперь и не скажешь, что он легче всего осваивается. Раньше может так и было, но сейчас уже нет.
Ответить | Правка | Наверх | Cообщить модератору

149. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (141), 05-Окт-21, 22:42 
А ничего не изменилось. Подмножество языка которое "раньше" "легко осваивалось" вообще никак не поменялось - если у вас в голово сверх него ничего не способно поместиться, освойте его и живите счастливо. При этом для остальных появилась возможность по мере надобности освоить и более эффективные "новые" конструкции.
Ответить | Правка | Наверх | Cообщить модератору

186. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Аноним (82), 06-Окт-21, 15:47 
Вот такая же фигня с С++. В новых версиях появляются новые конструкции, упрощающие синтаксис, а тупаки, которые на С++ то и не пишут, орут про усложнение.
Ответить | Правка | Наверх | Cообщить модератору

210. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от myhand (ok), 09-Окт-21, 05:42 
Отличия приплюснутого, что это было монстром с рождения.  И следы пьяного буйства папеники языка никто удалять и не почешется - ибо совместимость.  А в питоне есть стандартные механизмы удаления ненужного, неудобного и кривого: см. removed & deprecated секции What’s New.
Ответить | Правка | Наверх | Cообщить модератору

216. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (82), 09-Окт-21, 21:53 
Ага, попытка перевсти тему обсуждения с новых синтаксических фич на "ах какой плохой этот С++". Про монстров - это субъективное мнение хейтера-неосилятора, можешь других неосиляторов пугать. В С++ просто много фич, недоступных во многих других языках. В Java тоже есть и генерики с <> и доступ к методам класса через ::, однако почему-то не слышно такого же воя про Java-монстра.

К изначальному тезису про то, что новые синтаксические фичи упрощают разработку, а не усложняют её, возражений нет, как я понимаю?

Ответить | Правка | Наверх | Cообщить модератору

218. "Выпуск языка программирования Python 3.10"  +/
Сообщение от myhand (ok), 10-Окт-21, 05:27 
> "ах какой плохой этот С++" ... неосиляторов пугать

Плохой в том смысле, что это некрасивый, переусложненный язык.

> К изначальному тезису про то, что новые синтаксические фичи упрощают разработку, а
> не усложняют её, возражений нет, как я понимаю?

Зависит.  С чего вдруг дизайнеры языка стали вдруг лучшими друзьями человечества и перестали совершать ошибки?  Нет, ответ "просто не пользуйтесь" - катит только для уровня хелворлда.  Потому что коллеге Васе вы запретить не можете, а вы будете ковыряться в его коде (ради рецензирования, поддержки, добавление нового функционала).

Ответить | Правка | Наверх | Cообщить модератору

219. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (82), 10-Окт-21, 13:44 
Ну то есть конкретно да или нет ответить не можешь? Каких-то абстрактных друзей человечества приплёл... Серьёзно, это уровень твоей аргументации? "Друзья человечества"?
Ответить | Правка | Наверх | Cообщить модератору

220. "Выпуск языка программирования Python 3.10"  +/
Сообщение от myhand (ok), 10-Окт-21, 16:35 
> Каких-то абстрактных друзей человечества приплёл...

Почему абстрактных.  Вполне конкретных, например разработчики питона.


Ответить | Правка | Наверх | Cообщить модератору

68. "Выпуск языка программирования Python 3.10"  –3 +/
Сообщение от Аноним (68), 05-Окт-21, 12:13 
Поздравляю питоняшек!
Язык взрослеет. Авось и вы со смуззей на благородные напитки перейдете. А там, глядишь и код подтянется!
Ответить | Правка | Наверх | Cообщить модератору

111. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (108), 05-Окт-21, 16:33 
Это джаваскриптизеры  заполонили.
Ответить | Правка | Наверх | Cообщить модератору

120. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (68), 05-Окт-21, 17:31 
Дооо, нода уже не та!
Ответить | Правка | Наверх | Cообщить модератору

134. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Прохожий (??), 05-Окт-21, 20:01 
Благородные напитки - это коньяк по утрам и пиво с водкой на ужин?
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

84. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Вася (??), 05-Окт-21, 13:29 
Пока GIL не выпилят - ненужно.
Многопоточность по сути отсутствует. Ну кроме варианта когда ввод\вывод, тогда GIL не карает потоки.
Вот это нужно.
Еще возможность задать тип данных(ну чтоб "сюда класть тока инт"), оно и быстрее без проверок, и будет сразу видно где и почему упало.
И будет уже вполне кошерный язык погромирования.
Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (99), 05-Окт-21, 14:48 
Сто раз уже сказали - выпилить GIL нельзя, то что получит ся, будет уже не pythonом.
Ответить | Правка | Наверх | Cообщить модератору

189. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Аноним (141), 06-Окт-21, 18:18 
GIL не нужно выпилиывать. На самом деле, гарантированная однопоточность, как ни парадоксально, - это лучшее что может быть в языке на котором предполагается писать многопоточные приложения, потому что сразу заставляет делать эффективную и безопасную синхронизацию (ака передача сообщений), а не дырявую лапшу с кучей контеншона на мутексах и критических секциях.
Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

87. "Выпуск языка программирования Python 3.10"  –3 +/
Сообщение от МояВенда (ok), 05-Окт-21, 13:41 
Клуб любителей посчитать пробелы и половить ошибки в рантайм. Хорошо что от этого непотребства потихоньку отказываются в пользу новых современных языков.
Ответить | Правка | Наверх | Cообщить модератору

127. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (127), 05-Окт-21, 19:15 
Это каких, например?
Ответить | Правка | Наверх | Cообщить модератору

135. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Прохожий (??), 05-Окт-21, 20:04 
Ты хоть раз на TIOBE ходил, тенденцию популярности языков смотрел? Ох уж эти мне газификаторы луж...

https://www.tiobe.com/tiobe-index/

Ответить | Правка | К родителю #87 | Наверх | Cообщить модератору

202. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от МояВенда (ok), 07-Окт-21, 20:31 
А в чем собственно противоречие-с? Пайтон - язык для школьников и еще не окрепших умом студентов, плюс куча научного легаси, который потихоньку переписывается на Джулию.
Ответить | Правка | Наверх | Cообщить модератору

215. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Прохожий (??), 09-Окт-21, 16:57 
> А в чем собственно противоречие-с? Пайтон - язык для школьников и еще
> не окрепших умом студентов, плюс куча научного легаси, который потихоньку переписывается
> на Джулию.

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

По поводу студентов, не окрепших умом, и "научного легаси". У тебя и статистика есть? Или продолжаем заниматься любимым занятием -  газифицировать лужи?

Ну и наконец. Вот я окреп умом и очень давно уже не школьник. Но Питон использую в своей рутине, для моих нынешних задач - самое оно. Хотя при этом знаю и другие языки, так или иначе использовал/использую их в своей работе.

Ответить | Правка | Наверх | Cообщить модератору

92. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Аноним (92), 05-Окт-21, 14:29 
Питон стал слишком фичастый и потерял былую простоту, к сожалению.
Ответить | Правка | Наверх | Cообщить модератору

98. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Проходящий Мимо (?), 05-Окт-21, 14:45 
Вообще питон уходит от своего первостепенного направления, как самый читаемый ЯП.
Так как они добавили всякие пайпы.

Это язык, который изначально, чтобы не вводить символы сделал операторы and и or.

А теперь всё больше и больше становится похож на мутанта с нагромождением всего.

Лично меня это немного печалит, мне нравилось, что у языка почти всё можно было описать словами.

Ответить | Правка | Наверх | Cообщить модератору

151. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Аноним (141), 05-Окт-21, 22:51 
> мне нравилось, что у языка почти всё можно было описать словами

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

Ответить | Правка | Наверх | Cообщить модератору

196. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноноша (?), 07-Окт-21, 02:13 
https://www.python.org/dev/peps/pep-0635/#or-patterns

> There was some discussion on whether to use the bar symbol | or the or keyword to separate alternatives. The OR pattern does not fully fit the existing semantics and usage of either of these two symbols. However, | is the symbol of choice in all programming languages with support of the OR pattern and is used in that capacity for regular expressions in Python as well. It is also the traditional separator between alternatives in formal grammars (including Python's). Moreover, | is not only used for bitwise OR, but also for set unions and dict merging (PEP 584).

Еще | в описании типов можно использовать как видно из новости.

C && и || проблема в том, что легко ошибиться и написать один & или |, что в булевом контексте приведет сложноуловимой ошибке. Поэтому and и or.

Ответить | Правка | К родителю #98 | Наверх | Cообщить модератору

208. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Вячеслав (??), 08-Окт-21, 15:14 
Но к python проблема C && и || не относится. Зачем вы это написали?
Ответить | Правка | Наверх | Cообщить модератору

217. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноноша (?), 09-Окт-21, 23:31 
> Но к python проблема C && и || не относится. Зачем вы
> это написали?

В ответ на

> Это язык, который изначально, чтобы не вводить символы сделал операторы and и or.

Ответить | Правка | Наверх | Cообщить модератору

101. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Простоникemail (ok), 05-Окт-21, 15:16 
Отлично. Некоторые фичи спорны, но в целом есть и полезные улучшения.
Пользуясь случаем напомню известный финт про словарь вместо кейса.
Мне кажется вполне наглядно.
Лямбды совсем не обязательны.
def get_temp_description(temp):
    return {
               temp < -20: 'Холодно',
        -20 <= temp < 0:   'Прохладно',
          0 <= temp < 15:  'Зябко',
         15 <= temp < 25:  'Тепло',
         25 <= temp:       'Жарко'
    }[True]
Интересный вопрос. На каких яп  ещё можно такие финты запуливать? На ruby, видимо, можно...
Ответить | Правка | Наверх | Cообщить модератору

103. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (92), 05-Окт-21, 15:26 
Можно, ну нужно ли? Как по мне, это наоборот минус
Ответить | Правка | Наверх | Cообщить модератору

105. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Простоникemail (ok), 05-Окт-21, 15:39 
А минус в чём именно? Для скриптов как раз очень выразительно, код читается легко. В чём именно тут минус?
Ответить | Правка | Наверх | Cообщить модератору

113. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 16:59 
> А минус в чём именно? Для скриптов как раз очень выразительно, код
> читается легко. В чём именно тут минус?

В данном случае в том, что из-за немоноширинного шрифта эта программа выглядит кошмарно и в принципе неподдерживаема.

А словари да, мощная и очень выразительная вещь. Одна из киллер фич языка, которая вопреки идиотскому дизайну таки смогла сделать его популярным.

Ответить | Правка | Наверх | Cообщить модератору

138. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (127), 05-Окт-21, 21:44 
Могу предположить, что в том, что просчитываются все выражения, а не до первого True. Плюс, дополнительные аллокации каждой строки-результата и самого словаря в целом.
Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

140. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (127), 05-Окт-21, 22:09 
Хотя тут ещё другая проблема есть.

В решении со словарём приоритет выполнения идёт с конца, потому что новые элементы заменяют предыдущие. Это сильно отличается от if-elseif-else, где приоритет выполнения идёт с начала.

Здесь эта проблема решена тем, что все остальные условия выдают False, но если это не обеспечить, то это может выстрелить в ногу.

Ответить | Правка | Наверх | Cообщить модератору

171. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Простоникemail (ok), 06-Окт-21, 08:32 
"Аллокация" тут будет совсем на такая как в С.  Строки инициализируются один раз, словарь также. Избыточный цикл по словарю присутствует.
Ответ на вопрос нужно ли такой код оптимизировать совсем не очевиден.
Ответить | Правка | К родителю #138 | Наверх | Cообщить модератору

152. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (141), 05-Окт-21, 22:57 
> Интересный вопрос. На каких яп  ещё можно такие финты запуливать? На ruby, видимо, можно...

Такие финты это какие?

Создать словарь с bool ключём, нааллоцировать элементы, таблицу, в которой будет заполнено не более двух элементов? Везде.

Сконструировать кучу элементов, зааллоцировать строк, чтобы сразу больше половиных из них выкинуть? Везде.

Вместо того чтобы посчитать только условия до первого срабатывания как в if/elif/else, посчитать их все условия? Везде.

Все языки позволяют делать неэффективно, глупо и нечитаемо.

Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

102. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Аноним (102), 05-Окт-21, 15:23 
> значительный выпуск языка программирования Python 3.10. Новая ветка будет поддерживаться в течение полутора лет
> язык программрования
> будет поддерживаться в течение полутора лет

И, судя по новшествам, изначально язык был сляпан кое-как, а затем к нему изолентой прикручивались (часто с потерей совместимости) средства, давно используемые в нормальных языках.

Ответить | Правка | Наверх | Cообщить модератору

104. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Простоникemail (ok), 05-Окт-21, 15:35 
Потеря совместимости произошла по крупному при переходе от версии 2 к версии 3.  
А какие яп проектируются заранее один раз и в последствии не изменяются никогда и ни при каких обстоятельствах и обеспечивают при этом совместимость, переносимость на разные платформы. Такого я что-то не припомню...
Ответить | Правка | Наверх | Cообщить модератору

114. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 17:01 
> Такого я что-то не припомню...

Ansi C тридцатилетней давности (это там, где типы аргументов перечисляются в теле функции после объявления) спокойно компилируется современными компиляторами. С++ двадцатилетней давности. Фортран. Лиспы оба. Ада. Паскаль.

Да почти все из популярных и бывших оными.

Ответить | Правка | Наверх | Cообщить модератору

125. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Простоник сноваemail (?), 05-Окт-21, 18:20 
Вера в Деда Мороза присуща и взрослым. Спецификация ANSI X3.159-1989 и современный компилятор совсем не тождественны. В рамках одного семейства ОС Unix/Linux и одного компилятора(!)  оно и существует.
С фортранами несколько получше(коих несколько лежит в дедушкином сундуке!),ну  а Паскаль в стандартизированном виде практически не наблюдался никогда.
В этом смысле python недостижим. Диалекты и сторонние реализации практически редки. Все используют единственную(!) реализацию python2 или python3 вместе с батарейками.Документация описывает не некий стандарт, а реализацию. Тысячи людей переносят свои программы между разными версиями и разными ОС простым копированием файлов. Такой невиданный ранее бедлам, ранее практически не встречался.
Ответить | Правка | Наверх | Cообщить модератору

148. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Урри (ok), 05-Окт-21, 22:40 
>> Ansi C тридцатилетней давности (это там, где типы аргументов перечисляются в теле функции после объявления) спокойно компилируется современными компиляторами.
> Спецификация ANSI X3.159-1989 и современный компилятор совсем не тождественны.

В огороде бузина, а в городе дядька. Типичный опеннетчик не способен осилить одно предложение, а туда же - комментировать.

> В этом смысле python недостижим.

О да. Программы пятилетней давности не работают вообще, все (если, конечно, не вытащшить компилятор той же пятилетней давности). В этом питон выигрывает даже у хруста. Действительно, недостижим.

> Все используют единственную(!) реализацию python2 или python3 вместе с батарейками.

Единственную реализацию "реализация 1" или "реализация 2". У-ха-ха-ха-ха-ха. Ну я даже не знаю что тут можно сказать. У меня есть единственный стул - один зеленый и один красный. Пххххххххх.

> Документация описывает не некий стандарт, а реализацию.

И это п-ц полнейший. Именно, что П-Ц!

> Тысячи людей переносят свои программы
> между разными версиями и разными ОС простым копированием файлов.
> Вера в Деда Мороза присуща и взрослым.

Даже добавить нечего.

> Такой невиданный ранее бедлам, ранее практически не встречался.

Да, не встречался. Раньше программисты понимали что такое технический долг и думали, прежде чем делать.

Ответить | Правка | Наверх | Cообщить модератору

207. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Вячеслав (??), 08-Окт-21, 11:57 
Пять лет назад вышел python 3.6. Можете сказать какая программа написанная для 3.6 не будет работать на 3.10?
Ответить | Правка | Наверх | Cообщить модератору

213. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Прохожий (??), 09-Окт-21, 15:52 
> Пять лет назад вышел python 3.6. Можете сказать какая программа написанная для
> 3.6 не будет работать на 3.10?

Он, наверное, имел ввиду версию 2.*. Программы, написанные в ней, действительно не будут работать в 3.*. Вряд ли такой подход можно считать хорошим (с точки зрения разработчиков языка), когда рушится совместимость.

Ответить | Правка | Наверх | Cообщить модератору

130. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Аноним (102), 05-Окт-21, 19:39 
Вот только не надо про
> никогда и ни при каких обстоятельствах

Понятно, что развитие идёт.
Питон делался с оглядкой на С, какие особые обстоятельства помешали сделать аналог сишного switch?
И эти метания от скобок к табам и обратно к скобкам. Какие чудесные преимущества принёс отказ от сишных скобок?
Речь о том, что он изначально не был продуман.

Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

136. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Прохожий (??), 05-Окт-21, 20:14 
Python делался с оглядкой на ABC programming language. C там и близко не было.
C-шные скобки плохо читаются в большом коде без корректного форматирования. Выше обсуждение было.
Ответить | Правка | Наверх | Cообщить модератору

137. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (102), 05-Окт-21, 21:13 
Испытал влияние Алгол-68, АВС, Модула-3, Си, С++, Perl, Java, Лисп, Haskell, APL, Клу, Dylan, Icon и SML.
(https://ru.wikipedia.org/wiki/Python)
Табы роднят его с АВС, это верно. Но и в АВС есть select.
Ответить | Правка | Наверх | Cообщить модератору

165. "Выпуск языка программирования Python 3.10"  +1 +/
Сообщение от Прохожий (??), 05-Окт-21, 23:43 
Ты мне лучше покажи хоть какое-то сходство с C в Питоне. "Испытал влияние" - очень размытая фраза.
Питон - мультипарадигменный. С - процедурный. Питон - со строгой типизацией. С - со слабой. Питон - с динамической типизацией. C - со статической типизацией. Питон без указателей со сборщиком мусора. С - указатели и вот это вот всё. Питон - нет макросов. С - есть. Питон - довольствуется отступами. С - скобочками. Питон - интерпретатор. С - компилятор. Питон - язык высокого уровня для прикладных задач. C - язык среднего уровня для системных задач. И т.д. и т.п.

Где в этом можно было усмотреть схожесть, остаётся только догадываться.

Ответить | Правка | Наверх | Cообщить модератору

192. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (102), 06-Окт-21, 21:24 
Хорошо, согласен
> Python делался с оглядкой на ABC

но ведь
>  в АВС есть оператор select.

И Гвидо о нём наверняка знал :) (Если разрабатывал АВС)
Что ж он не взял его в питон сразу?
Дальше
> Питон - мультипарадигменный.

Это тоже из АВС?
Я привёл ссылку, из каких  языков Гвидо брал идеи для питона.
Это сборная солянка. В состоянии приготовления и перемешивания.
Попробовали - получилось не очень - выплеснули (pgen2), замешали по новой. Но "народу нравится!"
Может быть в АВС кто-то сдерживал энтузиазм Гвидо? Зато с питоном он оторвался по полной :)

Ответить | Правка | Наверх | Cообщить модератору

214. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Прохожий (??), 09-Окт-21, 15:58 
>  в АВС есть оператор select.
> И Гвидо о нём наверняка знал :) (Если разрабатывал АВС)
> Что ж он не взял его в питон сразу?

Посчитал лишней конструкцией из-за принципа "всё должно делаться только одним способом". if else с этим справлялся более-менее. Теперь Гвидо ушёл, набежали другие архитекторы. И пошло-поехало.

> Питон - мультипарадигменный.
> Это тоже из АВС?
> Я привёл ссылку, из каких  языков Гвидо брал идеи для питона.

Ты говорил, что он делался с оглядкой на C. К этому высказыванию была моя претензия.

> "народу нравится!"

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

Ответить | Правка | Наверх | Cообщить модератору

168. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от th3m3 (ok), 06-Окт-21, 01:46 
Ждём ускорения через год. Интересно, что из этого выйдет.
Ответить | Правка | Наверх | Cообщить модератору

197. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноноша (?), 07-Окт-21, 02:17 
Обещали завести простой (не оптимизирующий) jit компилятор. Ждем.
Ответить | Правка | Наверх | Cообщить модератору

176. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (68), 06-Окт-21, 11:25 
Посоны, сервер матрикса опять лег. Вот прямо сейчас. Не пилите такие проекты на питонах. Получается плохо.
Ответить | Правка | Наверх | Cообщить модератору

198. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноноша (?), 07-Окт-21, 02:19 
Ты не сможешь сделать произведение искусства из глины, но это не означает, что из глины нельзя сделать произведения искусства.
Ответить | Правка | Наверх | Cообщить модератору

203. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (68), 07-Окт-21, 23:31 
Сегодня опять и сообщения и звонки не проходили. Когда на го перепишут  глину правильную подвезут?
Ответить | Правка | Наверх | Cообщить модератору

206. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Alexemail (??), 08-Окт-21, 10:14 
Автор явно льстит питону в своей отсылке к f#. Даже рядом по удобству паттерн матчинг питона не стоит. А вообще, год разработки явно зря не прошёл. Может ещё 10 лет и i++ завезут.
Ответить | Правка | Наверх | Cообщить модератору

209. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Вячеслав (??), 08-Окт-21, 15:15 
в f# i++ уже завезли?
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру