Share the article!
The weekend is coming up, so I’ve decided to post 15 more entries. The list has now grown to 82 entries. Here are reasons %2311 to %2325
More coming next week!11. Multiple Vendor Choice and SupportJava 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.12. Compile to Machine CodeJava 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.13. Future ProofJava 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?14. Most Popular Language in the CorporationA recent survey reveals “Interestingly, the strong showing of Visual C%23 .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?15. Larger Talent PoolJava is taught in most universities, this is resource for well trained affordable junior programmers, the same can’t be said about C%23 or VB. Senior Java developers are also easier to find. The same can’t be said about C%23 where there aren’t any senior developers. Also a senior VB developer is least qualified to lead development requiring OO analysis and design.16. More Contributions From R&D OrganizationsJava is not only taught at universities, it is also extensively used as part of research and development. Work by Matt Welsh at UC Berkeley contributed to the New IO mechanisms we find in JDK 1.4. Generics was worked done by University of South Australia. Aside from universities, research organizations like CERN and HEP have contributed a large amount of code to the public.17. Government ApprovedThe Office of Management and Budget (OMB) of the U.S. Federal Government recommends to architects the use Java 2 Enterprise Edition over Microsoft .Net as underlying technology. This means that a larger share of billions of dollars that will be spent to upgrade the governments aging IT infrastucture will be done in Java. Expect other governments wary of Microsoft’s licensing practices to do the same.18. More Homogeneous and Less Complex EnvironmentThe Java environment is more homogeneous and less complex than .NET. It is not littered with obsolete technologies like COM, DCOM, COM+, ADO, nor is it dependent on operating system indiosyncracies like register settings or most recent service patch level. Furthermore, there is no artificial divisions between someone called a VB programmer and someone called a C%23 or C++ programmer. Developers are competent whether its UI development or server development, everything is in Java so its understandable and therefore maintainable by everyone.19. More Deployment OptionsWith Java there are more ways to deploy your application. Here are a few ways: applets, webstart, x-windows, midlet. Furthermore, there is standardization for client provisioning being proposed as a JSR.20. More Searchable ReferencesA search in Google of for “C%23″ hits 1,720,000 documents, for “Visual Basic” hits 3,270,000. In comparison a search for Java hits 32,100,000, almost 10 times more than even Visual Basic.21. Better support for Software Process Best PracticesMost best practices in software development are done in Java shops. Examples like Refactoring, JUnit testing and Continuous builds. Java developers are familiar with these practices, and by hiring them, you introduce these practices into your organization.22. Mature Object Oriented Relational Mapping ToolsIt is best practice in Object Oriented development to decouple business objects from their underlying relational database representation. Java has several mature and robust products that support the mapping of relational databases to objects, notable of which are TopLink and CocoBase. There is no equivalent of such a tool in the .NET world. Microsoft is trying to remedy the situation by buiding something called “ObjectSpaces”, however its still in beta and not mature enough to entrust your enterprise business on.23. More Productive Coding ToolsJava IDEs are superior in their support for coding tasks. Features like code refactoring, intention actions, superior code browsing (i.e Find Usages) and robust code completion are superior to what you find in Visual Studio.NET. In fact, Visual Studio.NET is known to unintentionally erase code.24. Cross Platform Integration with Other LanguagesIntegration with Java from other languages like Perl, PHP or Python is cross platform. In otherwords, I can take my PHP scripts that talk to Java and run in windows, place them in a Linux box and have them work without a major porting effort.25. Higher Paying JobsOn the average a Java programmer earns quantitatively more than a VB programmer with the same number of years experience.
Share the article!