Due to the nature of my business, I come across various situations where I have to justify one technology platform over the other because client insists on one over the other. Mostly their reasons are not sound but I don’t blame them as software is not their primary business.
Few months back I was asked to prove that ASP.NET is better than PHP for a custom project. I put together few things gave pointers to client. I am happy with what I gave and thus sharing with you all here.
So here is how it goes:
There are multiple points to be considered in this scenario.
1. First of all there is nothing better or worse. Only better or worse for a specific task.
We need to understand that the existing ERP is developed using Microsoft technologies. Some of them pretty old.
Backward compatibility of ASP.NET with these technologies is much better than PHP without any doubt.
2. Although both the platforms can work well with all databases, preferred database for ASP.NET is SQL Server and for PHP it is MySql.
3. If somebody is giving an example of Facebook (which most people do in justifying PHP over anything else), they need to understand that:
Facebook uses a re-written PHP and a transformer+compiler called HipHop which transforms PHP code to highly optimized C++ code and then compiles with gcc.
We are talking here about the PHP we get for application developers from PHP.NET (as it is).
So example of Facebook is not at all relevant in our scenario.
4. They aren’t even the same thing. PHP is a dynamic scripting language. ASP.NET is a framework.
That said, PHP is very good at creating web pages with limited functionality. Basic static pages with some small dynamic content. Once you get beyond that, then you start looking for code “pieces” to use. A grid. A menu. Simplified database access libraries. Template Engines. Data caching libraries. Content caching libraries.
When you are done, you’ve basically hacked together your own custom PHP framework.
ASP.NET has all that in place, and quite honestly much much more. The larger the project, the better ASP.NET does. It’s got more overhead in terms of learning and coding, but as the project complexity increases, ASP.NET code complexity is fairly linear. PHP code becomes exponentially more complex and time consuming.
Following link contains feature by feature analysis of .NET vs PHP.
http://www.codeproject.com/Articles/102854/PHP-and-ASP-NET-A-Feature-List
And here are some reasons of using .NET over PHP.
http://www.sitepoint.com/v-php-top-6-reasons-use-net/
But again, you will find 100 articles recommending one platform over another. In my humble opinion, it all depends on your situation.
I sincerely believe that in our current scenario using ASP.NET is a much better option than PHP.
PS: We are also capable of building large systems in PHP as well but giving false information is not what we believe in.