One of the major differences between .NET and PHP is the outstanding performance and reliability that PHP provides.
I am always asked by people, especially students, about the reason why I prefer PHP technology over ASP technology. In its simplest form, I can safely say that PHP is safe and secure (by default) while .NET is not. It is obvious that .NET supports easy web development and fast production. To produce a website by a beginner using PHP might take 50% more time than it would take using .NET.
An expert PHP programmer, though, can produce solutions using PHP in almost the same time required by .NET developers. PHP outstands when it comes to cusotmized solutions (especially those related to customized GUI components such as combo boxes, complicated SQL queries displayed in simple XHTML forms, etc.)
PHP also outbeats .NET when it comes to XHTML validity since the XHTML written while coding PHP is completely up to the developer while that written by .NET is written normally by tools that don’t produce valid XHTML.
Today, however, and while browsing for an online payment gateway provider other than my current provider, I ran across a website that uses .NET technology for its website. I will not state which website for security reasons. I sent them an email to fix the error with the hope that they do fix it before somebody finds the website.
The picture that you will see below is an EXACT snapshot from the website.
The error that you see is related to the fact that .NET displays errors by default while PHP hides them. PHP runs in two forms explicitly named Development and Production. When in production mode, errors are NOT displayed and, thus, it is impossible to face such an error using PHP. DOTNET, on the other hand, displays all errors by default and the result, as seen above, is a perfect lead to a “beautiful” security breach!