Fog Creek Software
Discussion Board

Welcome! and rules

Joel on Software

Once again - Why .NET (elevator version)?

I try and post this question someplace every six months or so.  Haven't had a good answer yet.

Why on earth should I develop a desktop app using .NET?

The "elevator version" means the answer is like the elevator version of your business plan - if you can't explain your business in the short ride you *might* just take one day with a VC in a elevator you're hosed.

A dozen sentences or so should do it.

Mitch & Murray (from downtown)
Monday, March 14, 2005

I think you need to add "as opposed to..." to your question. Eg. why develop in .NET instead of: VB6, VC++, JavaScript/HTML, JSP, RealBasic, Python, etc. (pick one).

Monday, March 14, 2005

Because it's a highly productive development environment. You would choose to go to .NET for the same reason that you would consider something like Python.

Dennis Forbes
Monday, March 14, 2005

Because you can develop well structured, bug-free applications really fast and easily using .NET.

As always, though, it depends upon what kind of application you are developing for the desktop. Perhaps the reason that you haven't had a good answer is that you're asking the wrong question.

Colm O'Connor
Tuesday, March 15, 2005

First of all .. it's not an all or nothing approach. In some cases, you can ask the question " Why .NET as opposed to ..." as pointed out by a previous contributor. But you can also ask the question "Why .NET along with ....these other efficient and useful development languages/platforms".

You don't HAVE to completely ditch everything you're using in order to adopt .NET. There are reasons to utilize parts and pieces of it.

1) The IDE is cleaner and more unified than it's predecessor

2) Interoperability between .NET apps written in .NET languages is (more or less) seamless.

3) OOP is enforced rigorously (sometimes overboard). So whatever non-OO code you could get away with in VC++, you won't get away with it here.

4) The Framework is connectible and extensible. Look at Microsoft Operations Mamagement. Now if you instrumented your .NET app correctly, it could give you extremely valuable information about what happens on the system and to your app without you writing CUSTOM code to extract it. Your customers will like that.

By the way, not too long from now you will be wondering ...

"Why Avalon as opposed to .NET" . :-)

Tuesday, March 15, 2005

It really is better for web apps.

You're not left with the spaghetti-code of ASP, PHP, or cgi scripts.  Plus (a major advantage for script writers) you can actually debug a program in a debugger just like you used to be able to in 1990's instead of using printf-style logging.

As for J2EE, servets just don't do enough out of the box.  So you're stuck trying  to decide what framework you need to lay on top of the servlets.  The ASP.NET framework is standardized and pretty darn good.

If you're writing client-side apps, you probably don't need or want .NET.

Tuesday, March 15, 2005

because you like to stir trouble?

Tuesday, March 15, 2005

Because I said so.

If you want a more reasoned answer, I suggest the 434,135,531,412,167 responses, articles and even elevator pitches that have already been made on this dead topic. Those who get it; get it. Those who don't, well...they do Java.

Google my friend. Google.

Mark Hoffman
Friday, March 18, 2005

You should try .Net and C# as a learning experience. Open minds are very important for development and self development.

Like in the scientific method one should test something based its own inherent attributes and facts not on the authority of any individual or organization.

There are several open source applications you can also use that appear to emulate .Net, C# and the Visual .Net IDE.

Robert Hotto
Saturday, March 19, 2005

Really, you should be thinking from the perspective of "I've got this problem, how do I solve it?". .NET may be the answer, or it may not.

And if you're talking to a VC in an elevator then you probably want to shift the focus on to the problem, not which technology you're going to use to solve it.

Colm O'Connor
Saturday, March 19, 2005

Because .NET, or something very much like it, is the future of computer programming.

Tuesday, March 22, 2005

"You should try .Net and C# as a learning experience. "

That's exactly what I'm doing, I'm trying to build a semi-advanced website with ASP.NET and C#. However, I'm wondering what's the difference between using VB.NET, C# or any other .NET programming language for my project?

I thought C# seemed pretty cool to learn, but that's not a very strong argument. Any expert thoughts on that?

My code has "Low Carbs"
Friday, March 25, 2005

VB.NET vs. JScript.NET vs. C# is purely a matter of preference.  They're all functionally equivalent and well supported by VS.NET.  I'd recommend against JScript.NET, all else being equal, as it has much fewer examples on-line and fewer developers who actually use it compared to C# or VB.NET.

Personally, I like C# and I've seen way too many people who new VBScript get lost in VB.NET because they couldn't break out of their bad old VBScript habits.

I wouldn't suggest going with a rare .NET language like Perl.NET or COBOL.NET because, frankly, they're not as well supported.  If you know what you're getting into and you have a valid business reason for going with RandomLanguage.NET, go for it.

Richard P
Friday, March 25, 2005

Mitch & Murray (from downtown) what do you guys use now days?

Li-fan Chen
Sunday, April 24, 2005

*  Recent Topics

*  Fog Creek Home