To Gerald -
Thank you for your response.
>Why is Java the future? Because it's internet-centric, not desktop-centric. Developers are starting to develop applications for the net.
Developers are writing more and more network-aware applications, this is true. But a lot of technologies and languages can take advantage of that.
I think you are wrong here.
Yes, it's true that people would like an alternative to Microsoft. Microsoft is so big that corporations, who are afraid of having their critical business functions and products so uttlerly dependent on one supplier, are afraid of it.
This is part of what I don't understand - Sun controls Java. Period. Why are people deciding they would rather Sun control their destiny than MS control their destiny? Also, why force all you developers to use the same language without exception?
But the more important point about Java is that it promises "write one -- run anywhere." For businesses, that means no having to junk millions of dollars in investments in order to have networks that run together. It means that businesses can communicate with suppliers and customers, without having to worry about what OS they are running.
You've hit on an important things- "Promises" write once-run everywhere. This is simply not going to happen. Think of all the different Java Virtual Machines, on all the different hardware, with different processing power and hardware. It just isn't going to happen for any complex application.
Java has big advantages for businesses in efficiency and cost savings.
This is a long way from proven. You are basically asking every developer to work in a single language with a single set of technologies that cannot be extended in any way to take advantage of the individual power of the machine.
That being said, I think Java is an excellent language, and an excellent solution for many applications. If you are writing an app and have no idea what clients are going to be accessing the server, you write a least-common-denominator application in Java for the client. This is an excellent strategy for web-based apps and simple data entry. However, if you are writing something complex, such as 3D graphics applications or the like, you are going to want to be able to take advantage of clients that may have 3D accelerator boards or specialized hardcopy devices. This really isn't a feasible solution in Java. |