Java API and Microsoft's .NET API: a Comparison
Nerval's Lobster writes "Previously, developer Jeff Cogswell focused on the respective performances of C# and Java. Now he's looking at yet another aspect of the languages: the runtime libraries—what exactly the libraries are, how they are called, and what features the languages provide for calling into them. Examining the official Java API (now owned by Oracle) and the official .NET API owned by Microsoft, he finds both pretty complete and pretty much a 'tie' with regard to ease-of-use and functionality, especially since Java version 7 release 6 allows for automatic resource management. Read on and see if you agree."
However, I mostly code in C# .NET and I dabble in Java in my spare time to model financial markets. What I have found is that C# has some powerful features that other languages do not have. This allows the .NET framework to be a little more robust than Java. Also my opinion is that C# and .NET creates a more syntactically elegant and coder friendly experience whereas Java is good, but not as good as .NET.
In closing, C# .NET > Java.
Please address .NET hate-responses to /dev/null
As they are the harbingers of the new age, post dotcom world, where overspecced hardware fixes everything, where there are legions of entitled douchebag "developers" who took a certification course, and of apps which can't run in less than 8GB of memory (our resident BOFH hung up on our developers when they asked for a 64GB VM because they kept getting OOM errors in Java).
In short, both languages rode the crest of the cultural revolution where it is now OK to suck, to offshore code development with no expectation of quality coming back, of "agile" methods where your next version is always going to be the stable one. I'm not exactly saying that these languages CAUSED any of this, but there is at least a temporal correlation.
Yes, I am a Unix guy, and yes, I have grey hair.
I want to delete my account but Slashdot doesn't allow it.
C# was the direct result of MS being blocked from using Java,
No, no it wasn't.
It was that Sun owned the standard and told Microsoft to quit violating the standard or call it something else.
Sun sued and won in court, because they were right.
If the situation was reversed, I'm sure you'd be saying Microsoft was in the right for defending C#.
Microsoft was always free to use Java and write their own version, as long as it conformed to the standard. But Microsoft being Microsoft, "standards are for pussies."
--
BMO
There are ciritical fixes released for the .net API every so often via windows update. Neither are flawless in that regard.
True, neither is flawless.
But one of them appears to have been considerably better designed (or better QC):
.NET 4: 34 vulnerabilities Released 2010-04
Java 1.7: 216 vulnerabilities Released 2011-07
or the previous incarnations:
.NET 2: 53 vulnerabilities Released 2006-12
Java 1.6: 432 vulnerabilities Released 2006-01
Java experiences 6-8 times the number of vulnerabilities, even over shorter time frames.
Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
No, they weren't blocked from using Java.
They were blocked from creating their own non-standard Java.
Because Sun owned the trademark and the standard. Now owned by Evil Larry.
You can create your own language and API, but you can't call it Java if it doesn't meet the standard. How difficult is this to understand?
Poor persecuted Microsoft.
--
BMO