[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Крик души, или опять про python



Vladimir Zolotykh -> debian-russian@lists.debian.org  @ Mon, 27 Feb 2006 16:24:54 +0200:

 >>  >>  >> Ну вот, блин.  Не успел собраться поставить еще одну питоновскую
 >>  >>  >> программу, как приехал DSA-951-2.  Детсадовские дыры - SQL injection и
 >>  >>  >> XSS.  И да, в Programming Python, во втором издании, так честно и
 >>  >>  >> написано: на этом языке слишком легко писать плохо.  Ну почему?!
 >>  >>  >> Нормальный вроде язык...  Вот вроде бы, если уж человеку понадобилась
 >>  >>  >> BTS, причем до такой степени, что он ее сам стал писать - ведь должно же
 >>  >>  >> у него быть некоторое представление о самых детсадовских
 >>  >>  >> багах...  Наверное ведь, попробовал другие BTS предварительно, а раз так
 >>  >>  >> - значит, и баги уже чинил...
 >>  >> 
 >>  >>  ДФ> Люди ищут легкие пути, питон их предоставляет.
 >>  >> 
 >>  >> Да в том и дело, что вроде бы уж на эту тему пути равной легкости
 >>  >> предоставляют все скриптовые языки.  А проблема эта свойственна именно
 >>  >> удаву.  Ну, PHP не в счет - там, похоже, с предоставлением вменяемых
 >>  >> путей проблемы...  Или просто банальный интеллектуальный ценз "с таким
 >>  >> IQ на перле или tcl программу, которая хотя бы вроде работает, написать
 >>  >> не получается"?  Да нет вроде, с таким IQ BTS ни к чему, а программу с
 >>  >> функциональностью mailman написать можно только на языке шестого
 >>  >> поколения (который "Хочу базу данных.  Чтоб работала.").
 >> 
 >>  IS> Питон тут не при чём, криворукость авторов от языка не зависит.
 >> 
 >> Возможно, есть обратная зависимость.  Выбора языка от криворукости
 >> автора.  Но "что совой о пень, что пнем о сову - результат один: сове
 >> отчетливо не по себе".  В смысле надежно работает эмпирика "видишь слово
 >> python в зависимостях - жди проблем".

 VZ> Я где-то читал, кажется утверждение приписывалось Дейкстре, что
 VZ> язык программирования в некоторой степени формирует мышление. Он
 VZ> (Дейкста) составлял задачи и предлагал их решать друзьям. Зная,
 VZ> каким языком пользуется испытуемый, он составлял задачу таким
 VZ> образом, что для ее решения требовалось нечто большее нежели
 VZ> парадигды используемого языка. Результат решения оказывался
 VZ> отрицательным. В то же время задача конечно имела решение, но для
 VZ> ее решения нужно было мыслить несколько шире нежели в рамках
 VZ> обычных парадигм языка.

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

 VZ> "Хорошесть" или "плохость" языка -- вещь абсолютно недоказуемая, а
 VZ> уж влияние языка на надежность или робастность программ тем
 VZ> более. Популярность языка думаю то же не связана напрямую с этими
 VZ> его качествами.

Я ж не доказываю.  Я смотрю на свою статистику общения с этими
программами, и она меня, мягко говоря, не восторгает.  Т.е. пока
стопроцентный минус.  То, что Сэнта с матерной интонацией называет
"вроде работает".  В тщательно подготовленных тепличных условиях можно
пользоваться.  Но если питоновскому plucker-build я еще могу с помощью
двух-трех-строчника на perl или tcl эту теплицу создать (ну что,
спрашивается, мешало сделать так, чтобы это не требовалось?), а сайт
выкачаю wget'ом, он все равно это умеет лучше, то mailman и trac должны
торчать в Интернет и обрабатывать ни разу не тепличные данные.  Их тоже
обвязывать?  Так не больно помогает...  Первому, помнится, крышу срывало
с завидной нерегулярностью (т.е. одно и то же письмо, дважды в него
закинутое с разными Message-ID, могло обработаться по-разному), а что до
второго, то попытка лечить SQL-injection внешним фильтром порочна по
самой идее.

 VZ> Кстати что такое язык шестого поколения? Можешь назвать такой язык?

Анекдот такой есть.  Еще прошлого века.

- Как выглядит написание базы данных на языке шестого поколения?
- "Хочу базу данных."
- А как выглядит ее отладка?
- "Хочу базу данных.  Чтоб работала."

 VZ> Простота языка может иметь и ту отрицательную сторону, что легко может
 VZ> сложиться впечатление, что быстро можешь начать писать сам, и вроде бы
 VZ> уже нечему больше учиться.

Да.  Но авторы trac, mailman и plucker-build, глядя на задачи, которые
они решают, не должны попадать в категорию новичков в программировании.
И уж во всяком случае обязаны уметь (и иметь привычку) читать
документацию, иначе б оно вообще не работало.  Задачи-то не уровня Vasya
Pupkin Web Site Content Management System, или очередного кривого по
самой сути своей веб-форума, которые пишут все, кому не лень...

Фортунка, блин, как никогда в тему...

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru

Любой инструмент, используемый не по назначению, имеет свойство
превращаться в грабли.
	Andrey Sverdlichenko



Reply to: