The next set....
11. Multiple Vendor Choice and Support Java technologies are supported by multiple vendors allowing mix and match and best of breed solutions. Java standard APIs have always been designed to be supported by multiple implementations. For example the Java Messaging Service (JMS) standard is supported by multiple vendors IBM, TibCo, Progress, SpiritSoft, Fiorina, Swift, Open3, JBoss, etc. You have the freedom to pick what's the best messaging product for your situation, you don't have that option with Microsoft where there is only one choice MSMQ.
True, you have multiple vendors supplying similar products. But once you get a product and use a feature, then you are tied to the vendor or you have to be happy with the least minimum set of features. The argument of vendor independence has kinda lost its sheen, now that enterprises have had experience with commercial application development.
Java has several solutions to compiling into machine code, that is when compiling to byte code is an issue for either intellectual property or performance reasons. TowerJ, Jove from Instantiations, Excelsior JET and GNU GCC provide robust solutions to compiling Java to native code.
NGEN does something similar. Anyone can always write a compiler that compiles the IL to native code as CIL is an ECMA/ISO standard(unlike Java..:-))
13. Future Proof Java is future proof or rather future portable, in the sense that your existing code base will not become obsolete. How so? I can run Java on machines today and machines in the future. You don't have that assurance for Microsoft's technologies like .NET. A vivid example is their support for for VB6, which has been set to expire. It's crucial to consider that every development has a ROI that spans several years. How many years was DNA around before Microsoft declared it obsolete?
MS has a history of being very backward compatible. A program written for DOS continous to run on Win2K now. There have been changes in VB to VB.NET, but most of the code still runs. Java went thru a similar struggle when it started off. I am sure future versions of .NET will be compatible with older version of the framework
14. Most Popular Language in the Corporation A recent survey reveals "Interestingly, the strong showing of Visual C# .NET divides the Microsoft camp and propels Java into first place as the most popular language over the coming year". In corporations, there are more developers familiar with Java than any other language. The benefit is that there's a higher chance that someone can maintain or fix a java program than that written in any other language. Do you think you'll find someone in your corporation who will be able to fix that legacy VB application 2 years from now?
What about all those COBOL programs running out there. It is always much easier to find a VB programmer that find a java one. If the total number of .NET developers are considered, they most probably are much more that Java developers. (Simple mathematics, compare the amount of revenue from software of MS and Sun and you get the answer..:-))
15. Larger Talent Pool Java is taught in most universities, this is resource for well trained affordable junior programmers, the same can't be said about C# or VB. Senior Java developers are also easier to find. The same can't be said about C# where there aren't any senior developers. Also a senior VB developer is least qualified to lead development requiring OO analysis and design.
Java was not always taught at universities. .NET has been getting a lot of support from the academic community and it is just a matter of time till .NET becomes as popular as Java in the universities. The comment on the qualification of a developer is just a rant. You can as easily find a bad Java developer as a VB one. That is an unsustainable argument.
Comments