Fog Creek Software
Discussion Board




I finally got it about .NET

I have been using Visual C# / Microsoft .NET for several months, now.

I was working on Windows applications, and encountered a sea of countless bugs, badly designed components (for example the WinForms Grid component is a nightmare - bind it to a DataTable, and it crashes on many normal user actions), etc.

However, many people in the forums kept raving about how great .NET and C# is.

I didn't understand ... why do this people say it's great, while I discover bug after bug after bug.


Then, in the last month I have been working on a ASP .NET application.

Suddenly everything works well. Very few bugs. High productivity components (compared to other technologies I know, like ASP and PHP).


So now I understand:

Microsoft focused on building web applications with Visual Studio .NET, C#, ASP .NET.

In this area, VS .NET is excellent.

At the same time, they neglected working on the Windows apps side of .NET.

The decision is understandable - they are competing against Java, businesses like web apps a lot, now, etc.


For MS, resisting attacks on the desktop front is not a problem.

However, they are very strongly attacked on the server front - so they are counterattacking hard with VS .NET and ASP .NET.


So, to summarise:

For web application, the .NET Framework, VS .NET, C#, ASP .NET, ADO .NET are simply excellent, very productive choices.

for Windows applications, the .NET Framework components are not well thought out, and are full of bugs. For Windows appls, VS .NET is a very bad solution, when comparing with VB 6 or Delphi 7 (which is my favorite choice for Windows apps development).

The disconnected architecture of ADO .NET works very well with ADO .NET, but doesn't fit the Windows application model.

Jordan (not a native English speaker)
Monday, October 20, 2003

Sounds reasonable to me.

Certainly, .net is NOT appropriate for desktop apps.  Expecting your users to install a 60 MB collection of mystery files (the .net runtime) is just too much overhead.

(BTW, I know that the runtime distribution size is 20 MB *compressed).

I can't see any reason to switch from vb 6 to .net.
(I have considered delphi as well but it looks like they are jumping on the .net bandwagon with version 8.  Looks like no improvements on the WINDOWS 32 bit side of things in 8. It's all .net enhancements.

Who's going to serve the needs of the desktop programmer?

Entrepreneur
Monday, October 20, 2003

wont' anyone who buys a new computer in the future have the .NET framework installed already?

rz
Monday, October 20, 2003

It depends.

OEM Windows XP with SP1 includes .NET 1.0, but as an optional component. OEMs may choose to have it installed or not installed.

Brad Wilson (dotnetguy.techieswithcats.com)
Monday, October 20, 2003

I've been using VB.Net for a desktop app (switched from VB6) and think it's fantastic.  Full OO language, robust error handling, powerful IDE, comprehensive .Net Framework class library.  Also, the GUI elements in the Windows.Form library are much more flexible than the comparable VB6 elements.

Yes, the .Net runtime takes some space hard drive (40 MB, not 60.)  In the age of 80 GB+ hard drives, who cares?  Many or most users will already have it installed anyways, if they've been using Windows Update.

Robert Jacobson
Monday, October 20, 2003

/~~ The disconnected architecture of ADO .NET works very well with ADO .NET, but doesn't fit the Windows application model. ~~/

That should read:

The disconnected architecture of ADO .NET works very well with ASP .NET (HTTP is also a disconnected architecture), but doesn't fit the Windows application model.


Also: the .NET runtime is very large, but that's not such a big problem.

The problem is that the WinForms components are sh#t. They are very buggy.

Jordan
Monday, October 20, 2003

In five years, the whole .NET runtime/Desktop thing will be a non-issue.  But by then, some new, slick, over-hyped, technology will be out and we will all be kicking ourselves in the rear wondering we we ever programmed in .NET in the first place.

Santayana
Monday, October 20, 2003

>>Many or most users will already have it installed anyways, if they've been using Windows Update.

I doubt it. I'm on a cable modem and use Windows Update and I haven't installed the .net framework yet.

If I ever find an app that I want to run that needs it, I might consider installing it - but not until then.

Also, don't forget the shear number of users that are still on dial-up - a 20 Mb install would be a huge task.

RocketJeff
Monday, October 20, 2003

which components are buggy? I just deployed a winforms app I wrote to 40 laptops and no one has had any problems with it.

rz
Monday, October 20, 2003

the reason i'm programming in .NET for the next 5 years is because it pays the rent and puts food on my table.  if something replaces it 5 years from now, then i'll just move on to that.  it doesn't make sense to say, "i'm not going to write anything in .NET because it will be replaced in 5 years time." 

but i'm glad you say that, because it means less competition for me.

riding the MS money train
Monday, October 20, 2003

"but i'm glad you say that, because it means less competition for me."

MoneyTrain,

I'm right behind you on the money train.  I'm happy to see these short technology cycles (usually equates to more work ). My post was more in regards to not fretting about the runtime size,  since most machines will have the .net framework installed or we will be moving on to the next "train ride".  So sorry to break it to you buddy, I'm still on the train....

Santayana-StillOnTheMoneyTrain
Monday, October 20, 2003

"In five years, the whole .NET runtime/Desktop thing will be a non-issue.  But by then, some new, slick, over-hyped, technology will be out and we will all be kicking ourselves in the rear wondering we we ever programmed in .NET in the first place. "

And then it will be another 5 years until that technology is widely installed.  Lather rinse and repeat ad infinitum.  Welcome to Windows.

Milton
Monday, October 20, 2003

"And then it will be another 5 years until that technology is widely installed.  Lather rinse and repeat ad infinitum.  Welcome to Windows. "

Fire and Motion, baby.  Fire and Motion.

Norrick
Monday, October 20, 2003

Okay, I've got to chime in here.  My company is developing a large scale Windows app using C#/WinForms.  While I would certainly agree that the Windows DataGrid is crap, I'd have to say that the overall experience has greatly exceeded our expectations in stability and ease of churning out code.

We've run into a handful of minor bugs in the runtime, but I'd be hard pressed to call it "buggy".

Even if you're developing apps for the general consumer, I'd consider .NET.  Distributing the CLR isn't that bad and it almost always installs without a hitch.

BTW, if you're sick of the WinForms DataGrid, I'd check out XtraGrid by DevExpress.  We've been very happy with it...

Bill Carlson
Monday, October 20, 2003

Winforms is the future. Maybe not for "enterprise datagrid table browser" apps but for most other stuff, it really is cool.

Highly recommended:
Windows Forms Programming in C# by Chris Sells

fool for python
Monday, October 20, 2003

I'm almost exclusively a UNIX programmer, and I can tell you that .NET is great. Working with somebody else, I just set up a UNIX web service written in C that worked flawlessly with an ASP.NET application. No big AppServer runtime, just a little CGI program that happens to speak SOAP.

I haven't tried building desktop apps with .NET (on windows, obviously), but the demo apps I downloaded from Crystal Decisions were pretty junky.  I had the impression that it was more about bad distribution than anything else.

The Delphi option for desktop apps is a good one.  I've used C++ Builder for many years, which uses the same IDE and windows components.  It's easy to use and makes very good looking applications.

Clay Dowling
Monday, October 20, 2003

"for Windows applications, the .NET Framework components are not well thought out, and are full of bugs. "

Perhaps Microsoft doesn't want to give up on compiled languages like Visual C++ just yet.

Alex
Monday, October 20, 2003

"In five years, the whole .NET runtime/Desktop thing will be a non-issue.  But by then, some new, slick, over-hyped, technology will be out and we will all be kicking ourselves in the rear wondering we we ever programmed in .NET in the first place. "

You're getting .Net confused with Java.

insert troll here
Monday, October 20, 2003

"You're getting .Net confused with Java. "

Possibly MS java, but not Sun's Java.  Microsoft had a crack at Java and did manage to f it up and make it insecure.  I guess that was part of embrace and extending it.

Milton
Monday, October 20, 2003

"You're getting .Net confused with Java. "
I thought .Net was "Born Again" Java. 
I am confused now...

Santayana
Monday, October 20, 2003

"In five years, the whole .NET runtime/Desktop thing will be a non-issue.  But by then, some new, slick, over-hyped, technology will be out and we will all be kicking ourselves in the rear wondering we we ever programmed in .NET in the first place. "

...And I'll probably still be coding in C++. 

Long live native executables!

christopher baus (tahoe, nv)
Monday, October 20, 2003

"for Windows applications, the .NET Framework components are not well thought out, and are full of bugs. "

Like others have said, this is complete nonsense. Windows Forms is the best Windows GUI API in existence. Someone's been vastly overgeneralizing from a single buggy feature.

Chris Nahr
Tuesday, October 21, 2003

What I find hilarious is that the same people who would call The WinForms components buggy would say that MS is crowding out the little component developer shops if they release components that are too good.

Did anyone honestly use the old FlexGrid for a production application?  No thanks. 

Sorry but I don't want to go back to the bad old days.

Rick Watson
Tuesday, October 21, 2003

I've developed both ASP.NET applications and WinForm applications and I've never experienced all these bugs that you keep referring to.

What bugs? What problems are you having? I'm not doubting you've had some problems, but you seem to discount Winforms all together as bug ridden. Obviously, there are large number of developers who would disagree.

Mark Hoffman
Tuesday, October 21, 2003

*  Recent Topics

*  Fog Creek Home