[CLUE-Talk] On hackers, productivity, and languages
Jeff Cann
j.cann at isuma.org
Sat Jul 31 16:17:55 MDT 2004
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Saturday 31 July 2004 12:39 pm, Sean LeBlanc wrote:
> This posting by Paul Graham has lit up the Java blogging community like a
> Christmas tree...mostly folks irritated at Graham for doing the all too
> often "my language can beat up your language" thing.
I have worked with Java off and on for 5 years. I have worked on perl the
same amount of time. When I need something done, I write it in perl. I've
never voluntarily written a program in java; other than when I was learning
the language. Of course, I'm a UNIX guy, so of course I find perl much more
familiar than some others -- [my second language (after pascal) was bourne
shell].
But, when I have worked systems that many people will maintain, update,
extend, I use java. It's designed for these types of programming
environments - it allows simultaneous development because it has defined
rules of encapsulation (perl has them, but they are not enforced by the
compiler as they are in java). In short, java is designed for big teams of
developers and not coincidentally, it excels in these environments.
Unfortunately, in the corporate setting, not all programmers like programming
- - to use Graham's idea : they are not hackers; they write code to pay their
bills. [Of the 20 or so programmers that I work with, maybe 3-4 are
hackers].
This is why java is perfect for them - unlike C or perl, java gives you a
defined set of usage rules. People who aren't willing to think too hard like
to use to rules to help them get their job done -- e.g., the strict
type-checking in java makes sure you are not casting objects to classes that
will blow-up at run-time.
I like to do something in the fewest lines of possible --- I'm lazy. Java has
some cool stuff, but so much is overkill for most of what I need to write.
Also, it's telling to me that the implementation of hashes in 1.5 version of
java looks a lot like perl's implementation ;)
OTH - I found that people who like the defined rules of something like java
(or cobol) often *hate* perl. By comparision to spoken languages: if Java
is English, then English speakers look at perl like it's Chinese. Perl has
funny symbols, variables change meaning, depending on context. It's utterly
confusing if you can't read it. If you can, it's beautifully short and sweet
(IMHO). Of course, perl was designed to be this way and this is why it's
works.
I used to work on a perl web site application at S&P. It was originally
developed by 2 guys. Then as the product grew to about $10 M in revenue, the
development team ballooned to about 7 people. You can imagine how badly the
code sucked after having 7 people (5 perl newbies) trying to hack perl. We
needed 4 SUN web servers, just to run the massively inefficient CGI
application. (The company refused to let us run Apache, so we could use
mod_perl).
Needless to say, the replacement web applications (in fact *all* web
applications) are now written in java (J2EE). I personally would use PHP for
75% of the consumer web applications.
There is no language that is best for every job. Otherwise, why would new
languages keep getting invented? Until then, perl *still* rules! ;)
Jeff
- --
"Faith that does not affect a person's culture is a faith not fully embraced,
not entirely thought out, not faithfully lived."
- - Pope John Paul II
http://isuma.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQFBDBqXi4b9OApLCmoRAivkAJ47tKAq6xA7vP2AENIcIzqRlADVbQCdGCxf
tHExqU8sCMzh4DWdloNqQsQ=
=+sEc
-----END PGP SIGNATURE-----
More information about the clue-talk
mailing list