Views
- State: published
Why Java is Better than .NET, Reasons #91 to #95
|
|
20030128071207
Oh well, look like we are closing in to our goal of 101 reasons.
Here's are 5 more additions to the list
91. No Evil Type CoercionUser defined implicit conversions allow a class to define conversions from another class without requiring a explicit cast or a call to a conversion function. This construct has been the source of numerous hard to track bugs, ever since in was introduced in C++ and VB [ http://archive.devx.com/premier/mgznarch/vbpj/1995/11nov95/progtech.pdf ], that it has been nicknamed the "Evil Type Conversion". Java took the good parts of C++ and dropped the bad, in contrast C# has reintroduced this problematic construct. To read more about its faults see http://www.geocities.com/csharpfaq/implicit.html.92. Concurrency UtilitiesDealing with concurrency is an extremely difficult task and should be left only to the most highly skilled of developers. Doug Lea has written an extensive library of utilities that addresses the complexity of dealing with concurrency. Aslo there are other similar packages written for Java (JHPC and JThreadKit). The JCP is also in the process of developing a specification [JSR-166] that is based on ideas of Doug Lea and others.93. Parse XML FasterA recent observation done comparing MSXML with a java based xml vendor: "I did another benchmark for fun tonite, parsing a small (12-line) XML file using Electric XML running on CLR (compiled using J#) versus the same file using the native microsoft XML parser MSXML. surprisingly enough, Electric XML was twice as fast in all of my simple tests, whether the parsers were called from J# or C#. the contents of the file was read just once into a string, and then the string was parsed 50,000 times to generate an accurate value. Electric XML parsed the string in 0.14 milliseconds, and MSXML parsed the string in 0.28 milliseconds. not a big deal, but an interesting result. Electric XML running on a JVM parses the same string in just 0.09 milliseconds. so EXML running on a JVM is three times faster than MSXML on a CLR, at least for small files. "94. Mature PlatformJava has proven itself in many large deployments over the years. ".NET is at version 1.0, the C# language is still evolving and there's not enough real world use to evaluate." -sosnoski95. Open Source Multicasting LibrariesJava has a wealth of open source libraries that exploint the multicast capabilities of the network. There is the JavaGroups project that has been used by JBoss to provide clustering capabilites, Spread that provides high performance multicast and group communication, Reliable Multicast, Proactive that provides a comprehensive library for parallel, distributed and concurrent programming and Java Rendezvous that implements Apple's Rendezvous [ftp://ftp.strangeberry.com/pub] dynamic IP protocol. A google search for "java multicast" reveals 116,000 entries, a search for "c# multicast" reveals 2,850 entries. I now wonder if there are any multicasting libraries for C#.
Last modified 2003-08-17 06:01 AM


