Pros and Cons of PHP

Posted on 2013-05-22
Last Modified: 2013-05-23
I'm a longtime Microsoft shop developer, SQL Server db guru, former ASP and VB zealot, current C# evangelist.  Recently was "forced" to develop a major web-based application in PHP, java script (jquery) and MySQL on a Linux/Apache system.  Had to learn all of that stuff from square one, never bothered to spend any time on it before.  Took me about a month to get up to speed and deliver a working version.  I have been able to get more done, in less time, with super-slick results using PHP/MySQL than I ever did with anything from Microsoft.  Not without its drawbacks to be sure.  So now that my inner developer has been reawakened, I'm curious why it is that even in the anti-Microsoft world there are a lot of coders that beat up on PHP.  It seems to me that its relative lack of formality is a strength, but many view that as a weakness.  My other attempts to get rational answers from the anti-PHP crowd inevitably end up with some juvenile script-kiddy insults about "real" coding.  I'm a results oriented guy, so I'm hoping I can get a higher class of input from this crowd.  So why is there so much animosity towards PHP, and does PHP have a viable long term future?  Any insight will be appreciated.
Question by:zythatech
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2

Expert Comment

ID: 39189748
I will not say it's insight, but these are some pros of PHP.

1. Large free support on the Internet (You don't need to pay for Microsoft support). This is especially important as many normal users who want to learn programming won't want to risk money to buy something they don't know whether it is good.

2. Many servers already have PHP installed or can be adapted to PHP easily. PHP can be installed on Windows, Mac and Linux while Microsoft servers need Windows (PAID product)

3. (Personal opinion) Microsoft things have a bad reputation of being buggy and inefficient. (It is common for large-scale projects like Windows but Microsoft is doing this really bad)

4. PHP is simple and share something with C. I just self-learned for a year(I haven't learned C and C++), and I can already use a large portion of standard functions rather quickly.
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 39189760
1. Large free support on the Internet...
In my experience, the same can be said of .NET.

2. ...while Microsoft servers need Windows (PAID product)
Actually, the Mono project now has an ASP.NET piece. See

Expert Comment

ID: 39189814

Thank you for your comments.
In my opinion, PHP gains this huge popularity because
4. PHP is simple and share something with C.

When I just started learning programming, I read books of many different languages in book shops. There are only a few ASP.NET books but lots of PHP books. You may say that this is biased, but judging from first sight (by looking at code samples), PHP codes are simpler to understand.(I read books like "ASP.NET for beginners") These are my own experience, and you are welcomed to object me.
Secure Your WordPress Site: 5 Essential Approaches

WordPress is the web's most popular CMS, but its dominance also makes it a target for attackers. Our eBook will show you how to:

Prevent costly exploits of core and plugin vulnerabilities
Repel automated attacks
Lock down your dashboard, secure your code, and protect your users

LVL 83

Accepted Solution

Dave Baldwin earned 333 total points
ID: 39189825
I was thinking about this earlier today.  There are two groups of programmers and web designers.  One is the group that just wants to get something easy done easily and the other wants it to be done thru 'real coding'.  HTML4, PHP, MySQL and Classic ASP for that matter are in the easy crowd.  HTML5, ASP.NET, Microsoft SQL Server and JAVA are in the 'real programming' crowd.

If you look at the 'easy' stuff, you just start doing stuff though it would be nice if you followed the rules.  Often the browsers will make some sense out of what you do anyway.  The more involved it gets with things like database programming, the better the code needs to be to actually work right.

If you look at the 'real' coding, the first thing you always see is the 'include' or 'import' of every library that you are going to need.  You are required to be more organized from the start or else it just won't work.  When the 'real' programmers see how easy the 'easy' stuff is, they get pissed that they have had to work 'so much harder' for their daily bread.  After all, Anyone can do the Easy Stuff.

If you look at the questions that are asked here, the .NET questions far outnumber the PHP questions.  .NET is more difficult even with all the functions that are available for PHP.  I have thus far been too lazy to learn any .NET programming simply because it was too hard to get anything done.

I have a copy of the original NSCA web server by Rob McCool (the basis for Apache) on my Windows 3.1 machine along with a copy of Netscape 0.9.  They don't do a lot but what they do, they do easily.  "Anybody" can use them and that's where the internet came from.  That has pissed off 'real' programmers ever since 1991.

Assisted Solution

mickey159 earned 167 total points
ID: 39189946
PHP does have a long-term future. imo making programming easier is a worthy thing to do. If a easier alternative is given, complicated ones will gradully phase out.

I completely agree with you. PHP does things easily but the so-called "real" programmers don't like it. They think doing things the harder way is smarter. So my advice is don't listen to them and judge it yourself.
LVL 83

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 333 total points
ID: 39190069
I forgot about the future part.  PHP runs Everywhere, Linux, Apache, Windows, IIS, nginx and AIX and Unix and Mac OS X... On the PHP download page , there is a list in the left column of OS distributions that include PHP (and MySQL Community Edition).  And PHP is open source so if you have a decent C/C++ compiler, you can compile your own.

If you have .NET... it will run on Windows with IIS.  If you have SQL Server... it will run on Windows.  Except that a lot of hosting companies severely restrict what you can run.  They usually block anything that requires 'full trust' on the server.  So if you want the latest and greatest from Microsoft, you may have to set up and pay for your own server and connections to the internet.

I get PHP, MySQL, and Apache on Linux for $10 a month or less, $15 for Deluxe Hosting!  I even have one host that will let me compile and run my own C/C++ programs as long I don't mess up the server.

I forgot.  Also PHP, MySQL, and IIS on Windows for $10 a month or less, $15 for Deluxe Hosting!
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 39190537

And PHP is open source so if you have a decent C/C++ compiler, you can compile your own.
The Common Language Infrastructure (CLI)--the standard governing the .NET runtime--has been published by Microsoft through ECMA, and anyone is free to create their own implementation of the .NET runtime, as the Mono project did.

If you have .NET... it will run on Windows with IIS.
And, as I previously mentioned, other platforms if you partake in the Mono project.

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question