On Thu, Aug 10, 2000 at 11:36:13AM -0500, Elaine -HFB- Ashton wrote:
>
> The real question here is why are corporations and others paying more and
> hiring more Java programmers than Perl? Only they can answer that
> question. My guess from observing the industry around me is that Perl is
> viewed as a tool language and Java as an application language...people pay
> big money for application development and either hire a consultant or tack
> toolsmithing onto another employee for tools.
I have an idea about that. Beside the hype, there are in my opinion good
reasons to choose Java over Perl. Perl is a very nice language. It's
a good language to quickly write tools and small programs in. It's an
absolute bitch for large projects. And before anyone waves his hand
telling about his 100k line program, 100k lines is peanuts. Big projects
are projects that take years to develop/evolve, where the project consists
of tens, or hundreds of programmers, with turnover times much smaller
than the lifetime of the project.
It's easy to make messy Perl programs. Large projects have a few good
developers, but lots of mediocry and lousy coders doing grunt work. Given
the nature of Perl, messy, a gazillion ways of doing things, a rich and
complicated syntax, no typechecking, an OO where "common idiom" means
no data hiding and no encapsulation, over 12k pages of documentation,
yet it's not completely documented, and no formal specification, Perl
is, IMO, unsuited for a large project. Perl is like a Arabian horse. The
winner of the pack, but only in the hands of an excellent rider. But often,
it's not about finishing the race. It's getting there, safely. And other
horses might not be as fast, and they look ugly, but they won't bolt.
Furthermore, Perl lacks features. Tk/gtk isn't a substitute for the GUI
that comes with Java, threading is *still* experimental, Unicode support
is only recent, but incomplete, and there is no usuable compiler.
If I were to pick a language for a large project (many coders, long
period of evolvement), Java wouldn't be my first choice. But Java would
be an option. Perl wouldn't be a contestent.
Abigail