Are you trying to troll with the HTML comment? Collect all programming languages (and no, HTML isn't one) and you'll see that abstraction in all of them forms a smooth spectrum, with assembly on one end and functional languages on the other. Each goal has an optimal abstraction level (if it's small enough, if it's larger you need to break it down to subgoals) and you'd best use the language that is closest to this abstraction level. Obviously you're not going to implement a JVM in Java.
But you're using libraries in C, are you not? You're using the stdio library, because it does complex and OS-specific tasks such as writing data to the console for you. Think of the JVM as that: a library. A big library, written in C(++?), only that you write the code with a slightly different syntax.
To what effect? The people who wrote the JVM had years of programming experience. What could any first-year CS student do with their code?I'd love to see some of those first year students have a look at the JVM and the ubelievable usage of pointers its said to make use of.
I have. What's your point?Have you looked at JAVA 5?
Java is good for what it is, which is not what you say it is. So is every language, or nearly so. Languages are written with a purpose, and since there are many purposes there are many languages that fit the purpose.Java is good for what it is, a dumbdowned version for RAD.
How did we end up talking about Java anyway? We were talking about different aspects of C++.
No, it's used to make it more abstract. Believe it or not, there's a difference.C++ is no exception - regardless of of the extra libraries and data structures B.S. used to make it "simplier".