How come the most popular CMSs are in PHP? [closed]
WordPress, Joomla, and Drupal are all in PHP. These are also by far the most widely used CMSs out there. CMSs in other languages (Plon in Python, Hippo in Java, Radiant in Ruby) only have a small fraction of that popularity. This gap is not as dramatic when it comes to other tools of web development, like frameworks, where many popular powerful frameworks exist in those languages (Django, Rails, Play, Spring Roo..etc.). Is there a particular reason for this?
I would say, at least :
- Many think PHP is easy and that anyone can hack some stuff in a PHP application -- which means many will use a PHP CMS thinking they'll be able to fix / adapt stuff if needed.
- PHP is free (opened, and costs no money)
- same for MySQL and Apache, which are generally used with it.
- Those CMSes are free (opened, and cost no money)
- They have a important communities
- Which means its quite easy to get support
- And there are lots of plugins available
- There are lots of cheap hosting services that provide PHP
- Far less provide JAVA / .NET / Ruby / Python
PHP is a robust language that is forgiving to newbies. In my opinion, a lot of people begin their programming journey through learning the basics in PHP. As PHP has grown, it has become a truly object oriented language that is more than capable of efficiently running CMS. Further, PHP's integration and long history with the most popular web server software in the world, Apache, ensures that the CMS can easily be installed with little work.
PHP's original implementation was released in 1995, the first of its kind. Development of frameworks takes a long time. If you start developing today, it will take you atleast 2 years to reach the level wordpress has reached today given that you "copy" wordpress. RoR was released in 2004 or 5. You can see the difference.
In essence, PHP has been around for a lot longer than a few of those languages (especially Ruby) and it's a vastly more common "base" install on low-end servers. As such, it's inevitably going to be targeted a lot more by people wanting to create such CMSes.
That said, without wishing to comment on the CMSes you list, popular does not necessarily equate to good.
I'm going to say that they're likely as popular as they are because they are written in PHP.
PHP has a very large install base, and is available on nearly every hosting platform, unlike Python & Ruby. The barrier to entry is low for someone setting up a website, when the hosting provider provides a script to install a PHP CMS in a couple of clicks.
As a CMS (or any package) becomes more popular, if it is open source as all those PHP CMS applications are, it will attract more developers which may result in more features and more popularity. Rinse, repeat. Case in point: Drupal.
精彩评论