I hate it when I find myself Java bashing. It’s just a language, it has its uses. But I pretty much did a Julia Louis-Dreyfus when I read this reddit post….

Operator overloading? You might abuse it… chop. Multiple inheritance? You might abuse it… chop. Creating a new object? You’d best type the type of the object three or four times before we’ll believe that you got it right. You want access to internals, subclass the compiler objects, closures, iterators, lazy evaluation, the list goes on chop chop chop
It’s often hard to point to a language’s philosophy because it is embodied in a long sequence of little decisions that are easy to dismiss in isolation, but that’s how I see the philosophy of Java.
Of course, that didn’t work, so a large aftermarket in prostheses has sprung up, and lately the language has been sort of growing some of the power features it previously rejected, although they pretty are much bolted on. Many people have even forgotten that there is a whole world full of people who don’t get around in powered wheelchairs and don’t need machines to help them chew, and argue passionately about how much they love their Chewing Completion and Integrated Mobility Environments and how easy it is to sort of slowly shamble up stairs on these prosthetic legs (which sounds impressive after you’ve spent five years in a wheelchair), endlessly haranguing those who choose to run on their own two feet about what they are missing by not getting their legs chopped off.

Of course none of this covers the fact that Java was THE ONLY SANE WAY to write portable code for about 15 minutes during its greatest fame…

Leave a Reply