|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Andrey Sapozhnikov 2:5020/400 30 Dec 2001 15:52:09 To : Pavel V. Reich Subject : За жизнь. Было: Re: CGI.pm: POST отделить от GET -------------------------------------------------------------------------------- > Вот сколько читаю эху - одного не пойму: почему идут постоянные споры CGI.pm > vs процедурки руками? Hу если экономить время исполнения - тогда лучше писать > на С/С++ (а то и на ассемблере ;). Зачем люди мучаются и пишут самостоятельно > второй велосипед CGI.pm? От сумбурности в голове. Зачастую заглядывая в коммерческие скрипты проданые за немалые деньги с целью их доводки (заказчик в полной уверенности, что он купил хороший продукт которые надо немного заточить под себя), у меня волосы дыбом вставали. Одному автору такого шедевра я даже написал гневное письмо. Вот ответ: -------- Original Message -------- Subject: Re: Done-Right Scripts - Contact Date: Thu, 5 Jul 2001 13:56:14 -0400 From: "Ryan Mainprize" <contact@donerightscripts.com> To: <sapa@icb.chel.su> Hello Andrey, The fact that we have been very successful in the scripting business and the fact that our products are displayed on many proffessional websites tells us that our scripts are very good. The compliments we receive on a daily basis regarding our scripts also proves that our products are of very good quality. You can have any opinion you want but in the future I suggest that you make more educated statements. Ryan Mainprize Done-Right Scripts. -----Original Message----- From: sapa@icb.chel.su To: contact@donerightscripts.com Date: Thursday, July 05, 2001 1:21 PM Subject: Done-Right Scripts - Contact >Name - Andrey Sapozhnikov >Email - sapa@icb.chel.su > >Message - Hi guys, > >just looked into your scripts. Ugly! >Are your programmers thinking to learn >Perl before write commercial programs? > >Best regards, >Andrey > >P.S. I'm sure you will no answer me. >Why? :-) > А вот пример кода из этого эпохального шедевра который мне надо было править: sub goclick { while ($content =~ m|<A TARGET=GC HREF=\"([^"]+)\"><FONT[^>]+><B>([^<>]+)</B></FONT></A><BR><FONT SIZE=-1>([^<>]*)</font><br><font[^>]+><em>([^<>]*)</em>(?:[^\$\n]+\$([\d.]+))|gi ) { $newurl = "$1"; $newtitle = "$2"; $newdescrip = "$3"; $realurl = "$4"; $price = "$5"; $newdescrip =~ s/\|/\:/g; $GoClick .= "$newurl|$newtitle|$newdescrip|$realurl|$price\n"; } $GoClick =~ s/<[^>]*>//g; } Переменные нигде не объявляются, списки возвращаются из функций как скаляры разделенные символом '|', подпрограммы возвращают значение не через return, а в глобальной переменной (которая тоже нигде не объявлена. А зачем, ведь use strict и -w тоже никто не использует).Аргументы в функцию передаются так же. Модуль CGI не используется, зато используется LWP::Parallel (не сумели имплементировать самостоятельно?). Переменные переиспользуются где попало, и зачастую именуются как $data[18], $data[19]... Функции объявляются где попало (а все равно вызываются с & перед именем). Даже нормальных indents нету. Об объектах я молчу, о ссылках-то человек ничего не знает. Он вместо массивов использует глобальные переменные, благо их можно адресовать по собранному имени если отключен strict refs... И вот такой "программист" с самомнением продает свой "продукт" людям далеким от программирования, а "затачивать" его приходится другим. И этих других, потом, дескридитируют в глазах работодателя. Как же так, не смог в хорошем купленном продукте сделать несложные изменения за полчаса. Как объяснишь, что переделывать в этом дерьме надо все, от начала и до конца. Дескридитируют язык Perl - неоднократно слышал, что язык это пригоден только для маленьких грязных хаков, и на нем не сделать серьезных проектов, в отличие от той же Явы... Мораль - убивать таких надо еще маленькими. Программы написаные такими людьми и проданные за $500, потом потребуют $5000 на переделку (нет, написать их аккуратно с нуля не сложнее. просто ОH продает их массово, а переделывают потом индивидуально). И нанесет репутации Perl ущерба на $100 000. Данный работодатель, ничего не понимающий в программировании (и не обязан он), будет всю жизнь шарахаться от слова Perl, и пополнит ряды агитирующих за (см. выше) Модератор, ставь мне первый плюс за оффтопик, повода для второго я не дам :) Андрей --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/5284d49a9b4d.html, оценка из 5, голосов 10
|