Fog Creek Software
Discussion Board




Welcome! and rules

Joel on Software

what has joel got to do with .net

I'm confused. Why does Joel have a forum on .net, he writes his fog-bugz software in c++ and doesn't do anything with .net right ?

Joel 2
Wednesday, September 08, 2004

It was my understanding (based on some of his posts/articles) that he's distinctly *anti* .NET (at least at the moment)

Sgt. Sausage
Wednesday, September 08, 2004

In an earlier article he mentioned they have a strategy of exploring .Net through internal use. They are checking out the dog food.

Li-fan Chen
Wednesday, September 08, 2004

I think Joel's main beef is that the .NET runtime is massive and likely to be on 0% of the typical user PC population.

This problem seems to be completely lost on 99% of the .NET enthusiasts but IMHO its huge and our company will never consider .NET until the runtime is more or less as likely to be on a PC as IE is today.

Greg Tomkins
Friday, September 10, 2004

Yeah, it used to be that I would avoid MFC because I didn't like the bloat that it caused.

.NET has managed to take this to a totally new extreme level - now you get to ask people to download more than 20 megs of stuff to run any type of simple .NET app.

It's like they're trying to win a prize for "most bloated framework".

None of this is a problem on the server side, of course, but for client side development of downloadable type apps, it is just ridiculous. They seem to be in complete and utter denial about the problem - I haven't heard even the slightest information on any plans that they have to solve the problem.

Michael
Friday, September 10, 2004

So do you still avoid using MFC? Has Microsoft stopped being in denial about MFC's bloat and made it magically disappear?

Or isn't it rather than an extra MB or two simply became totally irrelevant with today's connection speeds, disk and memory sizes?

Those 20 MB are only needed once, not for every .NET program. Look at DirectX, the current end-user redistributable weighs in at over 30 MB. Hasn't stopped anyone from playing games as far as I can tell.

The problem with .NET is that many people don't have it yet, and that's tied to lack of a "killer app" on the client side. The absolute size of the framework is barely relevant here, people are downloading ten times the size of the framework in porn videos every week...

Chris Nahr
Saturday, September 11, 2004

Indeed - in VB4 days, many developers complained that the bloated VB runtime would prevent them from selling software, and urged MS to make it a part of the operating system. Eventually the problem went away; there were enough VB apps that you could assume most users would have it already, and speeds had increased to the point where it was easy to get if they didn't.

Also, note that Microsoft is in the process of pushing XP SP2 to users via Windows Update, even though it's 10x the size of the .NET Framework. Wouldn't surprise me at all if they end up doing the same thing with the 2.0 version of the Framework, probably bundled as part of some security update.

Mike Gunderloy
Saturday, September 11, 2004

"Wouldn't surprise me at all if they end up doing the same thing with the 2.0 version of the Framework, probably bundled as part of some security update."

And here's the funny thing with .NET - this is of no value if you want to distribute a .NET 1.0, or .NET 1.1 application.

.
Saturday, September 11, 2004

"The problem with .NET is that many people don't have it yet, and that's tied to lack of a "killer app" on the client side."

Why doesn't MS make a Word.NET? That would get the framework out there pretty damn fast. Isn't their apparent lack of enthusiasm for .NETifying themselves a bit disturbing?

"The absolute size of the framework is barely relevant here, people are downloading ten times the size of the framework in porn videos every week..."

Probably not to PC's owned by Fortune 500 employers. And if they did, unlike the framework, they're probably not installing anything.

Greg Tomkins
Sunday, September 12, 2004

> So do you still avoid using MFC?

I actually still avoid using it, although not because of bloat anymore - mostly because I think that it is crappily designed and tends to paint you into doing things just in a certain predefined way.


> Or isn't it rather than an extra MB or two simply became totally
> irrelevant with today's connection speeds, disk and memory sizes?

That's true. But 20+ MB is a lot different than 1-2 MB.


> Those 20 MB are only needed once, not for every .NET program.

And when you're the one that needs to install it, it really sucks.


> Look at DirectX, the current end-user redistributable weighs in
> at over 30 MB. Hasn't stopped anyone from playing games as far
> as I can tell.

There are many factors that make games different. First, you don't download games since they have a massive amount of content on them, you get them on a CD. The 20+ MB runtime isn't a problem for CD distributed software, it is a problem for downloaded software.

Also, DirectX 8.1 comes built in to XP gold - there is nothing to install or distribute if you target that. Furthermore, DX9.0b (or whatever letter) is distributed as a part of the SP2 release, so that also will push it out automatically to a lot more systems.

By contrast, there is no version of .NET at all on a plain XP gold machine, and in some kind of bizarre stroke of incompetence, they seem to have never bundled the .NET runtime into either SP1 or SP2 downloadable versions.


> The absolute size of the framework is barely relevant here, people
> are downloading ten times the size of the framework in porn videos every week...

This would be true if everyone in the world was using broadband instead of 56k modems... But we're not there yet.

Michael
Sunday, September 12, 2004

> Why doesn't MS make a Word.NET?

Remember that the application / business software divison of Microsoft is totally separate from the developer tools division that produces .NET.

The developer tools division is responsible for hiring the starry-eyed evangelists / snake-oil salesmen that promote .NET and claim that it solves all the world's problems.

The client-side application developers at Microsoft have to live in the actual real world where the current client-side problems of .NET rear their head.

Some of the biggest problems are performance related, especially with regard to working set (.NET was originally designed as a server-side mechanism for hefty machines with plenty of memory), as well as the lack of a good UI library (winforms 1.x is just a minimal wrapper around Win32).

Then combine this with the need to inter-op with many legacy components, and you've got an awful lot of complexity added, for very little real benefit.


I really think that if you go .NET you've got to go all the way. If you have to keep part non-.NET stuff and try to integrate .NET on top of it, you have really just ended up dramatically increasing the complexity of the entire system, with all of your legacy problems still lurking around.

That's why there is a big push for Avalon - Avalon will finally deliver a potent UI library in managed code, so you'll be able to accomplish a lot more without reverting to legacy interop.

It looks like they have made quite a bit of progress in WinForms 2.0, though - that might have some potential, but will still probably have some gaps.

Michael
Sunday, September 12, 2004

"Why doesn't MS make a Word.NET?"

Because you don't throw away working, tested code.

Brad Wilson (dotnetguy.techieswithcats.com)
Monday, September 13, 2004

I'd say more than Joel is biased against .NET here. :)

.NET for web applications is fantastic.  It has its problems, sure, but overall when compared to other environments, I'll work with ASP.NET in a heartbeat.  That's saying something for me because here, where I work, I detest web applications and find that they are used in many situations where a fat client is far more justified.

.NET for WinForms is still maturing but that doesn't mean you're dead in the water.  3rd party components more than make up for the slack, and the backwards compatibility of the .NET Framework is nice.  (Unless you explicitly bind it to a version, or... well there's some rules involved.)

What I know about .NET is that it is Visual Basic on steroids.  I get the development time of Visual Basic without having to give up power or performance.  In a corporate environment where I control the desktop and can dictate that the Framework be rolled out to every desktop -- .NET is and has been the sole reason I've been able to keep up with my company's internal application demands.

As for .NET not being on Windows XP:  there would be many cries of outrage if Microsoft installed the .NET Framework.  On the SP2 CD you'll find a DOTNETFX folder which contains the runtime, and you can choose to install it from the "Additional Tasks" option.

.NET 1.1 was included with Windows Server 2003.  My primary complaint was that it didn't include the 1.0 Framework as well.  .NET 1.5 and .NET 2.0 will be included as a base part of the operating system for all future Microsoft releases.

And Microsoft is using .NET internally.  I think as time goes on we'll find more and more of their products with .NET parts attached.  There's occasional mention of its usage on blogs.msdn.com.

Brian Schkerke
Monday, September 13, 2004

"Because you don't throw away working, tested code."

Whether Word actually 'works' is debatable. It's less debatable that VB6 worked, yet MS seems to be throwing it away, and pressuring us to do likewise with all our code that depends on it.

Greg Tomkins
Monday, September 13, 2004

p.s. BrianS - your post is interesting, sincerely. But I jotted down the first time I heard that 'framework will be in the next OS' comment and it was early 2002. So forgive my cynicism.

Greg Tomkins
Monday, September 13, 2004

> As for .NET not being on Windows XP:  there would be many cries of
> outrage if Microsoft installed the .NET Framework.

Won't you get similar cries of outrage if you try to install it with your own software package? (not applicable if you control the desktop or server environment, of course).

This is another problem area - Microsoft so bungled the early marketing and branding effort of .NET, that many people have confused it with the whole Palladium/NGSCB thing. I've heard several people object to .NET being installed, because they thought it had something to do with installing DRM mechanisms on their machines to prevent them from listening to music and what-not.

And while I'm bad mouthing .NET, I might as well also complain that it would force me a step backwards in some design patterns, since it doesn't allow use  of several technologies that are part of modern C++ design such as multiple inheritance and full templates. I don't want to take a step backwards in technology and give up these techniques.

Michael
Monday, September 13, 2004

Sure, there'd be many folks who'd complain.  Then again I'd hope that if I was marketing a package separately that derived a great deal of power from the .NET Framework that I would be able to price my product accordingly, or offer options that my competitors didn't have.  In the end the consumer is the driving force - that hasn't changed in years.  BUT... Java and C# both force rules on the programmer that lead to better, more functional software.  The number of times I've heard "I just want it to work!" -- heck, from my own lips! -- makes that point crucial.  If the software written with .NET works and the software written using MFC/Win32 API doesn't... it's a no brainer.

I would also expect that you would need to prominently display the reliance of the software on the .NET Framework.

The number of successful Java applications makes me wonder if the Framework deployment is a moot point.  Java's binding isn't half as sophisticated as .NET's but it has been extremely successful.  Yes, there are many nightmare stories out there of differing runtimes from different vendors and all of that, but... well, there's only two vendors in town right now.  (Three if you count GNU.  I think there's a fourth, but I can't remember right now.  GNU, Mono, Microsoft.)

Greg, cynicism is good.  Balance can't exist without folks at both ends.  (You know, the whole "light cannot exist without dark" crap the philosophers throw around. :))  And you're right -- it probably was that early.  But... the only operating system released since that time was Windows Server 2003 and it did include the framework.

Microsoft made a pact some time ago to not introduce major functionality using service packs.  Of course they've broken it hundreds of times since, but hey, it makes a good defense for now while I go eat dinner. :)

Brian Schkerke
Saturday, September 18, 2004


I guess it doesn't help that if you install the .Net runtime with your app and it requires a re-boot then you are at risk of failing the new ISV Competency tests for Certified Partner status ...

Anon
Thursday, September 23, 2004

Another side effect is that installing the .NET framework adds some kind of ASP.NET debugger user account.

This can have a side effect that changes how booting up works - if there was just one user before, it would log on automatically, but after this other user account is added, you get the "pick user" screen at logon instead (with just one choice on it).

This is not cool that installing an app that uses the .NET framework changes how booting up works.

Michael
Thursday, September 23, 2004

Michael wrote:
> The absolute size of the framework is barely relevant here, people
> are downloading ten times the size of the framework in porn videos every week...

>This would be true if everyone in the world was using >broadband instead of 56k modems... But we're not there >yet.

Your argument is flawed unless you are assuming that only broadband users download porn video.

!
Wednesday, October 06, 2004

Microsoft have given up. Bill opened the war-chest, gave everyone their fair share and toddled off into semi-retirement.

To make .Net viable Microsoft needs to get behind it and push like crazy. No way. From now on MS is going to be run by appointed managers who will do anything to avoid "rocking the boat", not trying to re-shape market segments.

If your a software developer don't base your career on the .Net Framework.

Paul Allen, Bill Gates etc have had a long hard look at the perils of their success: anti-trust suits, EU suits, etc and figured: "Where's the upside here ? I'm outta this Jack!".

My tip for a long term development platform future: LAMP, and maybe RealBasic.

Robert Blair
Monday, October 11, 2004

*  Recent Topics

*  Fog Creek Home