[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