OT: Php or perl? JAVA BASHING!

Stuart Jansen sjansen at buscaluz.org
Sat Mar 18 13:23:32 MST 2006


On Sat, 2006-03-18 at 11:53 -0700, Barry Roberts wrote:
> On Sat, Mar 18, 2006 at 11:28:19AM -0700, Stuart Jansen wrote:
> > 
> > Java was specifically designed to deal with lowest common denominator
> > programmers.
> 
> In what way specifically?
> 
> I've always thought the design of Java was targeted at C/C++
> programmers.  When people talk about languages for non-programmers or
> bad programmers, I think of VisualBasic, COBOL, VBA, PL/SQL, PHP etc.
> Languages that have a pretty specific niche (simple GUI, database,
> web), and/or extreme simplifications for their target audience.  I
> don't see that in Java.  Java is quite general, and if it was supposed
> to be for knotheads, why did they make it so C++-like instead of
> something like Python or PL/SQL?

It's not about being general or special purpose. In fact, a good
language makes it easy to write simple, special purpose languages.
Google "meta-programming" to see what I mean.

You're right, Java was largely a reaction against C++. I spent about 15
minutes looking for quotes from Gosling that make it clear he was
targeting usage in corporate environments with teams containing people
wide ranging skill levels. (I'll leave you to apply personal experience
to decode that statement.) I couldn't find them this time, but I did
find some quotes explaining that he left out interesting things like
returning multiple values or design by contract as a result of surveying
people and finding out that most couldn't see why they were useful.
Ultimately, that's the biggest problem with Java, it left so much out
yet still manages to be extremely verbose.

Programming Java feels alot like programming Pascal. They're pedantic
languages.

It's established history that COBOL was designed for "normal people". I
don't know enough VisualBasic/VBA to comment on them, other than to say
the one time I approached an existing VB application the experience was
worse than encountering COBOL. Probably because VisualBasic felt like
half a language without knowing VisualStudio intimately. I don't see how
you can characterize "PL/SQL" as being for bad programmers or
non-programmers. It's an interesting attempt to combine declarative and
imperative programming. As for PHP... it's one of the best templating
languages I've seen. For certain scripting needs, it's pretty good too.
It's just a shame that people try to use it for anything more than
templating or 100 line scripts. You wouldn't try to write a personal
accounting application in Bash, would you? So why use PHP?

Finally, I'm glad you brought up Python. Certain things about Python rub
me the wrong way, but at least it's an example of what Java should have
been. Python code is just as easy (easier!) to maintain than Java. The
Python community cares about good design, just like the Java community.
Python is a language that mediocre programmers can use without doing too
much damage. But Python manages to do it without strapping developers
into a straight jacket or brainwashing them into think XML is a hammer
and everything is a nail. The Python community understand the value of
simple solutions. The Python community also understand the power of Lisp
and Scheme (although it seems afraid to embrace functional programming
too closely). Python is a good language. Perl is more powerful, and Ruby
is more fun, but Python is pretty okay too.

-- 
Stuart Jansen              e-mail/jabber: sjansen at buscaluz.org
                           google talk:   stuart.jansen at gmail.com
:0                         # copy & paste for your convenience
* ^From:.*sjansen@
/dev/null                  # /ignore sjansen!*@*
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : http://plug.org/pipermail/plug/attachments/20060318/9c26a417/attachment.bin 


More information about the PLUG mailing list