I am now in the middle of my first major ASP.NET MVC project after (and at the same time) programming in classic ASP for many years. I also programmed in ColdFusion, and I tried using Python as an alternative to ASP.NET MVC.
If you want to stick with Microsoft technology, MVC comes closest to classic ASP. Webforms is indeed Microsoft's way of making web applications look like application development. Microsoft has tried to distract from the fact that the Internet is a stateless environment. However, this leads to pretty ugly things, such as a viewstate (a hidden form field that tries to preserve the state of all form fields) and controls that generate HTML that you have absolutely no control over.
MVC gives you more control and allows you to handle statelessness, as classic ASP does.
I still found that there is a steep learning curve; you will need to learn a lot if all you ever did was vbscript / ASP:
- Syntax C # or VB.Net
- Object-oriented programming in general (inheritance, dynamic and static, etc.).
- Concepts like lambda expressions, delegates, etc.
- MVC Template
- Most likely also data access technology such as LINQ or Entity Framework
I am still struggling with some of them, but I get there. It requires a lot of work and perseverance. Not everything is better or simpler than classic ASP. Especially for me, since I used WSC in classic ASP for many years, which allows you to use n-tier applications in classic ASP and completely excludes spaghetti code.
As I mentioned, I also looked at Python as an alternative; Although we switched to ASP.NET MVC at the company Iβm working on, I really found switching to Python a lot easier. The only reason we went with MVC was that when using C # / MVC, it was easier to get new developers. (In retrospect, this was not really true, it is very difficult for us to find a suitable programmer in C # where we are)
Remember that in Python you still have to learn basic object-oriented programming, but the implementation is much easier to use than .NET, and Python (IMHO) is more like vbscript than VB.NET.
I also liked the fact that I do not need to determine the type of each parameter / parameter / parameter. It sometimes drives me crazy in C #; if the type of the function changes, it can affect many other functions and variables, which all must be changed. In addition, the syntax is easier to select because the language is simple and there are not hundreds of ways to do the same.
You can choose between different frameworks, MVC or non-MVC, and you can use Python in many other areas (application programming, scripting - for example, XBMC).
There are also ORM solutions available as Entity Framework for .NET, and I found the one I was looking at (SQLalchemy), much more powerful and easy to read than EF.
So, at work I am currently learning ASP.NET MVC, at home I am slowly building Python. I suggest you try a very simple project in different technologies and choose the one with which it is easiest for you to start.
Hope this helps.