C# (.NET) vs PHP Which is a better web development platform
Jan9Written by:
2009/01/09 03:01 PM
This question has been one that has been asked for many years but no definite answer has been forthcoming. Very much like which soft drink is best Pepsi or Coca Cola. It’s really about personal taste and what you can get out of it.
There are two major development platforms to choose from. They are PHP and .NET from Microsoft. Then choosing .NET you have a further choice of development languages, being Visual Basic, C# and C++.
Cost of ownership
PHP has, over the years been a great development platform. One of it's main pro's is that it is open source and free. The costs of ownership and development are minimal. Running on a Linux OS and using mySQL as the back end database and Apache as the web server, all of which are open source, reduced the cost considerably. This was very attractive to students and those who could not afford the set-up prices of other systems.
Many People believe that the open source market is the way to go. They have this unexplained fear or hatred for Microsoft.
Over the years the biggest con against MS has been its cost. This has to some degree been addressed. You can now download all the MS express editions (limited versions) free from MS. In fact with the express editions of Visual Studio products you can create quite a range of excellent professional products.
Products include: MS SQLExpress, C# Express, VB Express, WebDev Express.
There is now little difference with hosting providers when it comes to hosting Linux/Windows/PHP/.NET.
With php, you are now platform independent, you are not locked into one particular OS
However, don't discount .NET. It is an excellent platform to program in.
.NET is a framework. The major MS languages like VB, C# C++ all use the .NET framework which makes interaction and integration a lot easier.
IDE and RAD
Visual Studio Supports a great IDE with Two way tools and with great plug-ins available that makes programming a cinch. This is what is commonly termed as RAD. Rapid Application Development. The idea is that you concentrate more on development and design than syntax and coding as such.
PHP does not have a great IDE, none that I am aware of, and none that are considered Two way tools.
There are howver many new IDE comming out on a daily basis. The PHP IDE market is maturing at each turn. The added benifit is that you have more IDE's to chhose from. How ever, in my honest opinion, none of them have reached the standard of the Visual Studio IDE.
Check out my post, PHP for Beginners – Choosing an IDE. I also write PHP code within Visual Studio with a cool plugin. In my post Writing PHP Code in Visual Studio I explain all about it.
Two way tools are in essence, the ability for your Graphical Interface to write the code behind, and also when you write the code behind you graphical interface (IDE) changes as well. Another advantage of .NET is that you can program desktop applications with it as well, your new skills in .NET will not limit you to web programming as such.
Support and responsibility
Many large companies prefer MS over open source platforms such as PHP. This is because there is a definite face to the Product. Namely, Microsoft. To Many, the Idea of Open source and PHP conjures up images of geeks in a basement with little support or responsibility. If there is a bug in .NET you can phone MS, talk to a person, someone is responsible. To many this is an attractive module, there is security in it, there is history. Sometimes with Open Source you have no idea what you’re getting. For instance there are so many versions of Linux, and you can change the code to create your own version. To many this smacks of lack of control.
However the open source market has evolved to a much more mature model and a lot of these fears have been addressed.
Conclusion
I have used both, but prefer .NET mainly because of its IDE, RAD and Plug-in tools available. Both support a mature security protocol. In essence security is protocol dependent and not language specific.
- Both are mainly server side execution. You would still use JS for some client side execution.
- Both have tons of help and tutorials on the net.
- Both have excellent support for many databases.
- However .NET is considered by some to be the better choice for lager sites and projects.
So for me, I would recommend MS .NET with C#.
I have put up some MS WebDev Tutorials for beginners on my website if you’re interested. Also Check out my PHP for beginners series which I have just started.
Let me know what your preferences are. I would be interested to know.
Related reading:
PHP for beginners – your first PHP program
PHP For Beginners – Introduction to Variables
Is there a Linux IDE that can rival Visual Studio?
Is PHP a skill set or a professional track.
Developing C# applications using Free Tools.
Using and Downloading Microsoft's Visual Studio Products for Free.
blog comments powered by