I have a question, if PHP is a scalable language why Facebook released HipHop? I want to understand this! when does the website need to use some of C++ or vise versa to help in making PHP scalable? Is there a standard that we can say oh yes now our use of PHP in this website needs some extra plugins or tools to help in making it scalable?
Scalability is a design problem, not a language problem. A properly written program can be scaled up in any language. A poorly written program cannot be scaled regardless of the language chosen.
This said, some languages enforce structure that lends to scalability (such as Java). Other languages are so freeform that it is very easy to write code that will not be scalable (such as PHP). Proper planning remains key - there are un-scalable Java aps out there and there are PHP aps that have been scaled to a huge degree.
Facebook’s decision to go to HipHop lay in the realization that doing that would be easier than retraining the whole staff to use C++. Also, C is “closer to the metal” as it where, so it will run faster than PHP unless something is going wrong (such as the C programmer being a talentless hack like me). It was for performance reasons and had little to do with scalability.
What about ASP.NET using C#, does it force the programmer to make scalable websites? And my second and important question, how big the website should be to face scalibility problem in PHP? let’s say we have a website which has a 1,000,000 visit per day, will PHP scale in this case?
vbulletin (or vb 3.x) hits a wall around 2000 concurrent users - after that you have to start getting clever - implementing APC caching schemes, running multiple database servers or load balancers. I was involved in a site that could handle 10,000+ concurrent users (over 100,000 total users) but it was not easy to get a handle on.
I dropped out of the forum managing scene before vb 4.x came out so I haven’t been involved in any tests of it under load.
Jay’s right though - vb’s scalability has little to do with PHP’s scalability.