Hacker News new | ask | show | jobs
by bad_user 5462 days ago
The problem with .NET is that nobody knows what it is.

     .Net framework relies on the Win32 API to 
     interact with the operating system
You're saying it as if Java and Java Swing do not interact with Windows.

It is true that (e.g.) Windows Forms is built with Win32 in mind and is using native widgets, but on the other hand nothing prevents you from porting it and you can check out the Mono implementation, which is functional and runs on Linux and OS X.

Of course, Java Swing is a much more portable implementation of a GUI toolkit, but even Java Swing makes Win32 calls and it is also cursed with the common-denominator problem.

    the dependency of .Net on Win32
Other than a couple of instances where you can clearly see that the design of Windows had a clear influence on .NET, Win32 is certainly not a dependency of .NET

Sure, most .NET apps won't run on Linux or OS X, but that's mostly because their developers have been interacting with native code that isn't easily portable, but P/Invoke is so kick-ass that writing new managed bindings to native modules is a piece of cake, so devs are inclined to do that when it makes sense for them, instead of (say) search for a portable alternative.