This is an oft-repeated sentiment, which I've never seen actually happen. The free market pursues profit. Not customer needs. The most "efficient" thing to do is fleece customers when they're at their most needy: when it's either pay up or die.
How do you explain all of the successful socialized medicine in other countries, if government involvement = healthcare sucks?
What indication, given the current healthcare environment, makes you believe that any health insurance company is ever going to prioritize people and their health over profits?
It's easy to say "it's too hard, and the government will futz it up," but "the free market" produces predatory companies pursuing profit.
Functional programming is a concept, not a magic cure-all for bad programmers.
Java also supports functional elements (though I'm not implying it's a functional language in the slightest).
I could have an optimistic view of programmers, but I feel like that article is heavily slanted towards CS education, which is taught by people who intrinsically understand computer science. I work with people who are definitely not even approaching the middle of the bell curve in terms of skill and efficiency. They still produce work in imperative programming, and without introducing catastrophic levels of instability into the system.
I can see where you're coming from, but for the area that I work in (finance) I can't help but feel the features of the JVM are a net gain rather than a loss.
I'll absolutely agree that it's not good for applications that don't need it's complex machinery. Half my side projects are written in java, and probably could be easier in python.
I'm not sure your metaphor really works here, as you're implying that Java is inherently less efficient/worse than Javascript or Clojure.
I used to feel that java was a good teaching language, but after using it at work, I totally agree.
Java is excellent for enterprise distributed systems. It's got excellent tooling and an absurd quantity of libraries.
It's not good for simple programs to teach students compared to say...python or even C++. Especially things that don't really NEED the complex machinery built in to the JVM/Language spec.
This feels like someone who prefers Clojure really hard, and doesn't like Java.
Admittedly, I'm a finance Java EE wageslave, but java is really not that complex to understand. Objects are references, updating the referenced object will change all objects sharing that reference.
Primitives are an admittedly confusing bit, but we're kinda stuck with them.
I don't think Java is "confusing" (but I am a bit biased), but deliberately avoiding understanding the language isn't the same as confusing.
I reply to maybe 1% of my actual email, and I can't filter it for the once in a never that its THE WORLD IS ENDING, and they need a response.