Java vs .Net
The argument of .NET vs Java has been around for a long time and there’s no clear cut winner. Both are valid development environments, with pros and cons to both. Here are 4 links to balanced articles on .NET vs Java:
Article 1
Article 2
Article 3
Article 4
From “There’s More to Java vs .Net Than Technology”, I found some interesting excerpts:
According to Gartner analyst Mark Driver, that’s the reality—most large organizations are using both platforms. In fact, he rarely encounters a company running only one. And although he sees plenty of momentum right now around .NET, Driver says that’s simply because it’s a newer platform. “There’s a lot of hype around it,” he says, while Java isn’t as exciting because it’s no longer new. The Java programming language has been around for about 10 years; Sun first introduced J2EE in mid-1999 as a platform-independent, Java-centric environment. Microsoft, in turn, announced .NET in 2000 as a major new platform and infrastructure strategy for the company.
Given that large corporations need to keep both environments strengthens the fact that it is based on requirements. We believe for the LMMS current and future requirements, Java is the best fit for us. A common theme in all articles is that if you’re looking for a portable and robust solution, Java would be the one to go with.
Another interesting point from this article is from the cost prospective:
His advice includes carefully considering the product development lifecycle. If you’re looking at a three to five-year lifecycle, he says, where time to market is dominant, .NET might be a better choice, other things being equal. That’s because in shorter development cycles in which upfront costs are dominant, Microsoft can be a plus. “For ease of use and produce-ability, Visual Studio is a very, very nice development environment.” Although there are no absolutes, he emphasizes, Visual Studio can mean that .NET is a faster and cheaper choice for shorter development cycles. On the other side are the larger costs and longer development time of a five- to 10-year lifecycle, or projects with more than 500 concurrent users and heavier legacy integration features. In those cases, Driver says, consider the additional flexibility of being able to change course over time with less impact. That points to a Java platform, because “I can switch middleware and I can switch tools, not at zero cost, but at less cost.
This is a comforting fact for us given the potential scale of the project and the ever changing requirements for humanitarian aid work out in the field.
Another key question to the .NET vs Java argument is the availability of programmers, especially on the Java side. This has changed in recent times. Given that when I went to University, the majority of classes used Java, open source projects and tools, it’s no surprise that the numbers have balanced out. The comment that I pay special notice to is in regards to skill level, where the higher the skill level, the more balanced the availability of programmers from both sides are.
Who you can find also depends, of course, on what skill level you’re looking for.
At Number Six, Lyons says, the company needs high-end, sophisticated developers for both platforms. “At that level, I can’t say that there’s any difference,” Lyons says, “either in salary or in ease of finding [candidates].” If you’re just beginning a .NET project, Lyons says, “you might find people on the Visual Basic side, but [they’re] not really enterprise designers.”
And I definitely like the way this article ends, because it not only helps reassure that using one of the two platforms is not a cause for a concern, but being that they have to compete only makes these development platforms stronger.