SPUG: Does Perl Scale? (Was: Evolution of Perl)
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
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