Java needs an overhaul.

August 24th, 2007 § 0 comments

This just crossed red­dit — Java needs an over­haul — hav­ing spent the last few weeks “drink­ing the kool-aide” so to speak, I can see (and comis­ser­ate) with some of the things he’s saying.

The stan­dard lib is not, in fact, stan­dard. There’s an amaz­ing amount of schiz­o­phre­nia with the libraries in the stdlib, from style, to inter­face, doc­u­men­ta­tion and gen­eral use­ful­ness. Remem­ber, I am not a Java expert by any stretch — I’m just some­one com­ing into the play­ground and won­der­ing why every­thing smells funny.

There are cer­tain things in the lan­guage which I really do like (say, inter­faces) — but then you have pieces that really feel odd, like the new generic syn­tax. The over­all ver­bosity of the lan­guage (say, ver­sus Python) is, well, frus­trat­ing44.

This quote from the arti­cle rang a bell for me:

Peo­ple have been tin­ker­ing with Java for years now, and there’s still no hope in sight. There’s some­thing about the Java cul­ture which just seems to encour­age obtuse solu­tions over sim­plic­ity. As a Java devel­oper, I was always so amazed at how dif­fi­cult it was to use the stan­dard Java Class Libraries for day-to-day tasks. Every app out there ends up hav­ing to include 20MB of .jars in order to get even the sim­plest func­tion­al­ity work­ing because Java libraries are so low-level and incom­plete. Hav­ing to write a loop to pull in bytes and assem­ble them into a String­Buffer myself if I want to get a web page is not only a pain, it’s also incred­i­bly short of imple­ment­ing the HTTP stan­dard com­pared to some­thing like libcurl. Why is this sort of basic func­tion­al­ity miss­ing from Java’s stan­dard install?

Java, like all lan­guages is just another tool for your tool­box, and a use­ful one to boot — not to men­tion (as pointed out in the arti­cle) Java is every­where. I’m enjoy­ing learn­ing it, even if I see prob­lems with it (hey, I see places python could improve too!).
4

  1. Also, the seem­ing reli­gious fer­vor that lay­ers and lay­ers of abstrac­tion are used/adhered to is alien to me444

4

What's this?

You are currently reading Java needs an overhaul. at jessenoller.com.

meta