A few days ago, the fantastic Joel Spolsky posted a great little article on the death of the Windows API.

The biggest problem with this article is that you can’t attack the individual writing it. Joel worked at Microsoft for ages and is one of Microsoft’s most knowledgeable former employees (certainly one of the more influential). He’s fantastically smart and truly gifted.

He obviously didn’t write this article off the cuff and really believes in what he’s saying.

The stir from the article has really been 2 sided: the people who agree (I won’t posit on the reasons) and those who disagree (duh). In this case, though, Joel’s arguments were strong enough that the ‘disagree’ camp has been fairly quiet, myself included. It just feels like something’s missing. Not that Joel’s missing the mark, more like a basic premise is fuelling through to a point which is following through to a conclusion which you don’t agree with.

Along the way are some very good (and valid points) but you just feel like something’s missing…

That’s how I felt, and apparently I’m not the only one. Well, someone else with more cycles than I’ve got right now took a stab at this, and I can’t say I disagree with the premise.

Olivier Travers writes this great piece with some good explanations:

However, Joel’s whole argument relies on a premise that he never bothers to back up: “[the web as a platform] is Good Enough for most people and it’s certainly good enough for developers, who have voted to develop almost every significant new application as a web application.”

After reading Joel’s memo, no doubt Epic Games will surely stop using DirectX (gasp, the latest version even) and commit to creating Unreal Tournament 2005 in the browser.

Good stuff. It doesn’t blow Joel’s piece out of the water, but then I don’t think it was meant to.

Joel’s article is great. Has a hundred valid points and needs to be listened to. Most uf “us” just don’t agree with his conclusion. Read both articles. It’ll grow hair on your chest.

Update: I did a piss poor job actually saying my opinion on this topic… Which I realised when another blogger said stuff I didn’t agree with.

Harry Fuecks wrote a piece:

Among many points he mentions how VB.NET doesn’t support VB 6 and he concludes by saying;

The new API is HTML, and the new winners in the application development marketplace will be the people who can make HTML sing.

While this is true (that VB.NET doesn’t support VB6); this is something us VB guys are used to. Every version of VB fundamentally changed the way we programmed. This is a big (huge) change, but it’s not really all that foreign to us.

What I wonder is how ASP 3.0 developers feel about ASP.NET? ASP.NET is software architecture ideals applied, which is great, but I wonder how ASP 3.0 developers, of the type who could care less about OOP and are more interested in completing projects on time, feel about ASP.NET?

Of course, fundamentally this argument is flawed as it relies on principles like “PHP is easier” “PHP is easier to develop for” and “PHP is cheaper” which are so far based in opinion that I’d expect bettter from Harry… If I didn’t know Harry better (Harry and I have been arguging about this for the last 3 years).

So, let me exerpt some of my actual opinions, from my comments on Harry’s post:

Simon, ASP to PHP is a natural progression. But ASP to ASP.NET is also a natural progression because, fundamentally, you can use all of the same backend and development tools to do the same job.

The change from ASP to PHP is just as severe as from ASP to ASP.NET. The VBS to VB.NET change is mainly conceptual: objects. The ASP to PHP change is deeper than that as it’s a new language.

I don’t know about you, but I grasp concepts much more quickly than languages.

I’m not going to fault anyone for moving to PHP from ASP, I just don’t see a big reason to ‘choose’ in that way. I’m not even a Developer anymore (by trade); but in the last week I programmed in VBS, KiXtart, VB.NET, C#, PHP, iHTML and Java.

The move from ASP to PHP makes sense, but the move from ASP to ASP.NET doesn’t make any less sense just because of this article ;)

Sorry for spamming your blog post Harry, but I think some of the other comments you didn’t talk about on Randy’s blog are great:

” First, VB.NET and VB are not the same thing. VB.NET isn’t “VB 7.0″. If you want VB, then use VB 6. Second, every language in the .NET stable is the same way: VB to VB.NET, unmanaged C++ to managed C++, J++ to J#.”

“IMO he failed to appreciate that doing nothing was not an option for MS. MS needed to move forward and provide a development platform that could compete with Java, which was making significant inroads into the Enterpise Development space. Whether or not you agree with Joel that memory management is the key to productivity improvements in virtual machine environments there does seem to be consensus that C#/Java is more productive than C++/COM for Enterprise class applications.”

Conclusion

Again, I don’t want to diminish Joel’s piece, but ultimately it is his opinion on:

1. Where the majority of development will happen in the future
2. The quality of .NET
3. The ability to move from old environments to .NET to the newer ones coming out soon
4. What that means to the future of technology

Good arguments, but utltimately based on opinion. Not a small, unthought out opinion, but an opinion nonetheless. As such, you will either fundamentally agree or disagree (either one is fine, and I respect both).

My problem is when people take pieces like Joel’s, and spin them. I think Joel’s piece is good enough to stand on it’s own without it being used to proclaim the death of everything from ASP.NET to Windows to Microsoft to closed-source technology as a whole.