The "definition" I've been hearing alot recently is that Perl is a "quick
and dirty scripting language." Fine, I think it does quite well at that.
But as of perl5, it is not a language which makes large development easy.
I think Perl needs a couple different faces. It should keep the
quick-n-dirty face which so many people have come to love, but it also needs
a serious face. This would include, among other things:
The ability to have strong-typing (I don't trust Junior Engineers to get it
right and I don't have time to check every line of code they write)
Strong support for OO (including the ability to have compile-time method
lookups)
Threading constructs built into the language
Binary compilation
And many others
None of these would force us to make Perl disgusting to the quick-n-dirty
lovers, but they should by all means be available to those of us who want to
do real work in the language.
One of the ideas I've heard mentioned that I really liked was to have only
one kind of variable: a scalar. All the other types could be accessed via
references. It also allows us to get rid of the $ symbol except for
interpolation.
++t