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

Re: What perl's bad for



On Thu, 26 Oct 2000, Victor Wagner wrote:

> 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. А сила скриптовых языков заключается ровно
>   в том, что на них можно не делать то, что на них делать неэффективно.

 Надо юзать swig - он генерит врапперы  для perl, tcl, python для С и С++ 
кода.

> 4. И как же меня злит в перле отсутствие командной подстановки в строки... 

 Это типа `date`?
 Легко написать процедуру которая будет допускать bash-like синтаксис для
коммандной подстановки.


 Best regards,
  -Vlad



Reply to: