本文发表在 rolia.net/zh 相约加拿大网上社区枫下论坛
Below are some my words about this topic:
1. Both Java and C++ are programming tools, Just two kinds of programming tools.
It is hardly to say one is better than the other. In technical perspective usually people can tell which one is more suitable for a specific project, but not always. Sometimes even for a specific project it is hardly to say which one is better. Not only due to the technical reason but also due to the skills of the members of the developing team, deadline, budget, .... In some situations people have to use Java, in some other situations people have to use C++.
2. Why Java is more hot than C++?, which is the interesting topic of #18136.
In my view, the root reasons are that Java is easy to use (to some extent, the language part of Java can be considered as a subset of C++), and it is strong enough to meet most need of Internet related IT market, and its strong portability, and so called platform independence (xxxxxxxxxx). Java's "easy to use" is very closely related to the fact that Java does not include the memory pointer and somethings in C++.
Java's strong portability is very closely related to the fact that Java has the unified class library(ies) and the developing framework, C++ doesn't. There exist a few of non-portable class libraries and frameworks for C++.
3. I think it is a very strong point for Java to not include the memory pointer. But I don't think that the memory pointer in C++ is the weakness. If C/C++ did not include the momery pointer, I believe there must exists another programming language which include the memory pointer because sometimes people need to manage the absolute memory address while they don't want to use any Assembly or machine code. I don't understand why Zigzag think that the pointer in C/C++ makes the applications on the MS windows platform unstable. How about the applications developed with C++ on other platforms? If someone has to use C++ to write code and feel the memory pointer is an obstacle, do not hate the pointer or C++. It is him/her who has to use some tools but is not able to use them well.
4. Java and C++ in IT just like chopsticks and spoon which help us to eat. When we eat soup it's better to use spoon. When we eat noodles it's better to use chopsticks. Sometimes both of them are OK, sometimes we have to use another tool, a straw, to suck up juice from a special container. The most people in the world today need, like, or have to eat noodles so the chopsticks are hot.
更多精彩文章及讨论，请光临枫下论坛. 网址: rolia.net/zh