The OpenNET Project / Index page

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



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

Оглавление

Гвидо ван Россум намерен достигнуть двукратного увеличения производительности в CPython 3.11, opennews (??), 13-Май-21, (0) [смотреть все]

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


33. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  –3 +/
Сообщение от Аноним (33), 14-Май-21, 00:20 
Питон это наверное самый вредный из всех существующих языков. Раньше его чуть ли не обожествлял, а сейчас вижу в нем одни недостатки.
Ответить | Правка | Наверх | Cообщить модератору

34. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  –6 +/
Сообщение от Аноним (1), 14-Май-21, 00:28 
Насколько раньше? Времён 2, или 1? Мне он начал нравится в 3 примерно с тех пор как дататипы и тайпхинты перетащили в него, примерно в то же время async/await добавили. Стало намного лучше в целом, из-за сохранения поддержки 2 ветки он лет 10 стагнировал.
Ответить | Правка | Наверх | Cообщить модератору

38. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  –3 +/
Сообщение от Аноним (-), 14-Май-21, 00:51 
> Питон это наверное самый вредный

хех... куда бы мы делись без вашей оценки...

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

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

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

45. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +1 +/
Сообщение от kai3341 (ok), 14-Май-21, 02:27 
> но, зачастую, работают с ним __бездари__, не обладающие необходимой квалификацией

Ну такие люди просто везде есть. Разгребал yблюдство на python год назад -- вот уж где талант был простые вещи решать сложно))

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

155. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (153), 14-Май-21, 13:04 
Доводилось видеть

class Struct

С переизобретением половины dict'а.

Только это не проблема языка.

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

188. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +1 +/
Сообщение от kai3341 (ok), 14-Май-21, 15:44 
> Только это не проблема языка.

Так я о том же. Язык то прекрасен

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

91. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  –3 +/
Сообщение от Аноним (3), 14-Май-21, 08:27 
До Си в принципе невозможно дорасти, даже самый опытный разработчик будет ошибаться. Вот только цена его ошибки - миллионы долларов. А чего ещё ждать от языка чуть выше уровнем, чем ассемблер?
А вот Раст хорош тем, что позволяет сосредоточиться на задаче, а не постоянно думать о памяти или UB, при этом имея тонну фишек, которых в C не будет никогда.
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

54. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Другой аноним (?), 14-Май-21, 03:42 
Офигенный язык, мой любимый с некоторых пор. По мне, самое главное достоинство - программы на нём можно писать гораздо более читабельные, чем на других ЯП-ах. Компактность не в ущерб, а на пользу

Не в том, конечно, смысле, что нельзя написать криво, а в том, что есть возможность писать прямо

Похож в этом смысле на паскаль, но ещё более читабельный

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

57. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +2 +/
Сообщение от Аноним (1), 14-Май-21, 03:58 
>можно писать гораздо более читабельные

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

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

59. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (198), 14-Май-21, 05:06 
> Ты просто не видел мой код

Как-то претенциозно прозвучало

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

62. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +1 +/
Сообщение от Аноним (1), 14-Май-21, 05:22 
Я иногда задумываюсь о том, что нормальный эффективный питон может быть максимально нечитаемый с точки зрения людей не особо привыкших к нему. Flake8 и pylint указывают на ошибки форматирования, но читаемость они особо не повышают а скорее и понижают. Но, с другой стороны, других языков с такими приятными конструкциями и столь не перегруженным синтакисом я не знаю.
Ответить | Правка | Наверх | Cообщить модератору

63. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +1 +/
Сообщение от Рева RarogCmex Денисemail (?), 14-Май-21, 05:31 
Можно сравнить с хаскелем.
Майн-функция из исходников пандока:


module Main where
import qualified Control.Exception as E
import Text.Pandoc.App (convertWithOpts, defaultOpts, options, parseOptions)
import Text.Pandoc.Error (handleError)

main :: IO ()
main = E.catch (parseOptions options defaultOpts >>= convertWithOpts)
          (handleError . Left)

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

157. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (198), 14-Май-21, 13:30 
Да не, претенциозно прозвучало, что твой код какой-то там особенно крутой.

Topcoder, mazafaka, you know who I am.
I write code so sweet that you think it's jam.
(с) одна песня

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

182. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (1), 14-Май-21, 15:19 
Вообще, я имел в виду, что написанное мной бывает сложно прочитать даже мне, и не от хорошей жизни приходится писать менее очевидно. Т.е. нужно именно читать разбираясь что и где происходит -- пробежаться взглядом недостаточно.
Ответить | Правка | Наверх | Cообщить модератору

174. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (-), 14-Май-21, 15:00 
>и столь не перегруженным синтакисом

Оперление началось с 3.5, = vs := доказывает, что перл они таки перегонят, потому что в timtowtdi была хотя бы крупица смысла, а здесь роспись в идио(ма)тизме.

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

179. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (1), 14-Май-21, 15:11 
Только := позволяет выкинуть десятки дополнительных операций и аккуратно локализовать присвоение, и ткакая запись даже повышает читаемость. Начиная с 3.8 (3.9, 3.10) принялись добавлять улучшения синтаксиса, которые давно надо было добавить (я больше про | чем про match).
Ответить | Правка | Наверх | Cообщить модератору

183. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (-), 14-Май-21, 15:25 
Простой язык прост во всём, язык без мозгов в голове будет набирать синтаксический мусор.
= как expression был бы проще двух типов присваиваний.
Ответить | Правка | Наверх | Cообщить модератору

186. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (1), 14-Май-21, 15:37 
Дело в том, что := (во всяком случае на данный момент) не является присваиванием в том смысле, в котором является присваиванием =. Ну они сначала ввели f-строки, и только потом взялись за присваивание… Я бы предпочёл, если бы присваивать можно было и в строках (сейчас присваивание в таких случаях приходится делать в format() что не очень хорошо выглядит). Бтв, питон никогда не был простым.
Ответить | Правка | Наверх | Cообщить модератору

192. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (192), 14-Май-21, 16:36 
>Ну они сначала ввели f-строки

Ещё одно оперление. Мы кичились тем, что у нас ЧИТАЕМОСТЬ и НЕКАКУПЕРЛА, а потом украли ${} в строках.
>Дело в том, что := (во всяком случае на данный момент) не является присваиванием в том смысле, в котором является присваиванием =.

Дело в том, что = как expression есть во всех вменяемых языках и только невменяемый клепатель GIL-ов решил, что оно кому-то там вредит. Потом понял свою ошибку, но только решил её не вменяемым способом (сменить в 3.0 смысл), а решил добавить горочку синтаксического мусора в и так убогий интерпретатор.
>Я бы предпочёл, если бы присваивать можно было и в строках

Я думаю, ты готов для перла.
>Бтв, питон никогда не был простым.

Берём и выкидываем the zen of python и прочую замануху для вайтишников, стучим Марку Лутцу по кумполу. Почему ещё не выкинули весь этот ворох айтишной пропаганды?

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

196. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (198), 14-Май-21, 16:53 
> других языков с такими приятными конструкциями и столь не перегруженным синтакисом я не знаю

Ох... Вот что я навспоминал только навскидку:


"Приятные" конструкции:

* Тернарный оператор, непохожий на свои аналоги в других языках:
  x = a if True else b
  вместо обычного порядка типа
  x = True ? a : b
  или
  x = if True then a else b

* Оператор if не возвращает значение, в отличие от Ruby и Scala. Собственно, если бы возвращал - не пришлось бы городить вышеоупомянутый экзотический тернарный оператор.

* Вообще нету оператора switch, тем более возвращающего значение.

* Оператор while может иметь ветвь else. Ну, чтоб читающие код не расслаблялись, а пошевелили немного извилиной на предмет "что за фигня?"

* Упор в языке на list/dict comprehension. Для простых выражений - замечательная вещь, но когда нужна вложенность, лучше не использовать, ФП-подход в других языках выглядит гораздо читабельнее.

* Очень слабая поддержка ФП. Cлабые lambda, map, filter и reduce (и назван не fold). Отсутствуют flatMap, Option/Optional/Maybe, Either, pattern matching with deconstruction.


"Неперегруженный" синтаксис:

* Регулярные выражения в стандартной библиотеке, а не в синтаксисе языка, как в Perl и Ruby. В результате надо писать re.search("\\d", s) вместо s =~ /\d/. А если надо сматчить сабгруппы - синтаксис становится ещё тяжелее, никаких тебе $1 после выражения. re.sub() по умолчанию работает как gsub() в других языках. re.gsub() вообще нету. Ну, надо же быть максимально непохожим на другие языки, чтобы программист всё время путался, переходя между языками.

* В куче мест нужно писать self. Особенно напрягает обязательность его как первого аргумента метода класса. Надо писать либо self, либо @staticmethod/@classmethod. Вот уж где "explicit is better than implicit", доведённый до маразма. Ни в одном языке такого нет. И не забудьте этот же self добавлять при вызове методов! Особенно "удобно" коллекцию свободных функций собирать в класс и добавлять "self." в начало их вызова, да ещё без проверки в compile time.

* После условий в if и while, после for, после описания класса или функции, перед переводом строки - надо ставить двоеточие в конце строки, перед телом цикла, функции или класса. Зачем??? Синтаксис языка и так зависит от whitespace и переводов строки! Убрали же необходимость точки с запятой в конце строк!

* Нету неявного return в конце функции, как, например в Ruby, Scala, Lisp, Haskell, etc. Соответственно надо писать

def sum(a, b):
  return a + b

вместо

def sum(a, b)
  a + b

или

def sum(a, b) = a + b

А если эта функция ещё и член класса - придётся добавить self/@staticmethod/@classmethod.

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

199. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (1), 14-Май-21, 17:05 
Так, ты перечислил достоинства питона. А минусы у него какие? По поводу ссылки на инстанс (я вижу что тебя это прям беспокоит), как по мне, это куда лучше и прозрачнее руби с его собачками -- есть явное разделение привязки к классу, к объекту, или к методу. Без accidental пересечений скопов. Остальное что-то совсем уж вкусовщина.
Ответить | Правка | Наверх | Cообщить модератору

201. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (198), 14-Май-21, 17:12 
Нормальный такой ответ, главное - очень аргументированный
Ответить | Правка | Наверх | Cообщить модератору

202. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (1), 14-Май-21, 17:20 
> Нормальный такой ответ, главное - очень аргументированный

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

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

219. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (198), 14-Май-21, 18:34 
> Даже если мне что-то и не нравится в синтаксисе и возможностях питона, я понимаю и принимаю аргументацию, которой обосновывают те или иные решения.

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

> Я просто не согласен с твоей предвзятой позицией.

Согласен, предвзято получилось. Спасибо что ты вывел разговор из "воронки троллинга".

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

212. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +1 +/
Сообщение от Аноним (-), 14-Май-21, 18:08 
>Отсутствуют flatMap, Option/Optional/Maybe, Either

У вас там хаскель протёк, попишите на других языках.

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

221. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (198), 14-Май-21, 18:52 
Улыбнуло, спасибо :)
Ответить | Правка | Наверх | Cообщить модератору

78. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +1 +/
Сообщение от Аноним (73), 14-Май-21, 07:48 
с некоторых пор я лично стал думать что функциональный стиль - чаще есть плохо, чем хорошо. Легко сделать нечитабельный mashcore. Хотя и работать часто будет быстрее.
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

100. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +2 +/
Сообщение от Аноним (98), 14-Май-21, 08:56 
функциональный стиль в питоне - просто маркетинг. В современных языках программирования - это хорошо.
Ответить | Правка | Наверх | Cообщить модератору

284. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от kai3341 (ok), 16-Май-21, 01:34 
ФП стиль в python -- это таки хорошо, когда применено к месту
ФП в python отлично сочетается с пайплайнами
Забавный парадокс: map, filter или reduce функции запросто могут быть методами классов (фабричными или обычными -- зависит от случая). Смешивать ООП и ФП тоже вкусно, только их надо уметь готовить
Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

169. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +1 +/
Сообщение от Аноним (-), 14-Май-21, 14:49 
>функциональщина

Non-pythonic, на грани deprecated. Ты функциональщины настоящей не видел, в языке с куцыми лямбдами говорить про идио(ма)тизм.

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

173. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (1), 14-Май-21, 15:00 
Не выдумывай. Вот лямбды в питоне действительно использовать не стоит: они, во-первых, понижают читаемость, а во-вторых, тормозят. Мне нравится elixir, например, это никак не мешает мне отказываться от неэффективной лапши в питоне (хоть читаемость и страдает всё равно).
Ответить | Правка | Наверх | Cообщить модератору

175. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (-), 14-Май-21, 15:02 
>они, во-первых, понижают читаемость

Да-да, понижают, особенно если у тебя в язык они в принципе не входят, потому что язык нестройный.
В лиспе с лямбдами всё сделано прекрасно.
>а во-вторых, тормозят

В питоне вообще всё тормозит.

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

178. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (-), 14-Май-21, 15:07 
ИЧСХ, ты сам полез доказывать, что функциональщину в питоне сделали для галочки.
Ответить | Правка | К родителю #173 | Наверх | Cообщить модератору

180. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  –1 +/
Сообщение от Аноним (1), 14-Май-21, 15:14 
Только один фюрер, да?
Ответить | Правка | Наверх | Cообщить модератору

185. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  –1 +/
Сообщение от Аноним (-), 14-Май-21, 15:29 
Не понял.
Ответить | Правка | Наверх | Cообщить модератору

187. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (1), 14-Май-21, 15:38 
Других вариантов функциональщины быть не может?
Ответить | Правка | Наверх | Cообщить модератору

213. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (-), 14-Май-21, 18:10 
Таких куцых - не может. Я писал не на одном ФП-языке и знаю, что говорю.
Ответить | Правка | Наверх | Cообщить модератору

214. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (-), 14-Май-21, 18:15 
Как пример куцости можно те же лямбды привести (вот те самые, которыерядовые пистонисты не любят и хотят выпилить, но пока не подвернулся случай) и выпил из стандартного неймспейса fold в трёшке вместе с угробленным map "по-хаскелевски", при том, что map в хаскеле таков, потому что такой рантайм.
Про отсутствующую оптимизацию TCO и другие функциональные оптимизации/фичи уже можно не говорить.
Ответить | Правка | К родителю #187 | Наверх | Cообщить модератору

232. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Другой аноним (?), 14-Май-21, 21:53 
Функциональщина, как теперь понимаю, это больше про стиль, чем про ЯП. В принципе-то, на любом языке можно писать функционально. Просто асилить как следует про чистые функции и функции с побочными эффектами

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

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


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

241. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Другой аноним (?), 14-Май-21, 23:29 
Ну я имел в виду, что питон и паскаль где-то рядом стоят по ограничениям, имеющим целью понятность кода. Вот на си-подобных гораздо легче написать невразумительную кашу, а тут всё-таки посложнее. Одно только отсутствие там и там ++/-- уже и то офигенный плюс к понятности

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

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

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

184. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Аноним (-), 14-Май-21, 15:28 
На васик похож.

Никакой возможности писать прямо нет. Есть возможность писать тупо. Без ФП, на одних стейтментах и с плохоньким ООП без раскидывания методов. Всё, что выходит за рамки такого подхода (васик-стайл), рано или поздно будет либо тормозить, либо non-pythonic.

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

233. "Гвидо ван Россум намерен достигнуть двукратного увеличения п..."  +/
Сообщение от Другой аноним (?), 14-Май-21, 22:03 
Pythonic - это про читабельность кода. Способы писать так, чтобы потом можно было разобрать хотя бы что вообще написано, а в идеале ещё и понять, как оно работает

Под это заточены многие странные, казалось бы, ограничения и рекомендации

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

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

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




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

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