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

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: