Scott Hanselman

Survey RESULTS: What .NET Framework features do you use?

October 22, '08 Comments [47] Posted in ASP.NET | ASP.NET Dynamic Data | ASP.NET MVC | Learning .NET | Programming | Web Services | Windows Client | WPF
Sponsored By

Here's the results, as promised, of the .NET Survey I took last week.

Also, here's the disclaimer. I did this on a whim, it's not scientific, so the margin of error is +/-101%. That said, the results feel intuitively right to me, personally.

It was a single question with 14 checkboxes. You were asked to "check al the .NET Framework features that you use in your projects." The results are here after 4899 responses:

image

There were lots of good responses on Twitter and comments on the original blog post.

Folks wanted choices like "Other," "None" and "I don't use .NET." Of course, not answering the survey is a good way of reporting that. ;) In fact, 29 people looked at the survey, checked nothing and then just clicked Finish.

Here's some choice feedback:

  • A raw survey like this will be biased towards "new and cool stuff".
  • Sure you ain't shopping for an answer?...I use datareaders a lot. And datarepeaters. Everything else goes clunk.
  • Where's Silverlight?
  • No Linq-to-Objects?

I organized the survey in terms of what I called "subsystems." You could also say "product teams," I suppose. It was more trying to get a sense of the tools people reach for when they start a project.

I probably could have included IIS6, II7, etc., but I'm sure it would have gotten unruly. I could have included languages as well, but that feels like another survey. The one thing I regret not including was Silverlight. I wanted to add it, but by the time I'd realized it, I had already got 1000+ results and I decided adding it at that point would skew the results.

Of course, this could have been a multi-question, multi-page survey, but they you probably wouldn't have filled it out, right? I wanted to find a balance between getting a LARGE enough number of responses and getting data that's useful in some way to both you, Dear Reader, as well as the bosses I'll show it to.

As with all online surveys, this one is worth exact the paper its printed on. :) If you think it is useful, cool, if not, it only wasted 5 seconds of your time when you filled it out. Thanks for filling it out.

What is your analysis of the results?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. I am a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by ORCS Web
Wednesday, October 22, 2008 7:06:17 PM UTC
Wow, it's really great to see Ajax in third position there :) Apparently most users of WebForms also use Ajax.
Wednesday, October 22, 2008 7:19:21 PM UTC
Hey,

Taking the survey wasn't a waste of time, been waiting for the results ever since I submitted :p
Like I mentioned on twitter, CardSpace got a very low rating.

I think this is because it's either very difficult to implement or there aren't enought real-world examples out there?
We'd love to add CardSpace support... but we always end up hitting a brick wall.

As for WPF, wel it might take quite some time before being adopted... but I do hope it will
(If Novell decided to implement WPF support for Mono that might really change things as well)
Wednesday, October 22, 2008 7:21:25 PM UTC
I am pleased to see that MVC has such large numbers especially since it is still in beta. That is awesome!
Wednesday, October 22, 2008 7:25:30 PM UTC
To tell you the truth I'm a little shocked to see MVC that high up. I believe these numbers represent a lot of what your (and probably SottGu's) readers use, which doesn't mirror what the ".NET world" is using. I don't think your subscribers (or ScottGu's) are a good representation of the average .NET developer. So I'll be very cautious when presenting these results to the "bosses," cause next thing we'll hear from Microsoft is that MVC is up there with WebForms.

I read a statistic that said that 99.9% of the statistics are not true. :)

Just my $0.02
Wednesday, October 22, 2008 7:29:08 PM UTC
I just re read my comment and it seems very harsh. What I meant by "your subscribers (or ScottGu's) are a good representation of the average .NET developer" is that most of your subscribers would be above average: speakers, MVPs, advanced .NET developers. Then again I have no stats on this, simply basing it on the type of posts and comments I read.
Wednesday, October 22, 2008 7:39:02 PM UTC
I'm surprised to see Winforms featured so prominently. Based on what I've been hearing from DNR, reading in MSDN, and seeing in .NET user's groups, I thought the whole world was moving to the web.
Wednesday, October 22, 2008 7:39:04 PM UTC
Jonas - You have valid points. I would add, however, that Brad Abrams posted they survey link on his blog also, and I twittered it. Not all those people are my readers. However, I suspect that YES, "Alpha Geeks" do skew the results a little. I would say, maybe 20%. Total guess.

The bosses I've shown this to TOTALLY agree with you, though. It is skewed. Still, darned interesting.
Wednesday, October 22, 2008 7:57:30 PM UTC
I think the survey figures for Dynamic Data reflect the lack of community materials on
this technology (and similarly for Entity Framework). Other than the great blogs of Stephen Naughton, Matt Berseth and Roger Jennings there seems to be a lack of materials on them. But if upcoming ASP.NET 4.0 puts more priority on Dynamic Data, then I suppose these figures will increase.
Andy
Wednesday, October 22, 2008 8:14:22 PM UTC
> I thought the whole world was moving to the web.

Not quite the whole world. There are some things that don't work so well in a web page. Medical imaging, for example.
Wednesday, October 22, 2008 8:14:36 PM UTC
As Jonas said - and my thought also was: Is it what developers wants to use / is learning to use – or is it based on upcoming customer solutions / actual product roadmap / project plans.

I took the test but can’t really remember if I answered from the perspective of: nerd wet-dreams or business dry-fact.

Btw, I’m sad to see that CardSpace is rated so low.. The world would be a better place with more space.. Card space that is.. OpenID?
Wednesday, October 22, 2008 8:36:31 PM UTC
I was hoping to see the .NET Membership Framework on there.
Wednesday, October 22, 2008 8:38:44 PM UTC
It is encouraging (and surprising) to see MVC usage on par with WPF, considering the marketing attention that WPF has received over the years. But I agree that the readership skew is not representative of the real world view. I would bet that less than 50% of .NET developers read ANY blogs on a regular basis.

Wednesday, October 22, 2008 8:46:27 PM UTC
Yeah I recall being thrown by the question a little. I think I looked at it from the standpoint of 'which features would I be comfortable enough with to deploy a solution at this very instance.'...still...interesting that (as I read the data) there are ~1700 respondants who have never built a webform. I'm either relieved for them, or saddened for them.

Ryan
Ryan
Wednesday, October 22, 2008 8:48:06 PM UTC
BTW Scott the ssl version of the Yahoo OpenID provider (https://me.yahoo.com/MYOPENID) doesn't seem to work with your blog...from the Yahoo confirmation page, the continue button sends me to a 404 error over here.

Ryan
Ryan
Wednesday, October 22, 2008 8:59:20 PM UTC
What scares me about these survey, is that its not weighted.

Example: I've used WCF and WWF.

WCF is very high on the results. If WCF dies tomorrow however, I'd convert to web service and survive. (Some people would have scenarios that cannot do that, but bear with me here).

If WWF dies tomorrow (especially since it got such a lot score here), I'm losing several HUNDREDS OF THOUSANDS of lines of code worth of work. Projects using WWF are much more likely to be large scale apps involving douzens of developers (Sharepoint!). A project using Dynamic Data is much more likely to be a prototype.

So if a manager DARES use numbers like that to allocate ressources... I'll find where they live! (just kidding just kidding!)
Francois Ward
Wednesday, October 22, 2008 9:01:50 PM UTC
Seriously, people still use DataSets?
Daniel Root
Wednesday, October 22, 2008 9:31:22 PM UTC
It's interesting how high the use of MVC, which is in beta, compared to something like WPF which has been out longer. I know it is not comparing apples to apples but interesting to me just the same. I find the adoption to of WPF to be less than stellar with some of the folks I associate with.


Wednesday, October 22, 2008 9:56:04 PM UTC
Im glad to see window forms top of the list. We went through a web/win decision and when we polled the developers to find out who would provide the graphics and pretty layout , no ones hand went up. So without someone to cut graphics and layout pages that sort of left a hole where in winforms we do not have that issue.


cheers


WLN
wil4pres
Wednesday, October 22, 2008 10:13:26 PM UTC
Winforms may not be cool, but there is still alot of development going on for the desktop.

Interesting to see that WPF is relatively low. Would be interesting to understand why this is so, when compared to the other UI technologies.

Nice survey - not nearly as annoying as the ones on Microsoft.com
Adrian
Wednesday, October 22, 2008 10:39:41 PM UTC
I have to strongly disagree with the results (and also about them "feeling right"). I'd question the point/motive of surveying your crowd to confirm what you already believe... I don't think this kind of thing is positive.

One example - I highly doubt more people are using Entity Framework or ASP.NET MVC than Workflow Foundation, especially considering how widespread SharePoint 2007 is. We're talking one of the main extensibility points for one of our most popular products, and it's been out there for a couple of years now... and more people are using bits that were just released last month or are still in beta? No chance. (But you don't really talk about WF or SharePoint on your blog, hence many of those people aren't here to take your survey.)

From what I've seen interacting with customers and the developer community, there is a BIG drop-off in usage once you get beyond .NET 2.0. Something like a 10-to-1 ratio (at least) would be my guess if I had to. I think in the past year we've finally approached the point where the majority of development is now 2.0... it's taken that long for many organizations to make the leap from 1.1.

It would be a great thing for Microsoft if technology was adopted at the rate this suggests, but it's simply unrealistic. It also paints an inaccurately negative picture about certain technologies that are being widely utilized today, which is definitely not a good thing.
Wednesday, October 22, 2008 11:29:32 PM UTC
I think in general people who read your blog and indeed similar blogs are likely to be above average developers. If I went over and mentioned your name to the 3 other devs in this office they'd say scott who? The'yre guys who call things Lin Q and c hash (seriously)! They'd happily develop everything with datasets and thick winforms (if I let them!) till the cows came home... And I've worked with plenty more like them. Also to them Linq is linq everything no notion of to xml, to objects etc. I was pleased to see Linq to SQL up there as I have found it great for my apps so far.
Gary
Thursday, October 23, 2008 12:14:22 AM UTC
Hmm, not too pleased with the WF numbers; the possibilities of WF are huge; I guess we'll have to wait and see.

Once Silverlight starts picking up speed, I assume WPF will gain momentum. Hey, why wasn't Silverlight part of the survey? MVC is beta too so don't smack me with that :) I suppose technically it's only a control..
sham
Thursday, October 23, 2008 2:33:17 AM UTC
WF is a big change in the way people think about long running processes and will pick up in time. It would also seem that cardspace is not gaining any traction.
Thursday, October 23, 2008 2:56:24 AM UTC
WOW, I bet you never thought you were opening a can of worms with this survey! I think that what you're trying to do is great and it seems like a lot of people are interesting in knowing the results (or shocked by them). So I vote to have a similar survey with a few more additions: Silverlight, Sharepoint, etc and ask the influentials for each product team to blog about it. I can certainly blog about it and ask my huge reader base of 60 to contribute :)

Maybe we should have 2 questions:

1. "Please check all the .NET Framework features that you have uses in your projects"
2. "Please check all the .NET Framework features that you feel comfortable about to include in a very important project"

or something along those lines. Keep it short and leave it openened for a longer period of time.
Thursday, October 23, 2008 5:55:20 AM UTC
Hi Scott,

Thanks for publishing the result. I am happy about the response for MVC. I could not agree with Jonas Stawski's comments. He indicate that the participants are speakers, MVPs, advanced .NET developers. However if it is true, nothing wrong with the survey results because advanced .NET developers and Architects are the key people of every company to take decisions for technology and they are driving junior people of their companies.


Thursday, October 23, 2008 9:24:43 AM UTC
It's great to see winforms gets second, and that's a very big sign for those who are making decision in microsoft that this mature technology still exist and not retired yet. yeah it is nice to invest in new technology like WPF but until it can stand up on it's legs and serve the community of desktop apps (until now it has no datagird build in it's standard control box) let winforms do it's great great great job.
And this is great evidence to hear from community what real technology that serve well instead of prototypes.
thanks
Abdullah BaMusa
Thursday, October 23, 2008 11:33:37 AM UTC
I'd have to agree with the others saying the results are skewed as well. You readers are definitely the above average .NET developer. Where I work we are still on .NET 2.0 with no add-ins or anything as we aren't allowed until things go through the long formal approval process. They are currently working on approving VS 2008.

I think myself and one other person are the only developers, out of 9, that read blogs on .NET. If I would give this poll to the 7 others, I'm almost positive the only things they would even know are WinForms, WebForms and DataSets, maybe Ajax in the sense that they have heard the term before.

For me, I've really only used Webforms, Winforms, ASMX, and DataSets; however, if we get approval, I'm going to be trying for the other stuff as well... though I'm sure I'll lose many of the others if they ever have to look at my code. I'm scared they are going to scream when they see the anonymous methods I've been using in the latest project.

Interesting results though anyway.
Rob B
Thursday, October 23, 2008 12:44:09 PM UTC
I was surprised to see how low WF is on this survey. With all the marketing attention, I thought it would have been higher. I think part of the reason for this is that developers put more emphasis on programming than design.
Ken S.
Thursday, October 23, 2008 2:59:41 PM UTC
Interesting results. Wish you had included Silverlight though. I'd love to see where it stacks up against MVC and WPF in terms of adoption.
Thursday, October 23, 2008 3:39:05 PM UTC
Franois. Neither will "die tomorrow". They all have a service agreement that keeps them supported for up to 10 years after their last release.
Thursday, October 23, 2008 3:55:56 PM UTC
But folks, do you really think that the results are skewed THAT much from being "my readers?" This poll was also on Brad Abrams blog and also all over Twitter. You think these are all 5000 early adopters?
Thursday, October 23, 2008 5:29:23 PM UTC
Statisticians tell you that any survey that people opt in on their own to take is going to have bias, but I don't think that totally invalidates your survey.

I hope you will use this survey as evidence that WPF is not done. I guess we'll see at PDC if Microsoft understands that. As much cooler as WPF is (in the demos at least) than WinForms, to be trailing in usage by that much should be a wake-up call. Of course, the survey doesn't differentiate between applications people are just starting to write today and applications written over the last 5 years that are being maintained. I would hope WPF would fare better if we were just talking about new apps.

Eric
small_mountain
Thursday, October 23, 2008 6:23:50 PM UTC
@Scott

Yes, the results are skewed that much from the readership. A large percentage of your twitter followers are also your blog readers. And my guess is that you and Brad Abrams have a very similar following (you are both on my blog reader). And even if there is some significant divergence, we are still talking about people who a) spend enough time in the .NET community to be following you and/or Brad AND b) care enough to actually go to the survey and answer the question. By definition that limits the responders to those on the leading edge of .NET technology. On the other hand, as Jason said, neither you nor Brad talk much about WF (or CardSpace or Dynamic Data or Entity Framework for that matter), so your readers are less likely to be using those technologies.

I also don't understand why Silverlight was not included. Surely it has as much or more right than ASP.NET MVC, given that it has two major versions in RTM?

The DataSet number is just outright depressing. Microsoft did the .NET community an enormous disservice when it pushed DataSets as THE ANSWER to data access in .NET. No single part of the framework has caused me more grief across my entire .NET career than the use of DataSets as a data access medium. I just pray that the newer technologies will gain traction and we can finally put the DataSet out of its misery.

The MVC/WPF numbers also surprise me. I simply find it impossible to believe that a beta product is being used on par with a product that has been RTM for over 2 years, even one as difficult to use as WPF. Maybe web developers also tend to spend more time on the web? Maybe people answered the question based on what they would like to be using, instead of what they are currently using like the question asked? Or maybe even after all this time Microsoft has still not made a compelling case for using WPF over WinForms? I'm not sure, but of all the numbers in that survey, that is the pair that most loudly cries out for an explanation.
Thursday, October 23, 2008 6:27:27 PM UTC
Silverlight isn't there because I screwed up. I agree it should have been there.

Agreed on the DataSets thing. Satan.

Perhaps MVC is filling a vacuum and it really resonates with folks?
Thursday, October 23, 2008 6:47:42 PM UTC
The fact that so many people use ADO Datasets scares the hell out of me, but given the amount of crap I see in the wild, not even slightly surprising. It just boggles the mind that it still goes on given the arrival of generic collections a few years ago, and now LINQ.

If there has been any significant misstep in .NET, it was Datasets. They're a relic of the crappy drag-and-drop "development" days of VB6.

I think the WPF thing is simply a long transition. There are a bazillion crappy line-of-business apps in WinForms out there, and they'll be slow to retire. I wouldn't read into it beyond that.
Thursday, October 23, 2008 11:42:15 PM UTC
I think for a future survey it may have been worth asking to choose from a development category to see how the numbers stack up with the split. eg:
- Enterprise
- Shrink Wrapped
- Mobile
- hobby
- etc

From the enterprise space this has been my experience...

UI

Deployment is a hassle particularly with the locked down SOEs and the blanket application of group policies enterprises like to roll out - never is the phrase "It works on my PC" more frequent. So you develop Winforms apps to be deployed to Citrix like environments or you develop Webforms. When you consider how much easier web servers are to deploy to and publish from than Citrix servers - for us at least - web ends up being the first preference. So given how rich you can make a web app with Ajax, JQuery etc we almost never develop new Winforms apps and therefore WPF apps. The best shot XAML has for us (by us I mean my employer not enterprise developers generally) is via the Silverlight route. Most .Net developers I know have a very active interest in MVC because they feel the model is neater (than ASP.Net) and more consistent with the how the web works, plus they already know HTML, many of the web based protocols and the many well known patterns used to make their apps scalable etc.

Services

If you have a service requirement WCF wins hands down - particularly if you're calling services as well as hosting them. You'd be nuts to use ASMX for any new development.

Persistence

I'm sure my employer represents a fairly small minority because we currently use NHibernate. We ditched DataSets etc years ago. Linq to SQL is cool, but we don't use SQL Server - we'd like to but are mandated to use DB2. So Linq to Entities are being considered against NH 2.0.

Work flow

On a recent project we had a work flow requirement, but chose to roll our own for two main reasons. One we don't run SQL Server so we didn't fancy the prospect of implementing our own WorkflowPersistenceService. Two we felt our workflow requirements were too simple to warrant the WF stack. In retrospect I think that second conclusion could have been reconsidered ;o).

Single Sign On

We didn't even come close to considering CardSpace. Instead we went for a SAML implementation. In the end we chose to use ComponentSpace. BTW if CardSpace does do SAML, I'm all ears.

Friday, October 24, 2008 4:01:40 AM UTC
I'm glad to see high results for MVC and LinqToSql.

I've always wondered how the usage compared between LinqToSql and EF. I'm not a huge fan of the EF and it seems I might not be alone.
Friday, October 24, 2008 4:38:03 AM UTC
The number of Dataset indicate that all participants are not above average developers.
Friday, October 24, 2008 5:37:10 AM UTC
1. Heavy use of older stuff: ASMX, DataSet, WebForms, Windows Forms
You'd be hard pressed to find new blog entries on it but it shows that older (tried) technologies don't sync up with what's popular. The last few projects I've worked on have had development cycles that far exceed the excitement of their underpinning technology. One needs to remember that excitement and hype aren't what make something useful, it's use. So the people who talk down DataSets do so in the face of what obviously works for a silent majority who are busy getting stuff done.

2. Some new stuff won't take, some new stuff takes off
The respondents using CardSpace and WorkFlow are dismal. I can match the "unscientific" survey with a lot of my own experience in the last few years and conclude it's within a broader trend. On the other hand, LINQ To SQL has very heavy use for something relatively new, almost on par with ADO DataSets which one could argue are in the same competitive space. That says to me that in some cases adoption is just slow when there's a "legacy" counterpart for a technology but in others, when the new technology is compelling, people take to it very quickly.

3. WinForms > WPF
More than twice the respondents but here's my conclusion: it's all about the toolset, not the technology. WPFs tools are not on par with their WinForms equivalents. The dual Blend + VS strategy doesn't make sense for a large majority of us who don't have full time designers we work with and the lack of built in controls (such as a DataGridView) mean as cool as rounded edges are, function trumps form when programming.

4. MVC?
Last I checked this was *just* released as a beta. More people claim to use that than WPF which seems to indicate a Hanselman type majority in respondents. Even if I wanted to jump into MVC, until it's at a "1.0" release I couldn't (and I'm wondering how others seem to be doing so) justify starting or migrating a major product to a product/framework that isn't yet complete.
Friday, October 24, 2008 5:45:06 AM UTC
By definition, Twitter is early adopters ... I know that I deliberately left off ticking MVC because whilst I 'play' with it, I don't use it on any production systems or client work. I also know ALT.NET guys that like it, but end up using Ruby on Rails when they want MVC love on real client apps ...
Saturday, October 25, 2008 5:13:04 AM UTC
Nifty list. Silverlight, as mentioned, should have been there, but overall interesting. It also goes to show that your readers are relatively top notch professionals I'd say. Most, probably nearing 90%+ of .NET Devs probably don't have the slightest comprehension of MVC, nor would they have any reason. Then of course I'm still surprised these days to run into anyone that knows about Workflow or even WCF. There are still tons of developers out there banging away - frustrated as they may be - with the older technology. One thing that isn't on the list thankfully, and is waning in numbers out there in the market, is the archaic ASP Classic. That stuff just isn't right. Never was.

Overall, cool survey, skewed or not skewed.
Monday, October 27, 2008 6:05:16 AM UTC
Very interesting survery! And may I ask where '.NET Remoting' is? Have you assumed it as a somehow deprecated technology that no one should use anymore?
Wednesday, October 29, 2008 3:45:02 PM UTC
@David in Dakota,

"So the people who talk down DataSets do so in the face of what obviously works for a silent majority who are busy getting stuff done."

The "silent majority" are busy banging their heads against a brick wall trying to accomplish their task with outdated and hard to use tools. Sure, they can get it done eventually, but that doesn't mean anything; I can scrub a swimming pool with a toothbrush if you give me enough time and feed me intravenously. Most developers simply take what they are handed and try to work with it, instead of investigating (or even asking) whether there is a better alternative. Particularly for DataSets, the amount of blogs and sample code that poured out of Microsoft in the early days of .NET touting DataSets as "the answer" for data access was enough to overwhelm anyone, and many .NET developers simply succumbed to the pressure. The fact that they haven't stopped to consider using Linq to SQL or Entity Framework or even NHibernate does not mean that DataSets are working for them, it just means that they cannot or will not lift their heads up long enough to find something better. Even worse, DataSets were not just promoted for use in the data access layer, but in all three layers, as "business objects" with validation, and as presentation models with data binding capabilities. So DataSets end up getting passed through every layer of the application, making them all but impossible to remove even if you want to.

I agree with your other points though :) Especially WPF tools versus WinForms tools; Blend is a scam, and although WPF is clearly a better technology, until it becomes as easy to use as WinForms it will lag behind in adoption.
Thursday, October 30, 2008 7:22:45 PM UTC
Thanks for the info Scott, Nice to know what features people use. It's quite interesting how many people are using MVC.
Sunday, November 02, 2008 10:32:55 AM UTC
When we started developing with .NET, we hired some really expensive Microsoft consultants. Those consultants advised us to use datasets and so we did. We use datasets in the client and the middle tier. We need to do a ginormous amount of refactoring to remove those datasets.

What technologies does Microsoft promote today that will be considered a failure 3-4 years from now?
rr
Monday, November 03, 2008 5:04:16 PM UTC
Good job Scott, you got quite a good sample, speaking of numbers, but I have to disagree on the data quality: it seems that people that voted have a web oriented background (they probably are readers/listeners of yours). Better it would have been if you choosed your sample source from heterogeneous groups (ie desktop, web, mobile etc.) in a fair way. Love your podcast. Bye.
Saturday, November 08, 2008 11:06:03 PM UTC
However skewed the results might be, it is still interesting how much more popular Linq to SQL is compared to Entity Framework. It does make you wonder if the ADO team does really listen to their clients by basically killing the former in favor of the later. Many people are angry about that move. Linq to SQL has a lightweight, it-does-the-job feel to it that EF will never have. Integrating L2S with EF just doesn't cut it, just as it is also the case with Linq to EF. Sorry for ranting, but that survey just made this decision even more frustrating.

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.