views:

1483

answers:

3

As a classic ASP developer about once a year since ASP.NET came out I decide I really gotta buckle down and learn this fancy new ASP.NET. A few days in and messing with code behinds and webforms and all this other stuff I decide the new fancy stuff is whack and go find something else to learn (PHP and Ruby and Python were all fun to play with but I couldn't use it much with my existing ASP stuff).

Anyway, one project came up and I was able to use PHP and CakePHP and after getting my head around MVC I finally found something I liked and felt is was worth using over ASP (PHP is cool too but it feels a lot like ASP so maybe that's why I like it so much). But now with Jeff and the SO team raving about ASP.NET MVC, I think it's about time I start messing with ASP.NET again but I keep thinking that PHP is free and blah blah blah . . . is ASP.NET MVC that much better than PHP with tools like CakePHP? I know about compiled vs. not compiled and speed issues but most of that seems like a non-issue when you factor in all the caching and the fact that you can compile your PHP if you want.

A: 

ASP.NET MVC is sparsely documented at present -- and of course it depends on your background. If you don't know ASP.NET yet, I wouldn't recommend jumping into it with ASP.NET MVC, too many layers of learning at once.

ryw
+3  A: 

For a classic ASP developer moving to ASP.NET MVC you are looking at learning a new language (C# or VB.NET), a new database layer (ADO.NET), and a new framework (ASP.NET MVC).

That's a lot of new technologies to wrap your head around all at once.

Also, I don't think it is so much that ASP.NET MVC is so much better than CakePHP (or Code Igniter, Ruby on Rails, etc.) The great thing about ASP.NET MVC (and other ASP.NET-based technologies such as MonoRail http://www.castleproject.org/monorail/index.html) is that developers who are using ASP.NET now have the option of following the MVC pattern using tools and languages they are familiar with. That is an option that wasn't available before.

GloryFish
In all fairness, he could use VB.NET for ASP.NET as well, particularly if he was using VBScript for classic ASP.
R. Bemrose
Just to be pernickety - it was available before with http://www.castleproject.org/MonoRail/
roryf
Good point about VB.NET, added to my answer. Also good point about MonoRail. Thanks!
GloryFish
+2  A: 

Not too experienced with Microsoft's web stack, so I can't speak to that.

But I will say I as a web developer I was pretty disappointed by CakePHP. What especially bothers me about it is that because it forces itself to be backwards compatible with PHP4 therefore it lacks much of the oop design and structure I am used to. ei. everything ends up being array based instead of state in an object.

Personally after spending sometime with cake and being disappointed I decided to suck it up and learn Ruby on Rails, which I am doing now. If you wanted to stay with php I would look at symfony, but they are all really heavily inspired by rails.

Mark Lubin