суббота, 30 августа 2008 г.

Засранец Perl

Дорабатываю сейчас один проект на Perl. Это что-то с чем-то, вот действительно уж где прошлый век:
  • HTML дизайн перемешан с кодом. Чтобы нарисовать табличку - perl-функция, тут же код извлечение этой таблички из базы данных, тут же проставлен цвет этой таблички. Это создает ощущение дикой захламленности кода.
  • HTML по сути не пишется в явном виде, а используется perl модуль CGI. В нем HTML прописывается через функции. Мало того что ты знаешь HTML, тебе еще приходится разбираться в этом модуле. Еще можно (накурившись) понять попытки перевести HTML на объектную модель, но прописывать все через функции... ох, зачем?
  • SQL SELECT запросы извлекаются не с помощью названий полей, а по позиции.
Т.е. написав SELECT a,b,c FROM table мы достаем переменные a,b,c не по имени, а по порядковому номеру:
$a = $result[0]; $b=$result[1]; $c=$result[2];
Еще хуже дело обстоит с INSERT VALUE(a,b,c,d...) - в некоторых таблицах количество полей достигает полсотни и считать у какого из них какой порядковый номер подобно программированию на чуде своего времени - микрокалькуляторе МК 60-ых годов.
Во общем на лицо все веяния прошлого века.
  • Вся эта свора практически в одном файле.


Ну это ладно, во общем к чему я это все?
А к тому, что сам язык perl по сути никого и не заставлял так писать. Был создан язык PHP (People Hate Perl), на котором стали писать лучше, чем так как я описал выше, но по сути с PHP пришел лишь более трезвый подход к проектированию, а писать так можно было и на perl. Ведь perl не заставлял лепить дизайн и логику в одну кучу, да?

Как заметил блоггер Derek Sivers, язык программирования подобен девушке (girlfriend): новый язык лучше, потому что вы сами лучше.
Не perl всему виной.