SPUG: Does Perl Scale? (Was: Evolution of Perl)

Randall Burns randall_burns at hotmail.com
Sun Aug 12 00:00:57 CDT 2001

> > structure things (as with OOP) such that perl does scale well...
I would tend to agree. There are a lot of Perl folks that aren't familiar 
with these techniques. IMHO the biggest single weakness of Perl is that 
Perl's object oriented syntax is obscure. If you know what you are doing, 
you can probably do it with Perl, but Perl doesn't really hold your hand in 
this regard like some languages do.

IMHO what this means, is that Perl requires _more_ training/discipline to do 
good object oriented code than Smalltalk--but also provides some flexibility 
when used carefully by folks that know what they are doing.

>Much as I like Perl, weakly-typed, free-form languages like Perl are >not 
>as appropriate for large projects as C++ and Java are.
Personally, I'd suggest Perl or a similar weakly typed language for projects 
up to 5 or so _quality_ folks. The Self project at MIT had some good 
research on why weakly typed languages help programmer productivity and 
enable more to be done with a smaller team.

I honestly don't think that Java or C++ is really "the answer" for these 
bigger projects. My own favorite would probably be Mozart-Oz---a language 
which in some respects is even more powerful than Perl(Mozart-Oz handles 
concurrency issues Perl was never intended to handle). Mozart-Oz has a 
cleaner object oriented syntax from what I can see than Perl(though I don't 
think they they'd really handled all the subtle issues of object access in a 
large team that C++, Java and now C# have).

>More importantly, C++ and Java programmers tend to be more rigorous >than 
>Perl programmers.
I honestly think that is bullshit. There _is_ a bigger pool of C++/Java 
talent-much of it cheap H1-B labor from India that our government was so 
kind to allow corporate elites to bring over to put American technical 
talent "in its place".

I know Perl folks that know damned well how to use the "rigorous" techniques 
that Java/C++ folks use. Unfortunately, I know a lot of Java types that just 
don't get languages like Perl--or understand that there are places where 
languages like Java just fall apart(i.e. in dealing with concurrency issues 
Java gets its ass whipped by Mozart-Oz).

I used to consult at HP (see resume at www.outlander.com). One of HP's major 
e-commerce pages was done in Perl by a team that included some friends of 
mine. Because the Java folks "knew" how bad Perl was. The Java folks 
couldn't rewrite the original web page in the same time the Perl folks had 
_even with the original page as a spec_.

The big team space is an area where there are quite a few project 
failures-which make it hard to compare to the kinds of areas where Perl 

>Obfuscated programming can be done in Java and C++ too, but the
>implicit OO structure of these languages discourages it.
Obfuscated programming can be done in _any_ language that is at all rich in 
features. Folks that really know Java libraries can create some real messes.

>Perl uses some non-standard OOP features that make it a bit awkward >for 
>OOP, like being able to dynamically change your superclass at runtime and 
>failing to implicitly call a superclass's constructor.
I'd say Perl is kind of like a chain saw-a powerful tool in the right 
hands-and for the right job--and dangerous in the hands of a novice that 
lacks proper supervision.

Personally, I think it will be interesting to watch how Perl and the various 
experimental languages do as Microsoft's .Net initiative matures.  The 
nature of the Java run time has shut out languages like Smalltalk and 
Perl--this won't be the case in the .Net world.

Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     POST TO: spug-list at pm.org       PROBLEMS: owner-spug-list at pm.org
      Subscriptions; Email to majordomo at pm.org:  ACTION  LIST  EMAIL
  Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
 For daily traffic, use spug-list for LIST ;  for weekly, spug-list-digest
  Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/

More information about the spug-list mailing list