Perl or Python?

Christopher Browne cbbrowne-Re5JQEeQqe8AvxtiuMwx3w at
Mon Jul 6 16:51:05 UTC 2009

On Mon, Jul 6, 2009 at 11:00 AM, Lennart
Sorensen<lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at> wrote:
> So overall, the only impression one can get is that java is either a very
> crappy language, or it attracts incredibly bad programmers, or maybe it
> just makes people incredibly bad programmers.

The fundamental problem is that any language that becomes popular
will, by sheer virtue of popularity, attract the "worst element" of
bad programmers.

The only language in which I haven't seen much terrible code is
Prolog, and that's a language sufficiently esoteric that only
interested programmers (who are likely to not be TOO incredibly bad)
wind up using it.

- In academic programming courses, students write spectacularly
horrible Lisp code.

- I don't see much bad C anymore; it's no longer "hot," so bad
programmers don't pick it up.  Ten years ago was a different story...

- PHP is "hot," ergo I have seen a fair bit of horrid PHP code.  I try
to avoid it like the plague, now, but have certainly seen awful bits.

- C++ used to be popular, and 10 years ago, was attracting that "worst element."

Java became popular as a specific consequence of the troubles with the
"worst elements" working with C++...  The handling of memory
management in C++ was Really Really Horrible, between memory leaks and

Java was a meaningful replacement for C++, in that:
a) It has similar syntax, loosely similar semantics, and a loosely
similar object model
b) Its memory management system is a whole lot safer.  None of the
direct pointer manipulations that lead to segfaults, and garbage
collection is safer than the usual explicit destroy() calls of C++.

It therefore allowed nearly 100% of the "bad C++ programmers" to
migrate to being slightly-happier "bad Java programmers."

I think this is way more a demographic problem than a technological problem.

I tend to agree with your technical criticisms of Java; I think it's
"object oriented to a fault," *except* that it's also simultaneously
"not OO enough" in some respects (e.g. - integer isn't an object type
when Integer is).

But I think you've got the causality backwards.
Mary Pickford  - "Adding sound to movies would be like putting
lipstick on the Venus de Milo." -
The Toronto Linux Users Group.      Meetings:
TLUG requests: Linux topics, No HTML, wrap text below 80 columns

More information about the Legacy mailing list