I come from a computer science type background (lots of usaco style problems), working mainly in C/C++ and recently decided that I wanted to get into web development. I have some experience with C# making basic Windows Forms Applications as well.
I spent some time researching what seemed to be my two best options: PHP/MySQL or ASP.NET MVC. I figured that I would go with ASP.NET largely because I was much more familiar with strongly typed languages and although I am more of a linux/vim fan, I am comfortable using VS.
I have a fairly basic knowledge of html/CSS and was expecting to develop this further as I followed my ASP.NET MVC web dev path; however, after starting to go through some tutorials/information, I am noticing how abstracted everything seems to be with html helpers etc. Am I going to learn all the fundamentals of web development or am I just going to learn how to develop sites within this particular environment? If so, what might a checklist of prerequisite web development knowledge look like? that I can go through before proceeding with ASP.
Could a case be made for starting with PHP/MySQL to learn how everything fits together, without an IDE organizing and abstracting everything for me, and then proceeding with ASP.NET MVC?
I’ve been an ASP.MVC based developer for a while now and I recently picked up a PHP/MySQL project in my spare time that utilizes CodeIgniter, which is a similar MVC framework for MVC. If anything, ASP.NET MVC has helped me out with my learning when picking up a new language, especially when that language also has the ability to utilize a similar MVC Framework.
My opinion would be to dive straight in to ASP.NET MVC. You have better tooling, better support and resources and I’d say it’s easier to get your head around as it’s not a scripting language like PHP.
In comparison to other .NET/non-.NET tech that I’ve used, MVC is far easier to understand and pick up. Though that’s just based on my personal experience.