本文发表在 rolia.net/zh 相约加拿大网上社区枫下论坛
Yes, Java is slow.
It is hot for some reasons.
1) In some projects, speed is not so important. For instance, in the internet,
network bandwidth predetermines the performance. Absolute performace is meaningless in a big system.
2) C/C++ is faster. However, this does not mean that projects implemented in C/C++ have good performance. Many C/C++ projects are messy because of architecture probelms.
3) Java is easier to implement. I guess you are a good C/C++ programmer. However,
can you assure all of your colleagues are
good C/C++ programmers? It is desperately difficult for people to build a robust C/C++ application. Frankly speaking, I don't think most of present C/C++ programmers are qualified--- they can produce bugs only!
4) It is natural for EJB to assemble CORBA and COM. In passing, I can point out that C# looks like Java. The fact is that people always create new stuff on the basis of other's work. DCOM is constrainted on Windows. Have you ever heard that some big companies use Windows as servers?
Microsoft stuff is inexpesive and suitable for small companies, but I don't think it can become the first choice of companies such as Amazon.com.
5) Personally, I am not Microsoft bashing. I show strong respect for those who work on
DCOM, COM++... It is meaningless for me to judge who is good and who is poor. Although I am VJ++ bashing, I take other Microsoft technologies as serious things. I don't criticise them because I an no expert in these things.
6) There is an English phrase called "speed freak". Speed freaks put "spead" up to ultimost position. This is not reasonable.
No matter how fast the languge is, people are prone to create pathological projects.
The speed of a languge is important, but it is not the only factor. Simply using a fast langauge cannot lead to a fact application.
7) Java is not a language. The right statement is " Java is both a language and a platform". So we should talk about Java technology, not Java language. C/C++ is only a language. This is a big difference.
Becayse Java is a systematical technology set, one can benifit a lot from it.
8) As a Java programmer, I think it is a good idea to use Java wherever it is applicable. For those mission critical tasks, we can use C/C++. One example is bank system. Even in the back system, we can find some subsystems that can be implemented using Java.
Hope you can like Java after you understand Java's spirit. If you find you dislike Java, I suggest you embrace DCOM. DCOM guys are true prorammers.
更多精彩文章及讨论，请光临枫下论坛. 网址: rolia.net/zh