Hacker News new | ask | show | jobs
by tomxor 1580 days ago
I thought he summed up the tone pretty well earlier in the article:

> Java is neither a good nor a bad language. It is a mediocre language, and there is no struggle.

To be more explicit - I think the point he is trying to make is that Java is not very powerful (in sense of expression), which has benefits (making it hard to fuck up badly) but at the cost of pushing the programmer towards mediocre, verbose and inefficient solutions (again due to lack of expressiveness, trying to come up with elegant and efficient solutions is too tiresome).

Perhaps it's the difference between a scalpel and a blunt club. You're not going to cut off your own fingers with the club, but you're not going to be able to perform brain surgery or fix someone's heart either. Not the best analogy because technically Java and any other language is turing complete, but they are not equal in how easy it is to coerce the machine into performing a particular computation, and expressing that humanly.

1 comments

How do you measure "mediocre"? And what do you mean by inefficient? In any language you can code 99% of the things needed by 99% of most of the systems. Most of the "I love/hate this language" is usually subjective perception or strong preference for certain programming paradigms: people loving/hating OOP, people love/hating verbosity and so forth.
You don't, it's all opinion, but that doesn't mean it doesn't exist.

We can at least all agree there is difference in the efficiency of writing a program in binary opcodes for a specific architecture vs writing one in C... although quantifying it is impossible, and that's just one quality.

Leaving the low level languages aside, most of the top level one can achieve the same things with similar costs. It's still up to the individual/team skill how those apps/systems end up to be built. If some project fails, is rarely "picking the wrong language" reason...