Re: What perl's bad for
On Wed, 25 Oct 2000 igor@lid9c1.engr.ccny.cuny.edu wrote:
> From: igor@lid9c1.engr.ccny.cuny.edu
> Subject: What perl's bad for
>
> A mozhno li bez flame war spokoyno i konstruktivno
> obyasnit` svoyu nepriyazn` k perl. Vot vse, chto ya nashel
> v seti po etomu povodu:
> --------------------------------------------------------
> What perl's bad for
>
> User interface design
Perl has Tk, but syntax is a bit ugly comparing with Tcl or Python,
Perl has Gtk, but its interface is no better than C interface, and one
expects more from scriting language.
Perl has CDK (Curses development kit) and I've never seen anything
comparable for Tcl or Python or Scheme.
> Proprietary file handling
I've seen nothing better in scripting language land.
pack and unpack are cool.
> Character-by-character processing
Any scripting language is bad for it. But typically
there are other ways to do same job.
> int main(void)
> {
> int chars=0, words=0, lines=0, inwords=0, c;
> while ((c=getchar()) != EOF) {
> chars++;
> if (c=='\n')
> lines++;
> if (isspace(c))
> inword=0;
> else if (!inword++)
> words++;
> }
> printf("%d %d %d\n", chars, words, lines);
> }
while (<>) {
lines++;
chars+=length($_);
words+=scalar(split("\W+));
}
print "lines=$lines words=$words chars=$chars\n";
На самом деле проблемы перла начинаются не с этого.
1. There is more than one way to do it, and sometimes it might be
misleading.
2. В синтаксисе есть множество исключений из правил. При написании
маленьких программ это удобно, при написании больших - приводит к
трудноустранимым ошибкам.
3. Интерфейс для писания C-шных расширений к перлу громоздок и сложен
по сравнению с Tcl и Python. А сила скриптовых языков заключается ровно
в том, что на них можно не делать то, что на них делать неэффективно.
4. И как же меня злит в перле отсутствие командной подстановки в строки...
--
Victor Wagner vitus@ice.ru
Programmer Office:7-(095)-785-09-72
Communiware.Net Home: 7-(095)-135-46-61
http://www.communiware.net http://www.ice.ru/~vitus
Reply to: