Fog Creek Software
Discussion Board

Welcome! and rules

Joel on Software

[Newbie] Added-value of .Net?

I've spent the past week taking a look at VB.Net. Appart from a few (good) changes to VB (which could probably have been implemented without going any further and especially without breaking compatibility), I was wondering what the point of .Net really is, especially considering the required rewrites + change in hardware to run apps at a comparable speed.

Unless I'm mistaken, since the goal of the .Net layer is to present an object-oriented view of the underlying Windows API, I don't see the added-value as compared to programming with OOL like Delphi, C++, or VB.

Since just  about everyone has stopped writing Windows applications in procedural languages like C a long time ago (not sure if C is even required for device drivers nowadays), and even Petzold called it a day after five editions of his Bible... was this huge layer that is .Net really necessary?

Please enlighten me :-)

Saturday, September 18, 2004

Some comments.

1. .Net is about more than rich UI. In fact, I'd say that ASP.NET is far more widely used than Windows Forms.

2. .Net is about more than an OO layer on Windows. It's about a consistent development platform for all parts of development on the Windows platform: command line, GUI, server side, interop.

3. .Net is about more than VB.NET. In fact, it's about more than any specific language. Having a platform where cross-language interop is brain dead simple is a big win.

4. .Net is about more than Win32. It's a seamless transition to 64-bit Windows. It's also, by using technologies like Mono, a (mostly) seamless transition to Unix, Linux, and the Macintosh.

Brad Wilson (
Saturday, September 18, 2004

OK, here's the "added value" of .Net on windows -  a unified, object-oriented framework with compile-once, run-anywhere (like Java)  capability. I have written several .Net executables for my linux systems in the office.

In addition to his, VB 6.0 and VB .Net are 2 totally different languages. They share a similar appearance, but in fact VB .Net shares more with C# or Java than meets the eye.

Also, after coding C# / .Net for about 2 years now, VB 6.0 just looks ugly.. ;)

Monday, September 20, 2004

"compile-once, run-anywhere (like Java)  capability. I have written several .Net executables for my linux systems in the office."

Uh, really? Is that under Mono? Does it really work?!? (I have to assume WinForms doesn't work, but it would still be Rad...)

Monday, September 20, 2004

Thx guys for the input.

Monday, September 20, 2004

"I was wondering what the point of .Net really is, ..."

Well, if you want to know what the point REALLY is, it's called VENDOR LOCK-IN in the guise of INTEROPERABILITY.

Microsoft tells you one thing and sells you another. Oh sure, .Net is what we like to call a "standard" that you can implement, but watch out because we're going to patent it and break compatibility.

The other point is that they can sell a whole bunch of new stuff without having to fix the old stuff.

Friday, September 24, 2004

On the other hand, if .Net is successful, and the Mono/DotGNU guys hit the home run... we'll finally have an easy way to write cross-platform applications so that Linux and MacOS become viable alternatives.

Friday, September 24, 2004

I don't believe Mono will really take off.
Two problems I see are that:

- they are trying to duplicate an API which is not properly documented: the MSDN documentation is the only real source for a large part of the class library: it is inevitably ambiguous and there are already differences between Mono and MS implementations.

- they are chasing a moving target.  .NET 2.0 has compelling new features which will quickly make it the de-facto standard - and there will be more evolution down the line (Avalon,...).

It reminds me of when OS/2 was a "better Windows than Windows" but could not keep up after Windows moved to Win32...
I think the open source developers will eventually get bored of trying to play catch-up all the time.

Friday, September 24, 2004

"It reminds me of when OS/2 was a "better Windows than Windows" but could not keep up after Windows moved to Win32..."

Actually, that was an entirely different situation.

IBM had a license to reuse the 16-bit Windows source code. That's how OS/2 had perfect 16-bit Windows compatibility: it used the actual source code from Windows 3.x.

Their license, however, did not include the source code to Windows NT (and, therefore, none of Win32).

Brad Wilson (
Sunday, September 26, 2004

"- they are trying to duplicate an API which is not properly documented..."

"- they are chasing a moving target...."

These sound a lot like the common criticisms of the Wine project.  However, they aren't really relevent to Mono, because they miss the point of Mono: Mono isn't just about running Windows programs on Unix.

Mono was intended primarily to provide a superior development environment for its creators, who were struggling under the burden of the C/GObject relic from times gone by.  Even if they stopped implementing new MS APIs today, they've already accomplished this goal.  Mono has already taken off like wildfire among many key GNOME developers, among others.

Mono isn't really implementing an "undocumented" API because their goal in the first place was just to implement the ECMA standard parts.  Implementing System.Windows.Forms was always a low priority.  Novell is advocating that those who want to use .NET for cross-platform use Gtk# or one of the other truly cross-platform APIs instead of Microsoft's APIs.

David Holmes
Saturday, October 23, 2004

*  Recent Topics

*  Fog Creek Home