What I am posting about
I got more than a few comments from people that were upset about my "attacks" on ASP.Net MVC. I wanted to clarify a few things.
- I don't think that they are attacks, they are simply documenting frictions points that I find myself running into. And as usual, I write them as I go along, so you get whatever impression I had at the time. So if I am frustrated or annoyed, the post would most certainly reflect that.
- I have been doing the exact same thing for over 4 years now. And I don't think that the ASP.Net MVC is getting any special treatment here. I am treating that much the same way that I would any other piece of software that I use.
Finally, I would like to explain the method to the madness. I write about what I am currently doing. And in order to be blog worthy, it has to be either above or below average.
ASP.Net MVC currently falls in a very bad place in that regard. There is very little that it does that is above average to me, but as a new framework that I am using, there is a lot of annoying friction. The reason that it is unlikely that ASP.Net MVC will truly impress me is unrelated to the actual framework, I have been working on MonoRail for the last four years. I know MVC. There are some things that I actually like in the ASP.Net MVC framework, but they aren't individually important enough for me to blog about it.
I do plan to write a post about ASP.Net MVC sometimes in the near future, and so far, it is going to be a mostly positive post.
To the point, however, I am writing about what I do. Plain and simple. I have made significant mistakes in the past, and I'll do them in the future again. I can live with that.
Comments
Thanks for the post Ayende!
Very well written!
You're ASP.NET MVC attacks are strong, basically you point out all the flaws you can find in a pretty derogatory tone, i.e. by judging your last blog post:
"And yet ANOTHER ASP.Net MVC Bug"
Makes everyone think that MVC is riddled with bugs and just to make your point clear you use utilize SHOUTING CAPS technology. A lot of the times they aren't really bugs at all just 'design-decisions' and mis-interpretation of the API, which undoubtedly could use more clarification and examples.
Apart from that I haven't heard you say one positive thing about the ASP.NET MVC framework. Personally, I think its the 'cleanest' and most 'wrist-friendly' MVC framework I've ever used. I only wished that they had developed it sooner as I think its the ideal 'way' a lot of web apps should be written - which is definately something you dont get from reading your blog.
I agree with Demis.
Three points:
1) This isn't pre-school. People are way too touchy about critiques and criticisms when it comes to programming. If Ayende wants to criticize something he sees as a deficiency, he doesn't need to hold anybody's hand.
2) Like almost any other blogger, Ayende is opinionated. Deal with it. I think he's wrong at least once a week. Since he normally posts 47 times a week, that's a decent average.
3) I'd have a lot more sympathy for his 'plight' if he hadn't whined like a pre-schooler over Haack's funny Google crack, as if he'd been called horribly viscious names. When he wasn't. Don't be so whiny about people saying you are 'attacking' Asp.NET Mvc, when you just spent time whining about a friend making a funny joke that you decided to lose your sense of humor about for no reason.
4) People need to lighten up and laugh more.
5) He has an almost fanatic devotion to the pope....
I do think you're posts give the impression you don't like ASP.Net MVC. And they're probably more harsh then needed. But it's your blog, write as you please!
Out of curiosity, why are you using ASP.Net MVC, instead of Monorail, for this project you're currently working on?
Your posts are fine, of course, Ayende. Phil has responded fairly well, too. At the very least, he has defended their position non-terribly. I see this as a pseudo-casual debate - and if Phil couldn't take the heat, he'd leave. But he's much too good for that. So both big playas clash a little and we move on and suddenly we have something far superior to what we had before. Assuming that the MVC team takes any or all of Ayende's suggestions into consideration (which they almost certainly are), this could turn out pretty well for everyone.
That's how our industry works fairly often, actually, I've found.
good for you Oren. You shouldn't have to justify or explain the obvious but you have a high profile and that's the price you pay. That high profile is exactly why your critiques are important. Know quantities such as yourself can get the attention of the folks at MS and hopefully effect change. I'm not saying that's your goal, but we all kind of hope that someone will get through to the mvc team and have a good effect.
Demis,
At the time of posting, I believe it to be a bug.
At the moment, I think that this is a debatable design decision. And one that has managed to stumble me for too long.
As for saying positive things about ASP.Net MVC, see my next to last statement
Kyle,
Just to point out, my problem isn't actually with the responses of anyone of the ASP.Net MVC team.
alwin,
I felt uncomfortable using MonoRail for this project without really having done a project with ASP.Net MVC as a basis of comparison.
I decided to go with ASP.Net MVC on a real project because that would give me a real indication about how it is actually working in production env.
I don't think you're being overly hash on MS MVC. When I find myself battling a framework or technology, I would react in the same way to the things I find frustrating about it. In fact, I'm a little concerned about MEF, which I had planned on using when it comes out, becoming my own personal version of your experience with ASP.Net MVC.
@josh,
MEF had its first preview on codeplex a few months ago. We're planning a new preview soon, but still... it's something to look at and play with, not to take to production (yet). :-)
@Oren,
So what are your thoughts on ASP.NET MVC over MonoRail? Do you see any worthwhile reasons to change?
I haven't got a chance to use ASP.NET MVC yet so I found Oren post invaluable. I don't see anything wrong with his tone of voice either, so I hope he keep doing what he is doing. I think some people need to man up a little, if a blogger, like Oren, have to think twice before posting lest offend somebody, then it really take away the context of the post and the whole meaning of blogging.
Personally, I have found your ASP.NET MVC posts and responses by Phil Haack and others to be extremely helpful. They highlight issues that may or may not matter to me, they give me an opportunity as a developer to learn different approaches to problems and give Microsoft the opportunity to see what issues there are and whether they really matter to the community so that they can improve things (that sort of feedback must be very valuable to Microsoft). With my support hat on your posts give me the opportunity to learn why things have been written in a certain way or behave a certain way.
Your tone may not always be perfect but this is a blog and like you say reflect your state of mind at the time. I don't think the tone particularly detracts from your posts and at times actually makes it more interesting.
Keep up the good work and I agree with James I like to hear your thoughts on ASP.NET MVC and MonoRail.
If you find a bug, please report into CodePlex rather than marketing the bug.
@ Shiju,
Why shouldn't he post (or "market") the bugs? It might help others who have the same problems instead of keeping it quiet and waiting for you to fix it.
@James
His post "And yet ANOTHER ASP.Net MVC Bug" is a wrong title. Because its not a bug. That is how the API is intended to be used. He can give his opinion about the API design. But a post with title "And yet ANOTHER ASP.Net MVC Bug" is really look like negative words.
You are telling me you still read Ayende's post titles? I always go straight to the text :)
No matter the tone, this is one blog many developers, both ASP.NET MVC and non-MS follow and hopefully issues raised here will keep the MVC development team just a little more sharp.
I have to agree that you are coming off as unnecessarily negative, especially since several of the "bugs" you have encountered are user error on your end. I've been working with MVC for a couple of months, and I have done a lot of the things you've blogged about without running into the issues you've run in to (your recent select list post being a prime example). I think you are incorrectly assuming that just because things don't work the way you expect that they are poorly designed. Yeah, the documentation needs some love, but I've found most everything (including select lists) work as I expected on first guess.
@Oren
How dare you not drink the Koolade! ;)
Funny how so many people in this day and age lose their objectivity when someone identifies problems with their favorite "thing".
Shiju,
I do post them as bugs in codeplex.
That doesn't mean that I am not going to post about them here.
The alternative .NET framework is webforms... that should tell you why some are defensive about the asp.net mvc :)
I as well would use Monorail, but (ok, my slam) - it was changing so much all the time with guys rewriting the underlying structure of it that I was concerned about it's overall stability and it's persistence to live.
Hopefully constructive unbiased criticism will help the framework grow.
MS didn't listen at all with the Entity framework, so at least they seem to take input on this framework.
I guess my current project would be Monorail if my only current choice was webforms. (and I did many project with asp.net webforms and I was always fighting the framework - especially dealing with the client side and the markup it generated).
I would haven't even thought of writing an apology, let alone bothered to publish it.
There are exceptions, of course, but usually the best thing you can do for people is to tell them the truth, and as soon as possible at that.
That's why we use unit tests, isn'it?
I have no affiliation with monorail or ASP MVC. I just wanted to let you know though that reading your blog does look suspiciously like
01: You took offence (rightly or wrongly I have no way of knowing and no reason to care).
02: As a form of childish revenge you are posting as many negative things as you can about a product the perceived attacker works on..
This may or may not be the case, in honesty I am not bothered either way. I just wanted to let you know what I thought as I read your blogs.
In the grand scheme of life none of it matters. People should put this much energy into things that really matter, like people starving to death.
I think that is what people are saying is you could Disagree without being Disagreeable.
They're not saying don't point out problems, they're saying do so without attacking.
Comment preview