Archive

Archive for the ‘Technical Ramblings’ Category

Java vs .Net

January 30th, 2010

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.

fruffolo Technical Ramblings

Why Java?

December 1st, 2009

Ok .. let me ask the question that comes up – LMMS is built on a Java environment and is running on the Window’s Mobile O/S. There is lots of media attention currently on Google’s Android O/S and how this will replace Windows. Does a demise of Windows Mobile O/S (I’m a Mac user and I can’t help but grin at that prospect) have any bearing on the LMMS application?

Perhaps we’re getting a little too caught up on emerging trends versus the implication of business applications? I can’t help but think that if businesses foresee a shift away from Windows O/S there would be a correction in delivery of business applications that can run of competing O/Ss.

Beside, I doubt developers, hardware providers and network folks would walk away from Java. Further, my understanding is that Android (which is built using Java code) allows for application development that makes use of Java’s libraries. Granted shortfalls exist … but that will likely just strengthen the programming evolution of Java or Java-like languages. (.. sorry I’m here to ask questions, not answer them)

Once we’ve got the O/S addressed – there are some people who feel that a .NET application would be more suited over a Java application. Is this cause for concern? Comments?

Jay Narhan Technical Ramblings