The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Python 3.10, opennews (??), 05-Окт-21, (0) [смотреть все]

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


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"  –1 +/
Сообщение от Прохожий (??), 05-Окт-21, 23:59 
> Я до сих пор поражаюсь уровню идиотизма, который заставил гвидо выделять логические блоки программы отступами

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

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

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

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

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

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


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

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

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

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

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

211. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Прохожий (??), 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ообщить модератору

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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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