Torvalds hates object orientation.That’s why he hates object-oriented programming languages. In my opinion, the reasoning does not draw, because also in C one programs again and again object-oriented. To hate languages because it is – in my opinion – rather silly.
Linus Torvalds has a rather researchy way of conveying his convictions and usually does so not carefully, but with the help of a sledgehammer.It must be said to Mr Torvalds that his radicalism has also triggered the biggest revolution in IT in the last 20 years. Nevertheless, his form of radicalism is not the answer to all questions.
In the end, however, it is bottom of the question – albeit with questionable reasons.
Java is a terrible programming language because it imposes an object orientation, even when you don’t need it; because it imposes an exception, even if you don’t need it, and exceptions (exception) should only be used as an exception, and not consistently, so that the correct case becomes the exception.Because it needs a virtual machine, because the machine for which it was designed, has never been built and to conceal that one declares portablity as a feature. Portablity was not the development goal. And most importantly: Java is not portable, often not even to itself in a newer version.
On the other hand, I wouldn’t know any product, which is more portable than Linux, written in C and not in Java.
Because Java is semantically weak; because it is unnecessarily slowed down; because it is completely unsuitable for many purposes; because it is used as a teaching language, but underptheses a virtual understanding of the students; because it is considered and used by many professional developers with this virtual understanding, and because much of this understanding is not only virtually false, such as the belief that multiple inheritance is evil in the first place.I once built diamonds with interfaces. Goes too. Java threw away useful features to preserve the flaws. It is not for nothing that Java is also jokingly called C++–.
Java is an absolute miscarriage in terms of language design, which is made worse by the fact that the knowledge needed to prevent nonsense was already known to the creation of Java.Java is not an evolutionary experiment, which has failed, but a DNA cocktail of languages that has been knowingly converted as a miscarriage because one has uncritically dedicated oneself to object orientation.
In the time of the OOP hype, one has forgotten to ask whether OOP is a sensible solution to a problem.Java was a hasty answer: OOP is the answer to all problems or you get it wrong. And that’s nonsense. Even in modern Java, it is important today to avoid OOP as much as possible, which is unwieldy in a language that imposes on an OOP. This is what you mark over final and static. And so you get back to static instead of object-oriented programming, has additional effort and fewer possibilities.
For this you get a large framework included.Of this, one half is depreciated, the other half is superfluous for my programme. So I have to carry everything that can fly around my ears in terms of security, even if I don’t need it and to prevent the software from suddenly stop working because the user has installed a newer Java version, I have to install the version on which I have tested. My version will not be updated, so the security holes that exist will be preserved even after the standard VM is updated.
Java is not terrible because it supports OOP, but because of pretty much everything else.