Can Microsoft’s Developer Division Compete Moving Forward?

I’ve been planning to blog about this for some time but just haven’t gotten to it. Well here goes…


Contents

Note: The day after I posted this I decided to add headings to make the argument easier to follow.


Is Microsoft’s Approach Failing?

I believe Microsoft legacy processes simply cannot react fast enough to the innovation happening in the open source arena on the language and web framework front. Microsoft’s developer division typically offers three-year version cycles where they first architect Visual Studio and related technologies in a vacuum. In recent years they’ve even thrown out alphas and betas to the Microsoft faithful to get feedback which, and thankfully they’ve used a lot of that feedback. But that approach just isn’t working in the market anymore. When the release cycles of
scripting languages frameworks like Ruby On Rails and Django and CMS platforms such as Drupal are sometimes as little as a few months, it’s really hard to wait around for the next version of Visual Studio.

After Ten Years; Too Little, Too Late?

It would be different if Microsoft’s developer technologies provided at least 95 percentile of what’s needed by work-a-day developers on a daily basis, but they don’t. Case in point is we still don’t have the ability to do complete URL Rewriting for ASP.NET on IIS even though Apache has had mod_rewrite for years. Looking back, how many years of massively duplicated developer effort in the field did it take befor Microsoft finally provided a login module and a method of managing site-wide templates?!? (i.e. “MasterPages”) Oh, about a decade from when they first released Active Server Pages.

Providing Solutions Frequently Just Not a Priority

It’s not just that Microsoft’s developer division takes too long to offer new solutions to recurring needs; it is that they place such low priority on providing those solutions. Three year development cycles testify to that fact, especially when you consider it takes Microsoft many releases to address fundamental needs. The guys on the product management teams at Microsoft are really smart people, but they often can’t see how much trouble they cause people in the field by their decisions. They see the world of creating Visual Studio, but they don’t see the world of using Visual Studio to develop software.

Core “Real World” Problems Not Addressed

What’s more, Microsoft architects its developer products in a vacuum; they don’t use them to solve “real world” problems. Sure, they may use them internally for developing productsbut when does the average developer’s project look like product development at Microsoft? They often create excellent software but software that either doesn’t solve real world problems or does so in a totally over-engineered manner. While running Xtras I watched many a developer launch a 3rd party component business because they had identified a need while working on a real world project. However, once they saw small success as a vendor they started developing, designing, and even envisioning new products in a vacuum. And often those products either didn’t address real world needs or did so in a really unnatural manner.

Microsoft is a much worse example of this. Their saving grace thus far has been market share and financial resources to brute force their products into the market, and many of the faithful won’t even look at other s offerings to understand why some of Microsoft’s offerings so miss the mark. I know, until recently I was one of them.

Values “Sugar”-Free Over Productivity

And Microsoft’s product managers often dismiss feature requests that would make development a LOT easier as simply being “syntactic sugar. For example, one such dismissed feature request I made years ago was for simplified property references in VB.NET. I wanted a syntax that would allow a developer to implement a single-line syntax for specifying properties you didn’t need anything special, something like:


1. Property Foo Into _Foo


Instead of nine lines of:


1. Private _Foo 
2. Property Foo 
3.    Get 
4.       Return _Foo 
5.    End Get 
6.    Set(ByVal value) 
7.       _Foo= value 
8.    End Set 
9. End Property


That would have reduced the number of lines of VB.NET code by probably half an order of magnitude. But they just weren’t interested in it because it “bloated the language and otherwise had no value” (I am paraphrasing from memory.)

Focuses on Details, NOT the Big Picture

Even more, I advocated an advanced scripting language that would be a lot like today’s “in-vogue” scripting languages. I called my proposal VBScript.NET. But then my suggestions were dismissed for esoteric reasons and I was told that Top Minds Are Working On It! (Well, evidently not, or so many developers wouldn’t be moving to PHP, Ruby, and Python.) Microsoft’s culture is to argue semantics when reality doesn’t match their world view, and they are blissfully willing to ignore the pain that continues to exist.

Revolutionary Paths Are Often Dead-Ends

What’s more, probably because of its financial resources and a hubris that comes from being the industry leader, Microsoft has a bad habit of creating huge revolutionary jumps instead of small evolutionary steps. Rather than always creating lots of little independent layers of loosely coupled components, each with it’s own independent functionality, documentation, and rationale for existence, Microsoft often builds monolithically complex solutions where the individual components are highly coupled, not documented, hidden beneath the covers, and frankly with functionality that has not been fleshed out well had it had to be developed to stand on its own. This creates bloated and fragile systems that are often extremely hard to debug and for which there is no passionate community of supporters surrounding it.

ASP.NET: Wrong Medium, Wrong Model

ASP.NET is a perfect example of many of these problems. Rather than study the web and realize it was a violently different platform than desktop apps, Microsoft chose to shoehorn an event model onto the web and use a page-oriented implementation. Not only did they get the medium wrong, they also got the model wrong. And this decision resulted in an outrageously complex pipeline processing model with tons of code that is hard to debug or even understand, and that requires lots of high end developers to figure it out and repeatedly explain to newbies what they need to do just be able to do some of the simplest things, things that are brain-dead easy in PHP for example.
But hundreds of thousands of Microsoft-centric developers just trudged along and accepted it as the next best thing because Microsoft said so. And for a short time, I was one of those true believers.

ASP.NET: Exceptional Engineering, Answers Wrong Questions

Now, however, even many Microsoft developers are starting to see ASP.NET for what it really is: An exceptionally engineering product that answers the Wrong Questions. Former ASP.NET developers are moving to the platforms I mentioned earlier (Ruby on Rails, Django, and Drupal) simply because those platforms offered developers the syntactic sugar they crave, and because the developers of those platforms focused on solving pain because the pain they were solving was their own.

Open-Source: Answering the Right Questions, Rapidly

Open-Source development by nature results in lots of little independent layers, and there are communities that sprouted or are sprouting to support each of those independent layers. Each of those layers has had an opportunity to be fleshed out, and by comparison it shows. How can something like Open-Source PHP on Apache take on mighty Microsoft’s ASP.NET and IIS, and win? Because they answer the right questions, and they did so in far less than a decade.

Is there any hope for Microsoft’s Developer Division?

Which brings me back to the original question:


Can Microsoft’s Developer Division Compete Moving Forward?

Frankly, though I really like the .NET Framework and hope I’m wrong, I’m completely skeptical.

 

16 Replies to “Can Microsoft’s Developer Division Compete Moving Forward?”

  1. Few things:

    First, C# 3.0 will have the "one line auto-implemented properties" feature you requested for VB. Enough people asked for it, we put it in. I do not know if VB will be doing the same. You’re welcome.

    Second, my "esoteric" reasons for not implementing a scripty version of VB on the .NET platform were hardly esoteric then and are hardly esoteric now. They are (1) fracturing the language further causes confusion amongst customers and is massively expensive for little gain, (2) we can do things to make VB.NET more powerful without fracturing the language, and we have, (3) Microsoft makes scripting languages like Iron Python and JScript .NET, use the right tool for the right job. The .NET framework is already amenable to the development of scripting languages.

    Third, I want to make a distinction between scripting languages (languages intended to script things) and dynamic languages (languages which admit a type system which cannot be deeply analyzed at compile time.) Scripting languages are often dynamic languages, however it is entirely possible to use dynamic languages for tasks other than scripting. The VS team is VERY interested in understanding how to make the platform more amenable to dynamic languages.

    Current C# 3.0 features move in the direction of dynamic languages without actually making the language dynamic (lambdas, improved generic method type inference, extension methods, implicitly typed locals, anonymous tuple types). All of these however are implemented so as to keep the language statically analyzable. We are considering features for C# 4.0 which would make the language more dynamic without losing that important statically analyzable core.

    Now, maybe these features aren’t what you want, or are too little too late, or the release schedule is too long for your liking, or whatever. That’s unfortunate. However I take exception to the claim that we do not study what real users are doing and try to provide tools that do what they want. We do that every day.

  2. Few things:

    First, C# 3.0 will have the "one line auto-implemented properties" feature you requested for VB. Enough people asked for it, we put it in. I do not know if VB will be doing the same. You’re welcome.

    Second, my "esoteric" reasons for not implementing a scripty version of VB on the .NET platform were hardly esoteric then and are hardly esoteric now. They are (1) fracturing the language further causes confusion amongst customers and is massively expensive for little gain, (2) we can do things to make VB.NET more powerful without fracturing the language, and we have, (3) Microsoft makes scripting languages like Iron Python and JScript .NET, use the right tool for the right job. The .NET framework is already amenable to the development of scripting languages.

    Third, I want to make a distinction between scripting languages (languages intended to script things) and dynamic languages (languages which admit a type system which cannot be deeply analyzed at compile time.) Scripting languages are often dynamic languages, however it is entirely possible to use dynamic languages for tasks other than scripting. The VS team is VERY interested in understanding how to make the platform more amenable to dynamic languages.

    Current C# 3.0 features move in the direction of dynamic languages without actually making the language dynamic (lambdas, improved generic method type inference, extension methods, implicitly typed locals, anonymous tuple types). All of these however are implemented so as to keep the language statically analyzable. We are considering features for C# 4.0 which would make the language more dynamic without losing that important statically analyzable core.

    Now, maybe these features aren’t what you want, or are too little too late, or the release schedule is too long for your liking, or whatever. That’s unfortunate. However I take exception to the claim that we do not study what real users are doing and try to provide tools that do what they want. We do that every day.

  3. Can you expand a bit more on the "ASP.NET: Wrong Medium, Wrong Model" section and compare/contrast it with php with specific examples? Some specifics in the "Revolutionary Paths Are Often Dead-Ends" would be welcome as well.

  4. Can you expand a bit more on the "ASP.NET: Wrong Medium, Wrong Model" section and compare/contrast it with php with specific examples? Some specifics in the "Revolutionary Paths Are Often Dead-Ends" would be welcome as well.

  5. Brian:

    Thanks for the comment. I do plan on several more related posts. But I didn’t mention that in the post because this (and the follow up to Eric which is 99% written) were hugely draining and each took a full day to wordsmith and research. So I am planning to go deep into that subject, I just hope it doesn’t end up taking me a really long to get there.

    But just a glimpse. I was a heavy ASP/VBScript/SQL Server developer for a long time. When ASP.NET came out I immediately gravitated toward it because it was from Microsoft. But the more I learn about it and the more I tried to develop with it, this more it just felt wrong. But my prior business was selling components for .NET developers and I simply didn’t have the time to look outside of ASP.NET and learn anything else.

    But since I left my prior business one of the main things I’ve been doing is working on the The Well Designed URLs Initiative (http://www.welldesignedurls.org/) because of my post here on Well Designed URLs that received so much attention. It has sent me down a rabbit hole of learning about Internet technolgoies (i.e. W3C specifications and more), the more I’ve learned about core Internet technolgoies the more I realize why I had such an aversion to ASP.NET. The last word I’ll say on that until my full writeup on ASP.NET is "__doPostBack."

    BTW, I’m planning to take a serious look at the Castle/MonoRail project as it looks very promising.

  6. Brian:

    Thanks for the comment. I do plan on several more related posts. But I didn’t mention that in the post because this (and the follow up to Eric which is 99% written) were hugely draining and each took a full day to wordsmith and research. So I am planning to go deep into that subject, I just hope it doesn’t end up taking me a really long to get there.

    But just a glimpse. I was a heavy ASP/VBScript/SQL Server developer for a long time. When ASP.NET came out I immediately gravitated toward it because it was from Microsoft. But the more I learn about it and the more I tried to develop with it, this more it just felt wrong. But my prior business was selling components for .NET developers and I simply didn’t have the time to look outside of ASP.NET and learn anything else.

    But since I left my prior business one of the main things I’ve been doing is working on the The Well Designed URLs Initiative (http://www.welldesignedurls.org/) because of my post here on Well Designed URLs that received so much attention. It has sent me down a rabbit hole of learning about Internet technolgoies (i.e. W3C specifications and more), the more I’ve learned about core Internet technolgoies the more I realize why I had such an aversion to ASP.NET. The last word I’ll say on that until my full writeup on ASP.NET is "__doPostBack."

    BTW, I’m planning to take a serious look at the Castle/MonoRail project as it looks very promising.

  7. Mike,

    re: your idea that MS can’t ship quickly. In the past, that was true. It’s still true for some of the larger core products (e.g. the OS, Office, *servers). However, some product teams are looking at shipping smaller products and updates on a much faster scale. Look at the TTR for the AJAX components, as well as some of the other projects produced by members of the ASP.NET team (Script# comes to mind. PLINQ, although the LINQ product isn’t a final product yet, is another good example. Powershell is another one). I think that some product teams and managers, like Scott Guthrie, "get it" , are adjusting their development cycles. That not only makes the devs on those teams happier, but the consumers of the products are happier as well.

    There is a small hope.

  8. Mike,

    re: your idea that MS can’t ship quickly. In the past, that was true. It’s still true for some of the larger core products (e.g. the OS, Office, *servers). However, some product teams are looking at shipping smaller products and updates on a much faster scale. Look at the TTR for the AJAX components, as well as some of the other projects produced by members of the ASP.NET team (Script# comes to mind. PLINQ, although the LINQ product isn’t a final product yet, is another good example. Powershell is another one). I think that some product teams and managers, like Scott Guthrie, "get it" , are adjusting their development cycles. That not only makes the devs on those teams happier, but the consumers of the products are happier as well.

    There is a small hope.

  9. Scott:

    Thanks for the comment. We’ll see what happens. Unfortunately I think there needs to be a "Internet Memo" or a "Sea Change Memo" to see any real visible change (though the latter didn’t really seem to have any significant effect.)

    You mention the OS, Office, and *servers, but what I don’t see is the core development tools team "getting it" and I think develop tools are by far the most important to move quickly.

    You mention "some product teams are looking at shipping smaller products and updates on a much faster scale": which, specifically with a developer focus?

    You mention Scott Guthrie, "getting it." Scott is the father of ASP.NET and oversees IIS, and sadly, of all products that Microsoft delivers I have come to despise ASP.NET and IIS the most. I do plan to blog about this on an ongoing basis.

    You mention Script#, yet it appears to me that it is just an employee’s personal project made public. Okay, but unless MS embraces such projects with support, they are of no more value than any open source project. Besides Script# is a compiler from one language to another which, though an interesting proof of concept in the areas of "can it be done?", such projects always leave the user wanting and eventually become orphans because no such project can match someone actually programming in the target language.

    As for PLING/LINQ, LINQ is a perfect example of something that’s been talked about for years but still only available in "beta" and that’s Microsoft’s use of the term "beta", not Google’s.

    IronPython is actually a lot closer to my idea of where they should be headed, but I’ve already spoken my piece about IronPython.

    Finally, I do admit that Powershell is cool and seems to be moving rather fast. Unfortunately, it’s a rather limited project, at least at the moment. I can’t use if for web development which is my main focus, and I can’t use if to create components, also something I value. I do hope to see it pick up steam. OTOH, it’s command line oriented design make it feel funky; not sure if I can get over that or not. :)

    So yes, there is a small hope, but at the moment, it’s still very small. And thanks again for the comment.

  10. Scott:

    Thanks for the comment. We’ll see what happens. Unfortunately I think there needs to be a "Internet Memo" or a "Sea Change Memo" to see any real visible change (though the latter didn’t really seem to have any significant effect.)

    You mention the OS, Office, and *servers, but what I don’t see is the core development tools team "getting it" and I think develop tools are by far the most important to move quickly.

    You mention "some product teams are looking at shipping smaller products and updates on a much faster scale": which, specifically with a developer focus?

    You mention Scott Guthrie, "getting it." Scott is the father of ASP.NET and oversees IIS, and sadly, of all products that Microsoft delivers I have come to despise ASP.NET and IIS the most. I do plan to blog about this on an ongoing basis.

    You mention Script#, yet it appears to me that it is just an employee’s personal project made public. Okay, but unless MS embraces such projects with support, they are of no more value than any open source project. Besides Script# is a compiler from one language to another which, though an interesting proof of concept in the areas of "can it be done?", such projects always leave the user wanting and eventually become orphans because no such project can match someone actually programming in the target language.

    As for PLING/LINQ, LINQ is a perfect example of something that’s been talked about for years but still only available in "beta" and that’s Microsoft’s use of the term "beta", not Google’s.

    IronPython is actually a lot closer to my idea of where they should be headed, but I’ve already spoken my piece about IronPython.

    Finally, I do admit that Powershell is cool and seems to be moving rather fast. Unfortunately, it’s a rather limited project, at least at the moment. I can’t use if for web development which is my main focus, and I can’t use if to create components, also something I value. I do hope to see it pick up steam. OTOH, it’s command line oriented design make it feel funky; not sure if I can get over that or not. :)

    So yes, there is a small hope, but at the moment, it’s still very small. And thanks again for the comment.

  11. "You mention "some product teams are looking at shipping smaller products and updates on a much faster scale": which, specifically with a developer focus?"

    Primarily the ASP.NET team. But the WPF team seems to be moving along in the direction of shipping faster and smaller.

    Scott Guthrie heads up more than just ASP.NET and IIS. He oversees the CLR and a few other core developer technologies. http://weblogs.asp.net/scottgu/about.aspx
    As far as blaming him for ASP.NET… I don’t know if he can take the full blame. Sure, ASP.NET is a complicated technology meant to solve a complicated problem. But it’s a damn site better than the classic ASP + COM solution we had before.I know that NGWS and ASP+ were being thought about way back in ’96. I’ve seen a change in his attitude towards the products he is in charge of and I think the change is pretty evident in the way he blogs and the way he discusses future technology. He seems to be really developer focused to me.

    I agree about IronPython and I think MS is serious about real dynamic languages. The hiring of John Lam and the release of IronPython prove that. I don’t see Powershell as a developer tool, but a admin tool that developers can use.

  12. "You mention "some product teams are looking at shipping smaller products and updates on a much faster scale": which, specifically with a developer focus?"

    Primarily the ASP.NET team. But the WPF team seems to be moving along in the direction of shipping faster and smaller.

    Scott Guthrie heads up more than just ASP.NET and IIS. He oversees the CLR and a few other core developer technologies. http://weblogs.asp.net/scottgu/about.aspx
    As far as blaming him for ASP.NET… I don’t know if he can take the full blame. Sure, ASP.NET is a complicated technology meant to solve a complicated problem. But it’s a damn site better than the classic ASP + COM solution we had before.I know that NGWS and ASP+ were being thought about way back in ’96. I’ve seen a change in his attitude towards the products he is in charge of and I think the change is pretty evident in the way he blogs and the way he discusses future technology. He seems to be really developer focused to me.

    I agree about IronPython and I think MS is serious about real dynamic languages. The hiring of John Lam and the release of IronPython prove that. I don’t see Powershell as a developer tool, but a admin tool that developers can use.

  13. >>>"Scott Guthrie heads up more than just ASP.NET and IIS. He oversees the CLR and a few other core developer technologies. http://weblogs.asp.net/scottgu/about.aspx"

    Yeah, I know, but whenever ASP.NET is mentioned Scott Guthrie also seems to be mentioned, and vice-versa. I actually saw him demo ASP+ at a conference long ago…

    >>>"Sure, ASP.NET is a complicated technology meant to solve a complicated problem."

    Yes it solves a complicated problem, but it was the wrong problem to solve. One of many problems is they created an event driven layer to make it appeal to Visual Basic and other Windows developers, and in hindsight it was completely the wrong approach for the web. It adds many layers of complexity that other web frameworks that are becoming successful now do not have, and are better for not having them.

    >>>"But it’s a damn site better than the classic ASP + COM solution we had before."

    I disagree with that. I’m starting a new site from scratch, and I’m pretty sure I’m going to build in ASP because of all the baggage that ASP.NET drags along that you can’t easily get rid of. Don’t get me wrong, I really like .NET as a language, but I really hate the web layer called ASP.NET.

    With ASP.NET they added to many coupled layers too fast. They should have evolved ASP instead of creating the revolution called ASP.NET. It’s kind of like taking over Iraq and then firing all the civil servants w/o they having any place else to get jobs and expecting the country to be able to run itself (oops, my politics are seeping into my blog again… ;)

    Big changes often work better when they are comprised of lots of little changes, especially with technology! You could argue about technologies that are too hacked up to be extended, but ASP wasn’t that, even if they have to start with a clean slate implementation, they could have done a much better job.

    Look at AJAX. ASP.NET has dynamic HTML, but it is now clear the AJAX way is a better way, and it doesn’t have all the hacked limitations and highly-coupledness of ASP.NET. AJAX evolved out of real world implementations over time; ASP.NET emerged from Redmond whiteboards because they tried to implement too much too soon without making sure it really worked well.

    When I have time, I plan to post "10 things Microsoft should have fixed in ASP but never did." And several of those things are still not "fixed" in ASP.NET, but worse ASP.NET introduced so many other problems (can you say "VIEWSTATE", for example?) Oh, and I’ll follow up with "10 keys reason why you shouldn’t use ASP.NET" :)

    >>>"I know that NGWS and ASP+ were being thought about way back in ’96."

    Let see, 11 years. That’s moving fast! :) BTW, I’m not trying to be disrespectfully sarcastic, just ironic.

    >>>"I’ve seen a change in his attitude towards the products he is in charge of and I think the change is pretty evident in the way he blogs and the way he discusses future technology. He seems to be really developer focused to me."

    I hope you are right. I DO want to be a Microsoft supporter, but the more I look at how ASP.NET and IIS box me and others in and how they are responsible for many, many poorly architected website on the Internet, the more frustrated (and mad) I get.

    Scott and the MS crew need to realize that "ASP.NET was ‘a good idea at the time’ but with the benefit of hindsight it should be made a legacy technology and they should move to something that is actually designed for the web. And if he’d like to fly me up to Redmond I’d be more than happy to give him a presentation as to what the problems are and how to fix it. I’d even consider joining the team if I thought they’d fix what needs to be fixed.

    Anyway, I’ll start monitoring Scott’s blog more closely and see if I notice any changes. Either way, I’ll blog about it.

    >>>"I agree about IronPython and I think MS is serious about real dynamic languages. The hiring of John Lam and the release of IronPython prove that."

    I’m tentatively optimistic, but more pessemistic overall. I hope it does work out.

    >>>"I don’t see Powershell as a developer tool, but a admin tool that developers can use."

    Jeffrey Snover the Windows PowerShell Architect thinks it is a developer tool. See http://www.mikeschinkel.com/blog/willmicrosoftmeetoccupationalprogrammersneeds/#comments-070101

    BTW, one of the many reasons I dislike ASP.NET is their distain for allowing developers control of URL structure, and hence any apps developed on ASP.NET do not support clean and usable URLs. See my project called the "Well Designed URLs Initiaitve" [1] to understand more why this bothers me so much.

    Thanks again for the thoughtful comments. I appreciate and respect your perspective even if I don’t fully agree. :)

    [1] http://www.welldesignedurls.org/

  14. >>>"Scott Guthrie heads up more than just ASP.NET and IIS. He oversees the CLR and a few other core developer technologies. http://weblogs.asp.net/scottgu/about.aspx"

    Yeah, I know, but whenever ASP.NET is mentioned Scott Guthrie also seems to be mentioned, and vice-versa. I actually saw him demo ASP+ at a conference long ago…

    >>>"Sure, ASP.NET is a complicated technology meant to solve a complicated problem."

    Yes it solves a complicated problem, but it was the wrong problem to solve. One of many problems is they created an event driven layer to make it appeal to Visual Basic and other Windows developers, and in hindsight it was completely the wrong approach for the web. It adds many layers of complexity that other web frameworks that are becoming successful now do not have, and are better for not having them.

    >>>"But it’s a damn site better than the classic ASP + COM solution we had before."

    I disagree with that. I’m starting a new site from scratch, and I’m pretty sure I’m going to build in ASP because of all the baggage that ASP.NET drags along that you can’t easily get rid of. Don’t get me wrong, I really like .NET as a language, but I really hate the web layer called ASP.NET.

    With ASP.NET they added to many coupled layers too fast. They should have evolved ASP instead of creating the revolution called ASP.NET. It’s kind of like taking over Iraq and then firing all the civil servants w/o they having any place else to get jobs and expecting the country to be able to run itself (oops, my politics are seeping into my blog again… ;)

    Big changes often work better when they are comprised of lots of little changes, especially with technology! You could argue about technologies that are too hacked up to be extended, but ASP wasn’t that, even if they have to start with a clean slate implementation, they could have done a much better job.

    Look at AJAX. ASP.NET has dynamic HTML, but it is now clear the AJAX way is a better way, and it doesn’t have all the hacked limitations and highly-coupledness of ASP.NET. AJAX evolved out of real world implementations over time; ASP.NET emerged from Redmond whiteboards because they tried to implement too much too soon without making sure it really worked well.

    When I have time, I plan to post "10 things Microsoft should have fixed in ASP but never did." And several of those things are still not "fixed" in ASP.NET, but worse ASP.NET introduced so many other problems (can you say "VIEWSTATE", for example?) Oh, and I’ll follow up with "10 keys reason why you shouldn’t use ASP.NET" :)

    >>>"I know that NGWS and ASP+ were being thought about way back in ’96."

    Let see, 11 years. That’s moving fast! :) BTW, I’m not trying to be disrespectfully sarcastic, just ironic.

    >>>"I’ve seen a change in his attitude towards the products he is in charge of and I think the change is pretty evident in the way he blogs and the way he discusses future technology. He seems to be really developer focused to me."

    I hope you are right. I DO want to be a Microsoft supporter, but the more I look at how ASP.NET and IIS box me and others in and how they are responsible for many, many poorly architected website on the Internet, the more frustrated (and mad) I get.

    Scott and the MS crew need to realize that "ASP.NET was ‘a good idea at the time’ but with the benefit of hindsight it should be made a legacy technology and they should move to something that is actually designed for the web. And if he’d like to fly me up to Redmond I’d be more than happy to give him a presentation as to what the problems are and how to fix it. I’d even consider joining the team if I thought they’d fix what needs to be fixed.

    Anyway, I’ll start monitoring Scott’s blog more closely and see if I notice any changes. Either way, I’ll blog about it.

    >>>"I agree about IronPython and I think MS is serious about real dynamic languages. The hiring of John Lam and the release of IronPython prove that."

    I’m tentatively optimistic, but more pessemistic overall. I hope it does work out.

    >>>"I don’t see Powershell as a developer tool, but a admin tool that developers can use."

    Jeffrey Snover the Windows PowerShell Architect thinks it is a developer tool. See http://www.mikeschinkel.com/blog/willmicrosoftmeetoccupationalprogrammersneeds/#comments-070101

    BTW, one of the many reasons I dislike ASP.NET is their distain for allowing developers control of URL structure, and hence any apps developed on ASP.NET do not support clean and usable URLs. See my project called the "Well Designed URLs Initiaitve" [1] to understand more why this bothers me so much.

    Thanks again for the thoughtful comments. I appreciate and respect your perspective even if I don’t fully agree. :)

    [1] http://www.welldesignedurls.org/

Leave a Reply to Mike Schinkel Cancel reply

Your email address will not be published.