[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: What Java did right (was Re: Y Store now C++)

> On Wednesday 26 February 2003 10:39 am, Christopher Barber wrote:
> > > In your opinion, what did Java's designers do right, to persuade
> > > people to use it?
> >
> > They worked for a company that was willing to spend many millions of
> > dollars to market it.
> And Python and (especially) Perl?

Perl, and to a lesser extent Python, are succeeding because they make
the most of network effects in the development community by:

1.  Opening visibility into the development process.  The core implementers
	of Perl and Python are frequent contributors to the mailing lists,
	usenet groups, etc.  They see and respond to user concerns very

2.  Providing excellent, easy access to libraries.  Perl especially has
	gotten this right, with the CPAN network.  Need to control DB2 from
	Perl?  Go to CPAN and get the adaptor.  Need to build a Lexer with
	Perl?  Go to CPAN and find one of the many options there.  Need
	to control your X10 home wiring system?  Go to CPAN and find the
	module for that.  Perl and Python have very user-friendly, nearly
	foolproof mechanisms for installing these third-party libraries,
	thereby easing access to less technical users.

3.  Building in features that solve current, real-world problems.  Perl
	has excellent text-handling facilities that are core to the
	language.  Writing text extraction (or HTML generating) code is
	very easy here.  Python is in a similar boat.

4.  Killer Apps Included.  By the time Perl hit "the big time" it was
	entrenched as the web developer's tool of choice.  Python has made
	big gains with reformed Perl users who seek better program structure.

Most of the little languages discussed here are missing one or more of
the above targets.  We should also remember that Perl has been around for
many years, and only recently became so popular with the masses -- it
was slowly building steam (and the features that make it popular) during
a long growth process.