There are limitations to this however. One of the biggest and a major reason why people don't use Java is that Java does not provide access to the memory or the chipset. There's a whole layer that you as the programmer do not have access. And this irritates people!
after that I started to accept Java as a language built to support specific design patterns whereas C++ is very general.
|Q: The C family of languages - C, C++, and Java - has dominated commercial programming for over 30 years. Why has the C family of languages become so successful and so widely used?|
Dennis Ritchie: This has always been a bit of a mystery to me to understand in any kind of detail. Obviously the use of C was during early times considerably encouraged by its use as the lingua franca of Unix during the period that Unix was growing in the research and academic community, and then when Unix was taken up as the software basis for the workstation industry of the '80s. This in turn had to do in part with the non-political nature of C and Unix (not tied to a power) ....
Bjarne Stroustrup: C and C++ became popular because they were flexible, cheap, and more efficient than alternatives. C owes much of its initial popularity to the popularity of Unix. C++ owes much of its initial popularity to its high degree of compatibility with C. ...
James Gosling: I think that the number one reason is that it's been generally a very pragmatic family of languages. By and large they weren't experiments in language design; they were put together as tools by people who wanted to do something ...
|Q: In your experience, how long does it take for a novice programmer to become a reasonably proficient C/C++/Java developer, capable of writing nontrivial production code? How long for a programmer with experience in one or more other languages? How can this time be shortened?|
Ritchie: I don't know the answer to this question either - my stock joke on similar ones is, "Well, I never had to learn C...."
Stroustrup: For a novice programmer, a year and a half seems appropriate; for a programmer who is a novice to C++ and the techniques it supports half a year seems more likely.
Gosling: I know that for somebody who is a pretty talented C++ programmer, an afternoon pretty much does it for lots of folks. You'll probably spend a lot of time going through the library manual. The language itself tends to be a snap to learn; it's all the library stuff that takes the time.
2. Using reflection you can get and set private and protected data members and call private and protected methods. Though, it does require you to call setAccessible() on the Field instance.
|I think that the number one reason is that it's been generally a very pragmatic family of languages. By and large they weren't experiments in language design; they were put together as tools by people who wanted to do something ...|
|If I set up a SecurityManager you can shove your setAccessible() call up your ass.|
|low latency with enough memory is not a problem for Java, though|
For starters, Java is not more popular than C++.
|This means there is more code written in Java than in C++.|