Both are server side scripting tools and many people get confused as to what to learn (or what to learn first). Both do the same thing. The question “Asp.Net or PHP” can be hard for the newbie. So here are some pros and cons of both.
PHP is Easy.
In terms of language, it’s mediocre compared to C#. But it is widely used exactly because it’s mediocre – it’s easy on the syntax and flexible to use. Also the whole environment – OS (Linux), Server (apache), Database (SQL) – are free.
Hence all and sundry use PHP as their first language for server side web scripts. As a result, you don’t get much money working in a company as a PHP developer.
Another great thing about PHP is that since lots of small website developers use PHP, you could get freelance work in many job sites like Elance. The bad site on the job front is that companies will pay you less for your PHP skills than if you know ASP.Net.
Also popular content management systems (CMS) like WordPress, Joomla & Drupal are built with PHP. If you are planning to go into them, then you should know PHP.
On the other hand …….
……as a framework, ASP.Net is superior. You can code in a plethora of languages viz. VB.Net, C#.Net, VC++.Net.
Companies invest on Dot.Net because:
- Dot.net has better tools for programmers like visual studio with intelligence and many other controls. It’s SQL server has better GUI than any other databases.
- Great debugging tools with step by step process, breakpoints etc.
- Its great for rapid development as ithelp programmers spend less time writing code.
Then you have the benefit that after learning c# or VB (Which you learn whilst learning .NET) that you can code in ASP.Net and flow right into app development and/or client side development using same language. So lots of upside potential career wise.
If you are neither here not there because:
- You find coding hard
- Your philosophy is to start simple
Then here is another neat trick.
Learn PHP. Get a job as a PHP developer. Since it uses C like syntax, grasping C# will be easier. Get a Dot.Net certification. Then switch to same or another company with existing experience and dot.Net knowledge.