Java platform Pros
|
C#/.Net Pros
|
The CLI submissions are only a small subset of the C# and the CLI does NOT make up a platform like Java. It's more like C. Both C# and C provide a basic set of APIs. Anything more 'advanced' is provided through extension libraries that may or may not be cross platform (just like C). You could write a sound library for C# that uses DirectSound and it would only work on Windows. On the other hand, you could write a sound library for C# that uses OpenAL. It would work on all platforms where OpenAL is supported. Many features found in Java (such as GUIs, Telephony, Speech, Sound, 3D) aren't supported by The cross platform hopes for C# pretty lie in OSS hands. It is up to the OSS community to write 'standard' cross platform libraries for C# (just like we have for C). C# interfaces nicely with C so it is likely that many cross platform libraries for C# will use the corresponding C libraries. This will be made easy by the fact that C#, unlike Java, has outstanding support for communicating with native code. The CLI is much more like C+LIBC than the "Java Platform". Java is a meta-operating system. It supports a huge set of APIs that are consistently implemented on all platforms. C#/CLI does not always provide a consistent API on all platforms but it allows and encourages you to rely and exploit on the native APIs available on the underlying operating system. Which is better? It really depends on what you want to do. Java is currently the only choice for cross platform development. C# however, appears to be a good replacement for C -- especially on the client side. C# complements the underlying operating system whereas Java tends to hide it. This is why you will see a lot of C#/GTK# applications for Gnome in the future but not many Java/GTK applications. |
No comments:
Post a Comment