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: