[ale] Py[h]hon syntax (sic)

Benjamin Scherrey scherrey at proteus-tech.com
Wed Jan 26 12:17:22 EST 2005


uh... read it again six months after you wrote it and understand what 
the heck it does? :)

    Perl really does excel as a scripting language for processing files 
of text, especially using regular expressions. That's its original 
purpose and, sticking to that scope, I couldn't argue conclusively for 
another language over it. However, python and ruby, while perhaps 
introduced as scripting languages, are really full fledged and elegant 
high level application development languages that are purposely written 
to develop complex and powerful applications beyond scripts and admin 
tasks. Perl has a gazzillion majic symbols that one must remember to do 
anything complex with and there are more (correct!) ways to approach a 
given task than there are perl programmers so consistency of code 
amongst a group of programmers (even with the group size==1!) is almost 
never found. Even in respect to its regular expression abilities, the 
new version of python is as expressive and as efficient so, in the area 
where perl once stood above all others, it has not maintained its dominance.

    Without trying to engage in a language war I think the question you 
pose is not the right one. Given enough mastery of any given programming 
language I could make the same assertion of being capable of 
accomplishing almost any task. Does that mean all languages are equally 
functional or expressive? Certainly not. It really should be which 
language is the right tool for a particular job. Perl was designed for a 
particular job and does it well. Outside of that scope, however, perl 
shows its shortcomings pretty rapidly. Just because something *can* be 
done using a given language doesn't mean its a good idea.

    For me, C++ and python cover the full breath of any programming 
project I've ever encountered or conceived of. Yet, to this day, each 
time I approach a new programming task I always try to identify what 
languages are best suited for that task if only to identify what idioms 
or patterns might best be used to attack the problem at hand. Each 
language has its own particular idioms that drive its best use and can 
teach us things about problem solving even when we may not end up using 
that particular language in the final solution. That is why one should 
learn as many languages as one can - it makes you more expressive.

    -- Ben Scherrey

Christopher Fowler wrote:

>I'm finding that I can accomplish almost any task in Perl that I want. 
>Only problem is that it is not fully OOP.  Other than OOP what can you
>do in say Ruby or Python that you can not do in Perl?
>
>  
>



More information about the Ale mailing list