Jeff Dillon

     
 
.NET and Mono: The libraries
I have been playing with .NET and Mono on my own time recently. Java the language and C# are so similar that saying one is any better than the other is waste of time. As a Java developer who likes Java, I really like this similarity. This means that I can write java-like "native" windows code to do windows specific things. I always hated C++/COM and C#/.NET is exactly like Java with system dependent libraries. This is great if I need to do windows development.

Where this starts to fall apart is with the .NET and Mono libraries. The Java API writers have always been very careful not to introduce an API which does not make sense on all platforms. This makes Java extremely portable at the cost of not being able to do native system programming in pure Java. With .NET, Microsoft went ahead and wrote all kinds of APIs for accessing the registry, accessing COM objects, changing NTFS file permissions, and other very windows specific tasks. In my mind, this immediately eliminates .NET or Mono from ever being a purely system independent platform. Yes, it is possible to implement some sort of Windows Registry Proxy that would run on Unix. Would it always work? Of course not. But, more importantly, is this a good idea?

I think some of this stems back to the issue that many people still do not see the difference between Java the language and Java the platform. The Mono C# compiler is a great piece of work. In my mind, C# the language is absolutely superior to C++. However, with C++ we learned the lesson that STL had portability problems. The .NET and Mono libraries are no solution to the libraries that are used with C++.

It's the libraries stupid.
@ 10:42 AM PDT
 
 
 
 
 
June 2004 »
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
8
11
15
19
20
21
23
28
   
       
Today

[RSS Newsfeed]

 
© Jeff Dillon