Pros and Cons of PHP

Posted on 2013-05-22
Medium Priority
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 http://www.mono-project.com/ASP.NET

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.
Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

LVL 83

Accepted Solution

Dave Baldwin earned 999 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 501 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 999 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 http://www.php.net/downloads.php , 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

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

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

This article discusses how to create an extensible mechanism for linked drop downs.
Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
Suggested Courses

801 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