Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The only thing actually wrong with PHP, is that it's popular but not cool. And that's a terrible place to sit for any product.

It runs half the Internet quite well, but if you went by the posting on HN, you'd think it was Windows Vista.

I've probably read every article critical of PHP that has hit the front page of HN in the last few years, and the one thing they all have in common is the vague refrain that PHP is a broken language. And yet the gap between tangible proof of that being the case in real world use and the gossip of it supposedly being true, couldn't be wider.



> The only thing actually wrong with PHP, is that it's popular but not cool.

No, what's "wrong" with PHP is that other things that are better have come along since. That's not a fault of PHP, that's the nature of language evolution.

> It runs half the Internet quite well

COBOL runs tons of mission critical business services quite well. It doesn't mean that nobody's improved on COBOL or that you should use it for a new project today.


> No, what's "wrong" with PHP is that other things that are better have come along since.

The problem is, no, nothing else has. Node.js is awesome and fun, but far harder to set up for basic webpage serving. Python is awesome, but also has a huge learning curve to learn how to serve basic webpages with. And... I can't think of anything else. Perl? ASP? Java is a huge pain to set up and maintain.

What other language out there is better than PHP for getting simple webpages up and running quickly? I wish there were one, but when you consider practical aspects instead of just theoretical ones, there really isn't. Sadly.


> The problem is, no, nothing else has.

Myself and an army of other ex-PHP developers disagree.

> What other language out there is better than PHP for getting simple webpages up and running quickly?

This discussion is not just about "getting simple webpages up and running quickly". In fact, it's pretty clear people are talking about developing web applications, and not slapping together a quick and dirty page or two.

If you want to have a discussion about what language is best for inexperienced people to whip up a simple site without having to bother learning much, that's fine, but that's not this discussion. At the very least, that's certainly not what Marco was talking about, nor Jeff in the blog post Marco was responding to.


Don't take it personally, but I've seen a lot of confirmation bias from ex-PHP developers.

Often from developers who may, thanks to language Y, write more elegant code on the line / function level, but still create the same architectural mess as they did before in PHP. (Rails doesn't save you from creating a mess, neither does the broad separation of concerns of any MVC framework.).

There are thousands of ex-PHP developers out there that think they are now better programmers because they now use Ruby or Python, building thousands projects that proof otherwise.

Five to ten years from now, people will be bitching on HN about legacy RoR software like there's no tomorrow. And they'll probably be blaming the language and/or the framework.


There is no shortage of people complaining about RoR today. [1][2]

Also, does the word "ghetto" ring any bells?

Not that I think Python solves all the problems well either. I'm a fan of Lua, personally, but only because it's a much cleaner language design, and it's faster, and it's easier to set up, and it's easier to write Node.js-style code that's easier to read, and... well, I guess there are a few reasons.

[1] http://discuss.joelonsoftware.com/default.asp?joel.3.309321....

[2] http://techcrunch.com/2008/05/01/twitter-said-to-be-abandoni...


> Don't take it personally, but I've seen a lot of confirmation bias from ex-PHP developers.

> Often from developers who may, thanks to language Y, write more elegant code on the line / function level, but still create the same architectural mess as they did before in PHP.

That's a longer-winded version of "You Can Write FORTRAN in Any Language". Certainly nothing exclusive or even particularly unique to PHP or PHP programmers.


If whats around 5-10 years from now represents the same improvement RoR has made over PHP in the last 5 years, we better be mad when developers working on team projects try to perpetuate RoR's use.


No, it's exactly the point Marco was making:

> But when I wanted to write Second Crack, I went right back — it was a quick little project that I only wanted to spend a couple of days on, so it didn’t justify the overhead of learning a new language.

Whether it's webpages or web apps, nothing else is better than PHP for getting something small up and running quickly. That's the whole point of why Marco feels "addicted". I really wish there were something better in this context, but there isn't.

(And what do you mean, "ex-PHP developer"?? I've never heard someone call themselves an "ex-C" developer or an "ex-Java" developer. You make PHP sound like a cult or religion, instead of just a popular programming tool.)


I think "ex-PHP developer" just means someone for whom PHP is no longer the best thing for getting a small web app up and running quickly.


I think I trust ex-PHP developers' opinions about as much as ex-girlfriends' opinions.


>The problem is, no, nothing else has. Node.js is awesome and fun, but far harder to set up for basic webpage serving. Python is awesome, but also has a huge learning curve to learn how to serve basic webpages with. And... I can't think of anything else. Perl? ASP? Java is a huge pain to set up and maintain.

The crazy thing is that all of that could change with a simple project that does <?coffee > (or whatever) style templating while automatically offering access to CGI data and cookies at a scope reasonably close to the global one. This should take days to implement, and when I have a few of those to spare, I plan to tackle it.


I think you're right, I just made the same comment in this thread. That could really be the key to getting, say Node.js to turn completely mainstream.


What I'd like to do is make a project specifically for CoffeeScript (and maybe also JavaScript) which would run with minimal configuration under several CommonJS supporting environments like v8cgi and Node. The conversion from <?coffee ?> templating is extremely simple, and beyond that, it's simply a matter of pasting on some boiler plate to set up global variables. I honestly think that the reason it hasn't been done is that it is so easy to implement that people feel it must not be worthwhile.


Nope, you are purely defining "better" as "how easy it is for someone completely ignorant to start making stuff".


No. Marco's point was that he went back to using PHP. Are you saying that he's completely ignorant?


He does seem to be ignorant in regard to languages that are not php.


Yes, and it's a standard redefinition of better in CS that you seem unaware of. Go and read the canonical "Worse is better" paper.


I guess that what bothers most of us oldtimers is that better things have existed all along! :-)

better = in a better "programming language design" sense only


> The only thing actually wrong with PHP, is that it's popular but not cool.

Hey now, we're all human. Even engineers. As soon as something becomes popular, it is no longer cool. Cool is the next popular. Cool is being different. That's just how things work.

Apache is slooooow (NGINX is cool!). MySQL is retarded (Postgres is cool!). PHP sucks (Python is cool!). Red Hat is lame (Ubuntu is cool!).

See a trend? The tech that sucks is the most popular and well established. The tech that's cool isn't popular. It has nothing to do with any objective qualities of platforms. It's all about being a part of the cool croud!

Remind you of high school much?

Now, if this is just a hobby, who gives a shit? Roll with the cool kids. If you're starting a business, be aware that the future welfare of your family is relying on your decisions. Think real hard about that.


I don't know enough about MySQL vs Postgres or RedHat vs Ubuntu to make a point with them, but sometimes it's not about being cool.

Apache is a webserver from 1995. It uses a process (sometimes a thread) per request, a architectural decision which made it nearly fundamentally incapable of solving the C10K problem. Only back in January was the Event MPM added (and it's still experimental), allowing you to have many Keep-Alive connections open at once without degrading performance. Nginx was started in 2004, and is event-based allowing for much higher concurrency. (Yes, I'm hand waving.)

PHP is among the worst languages most sane programmers have ever used. The referenced article, "A Fractal of Bad Design" is a pretty good starting point if you want more details on why it sucks. PHP stands for letting amateurs code effectively. Python is designed with an emphasis on readability, and manages to have a rational type system and a fairly regular standard library.

Apache vs Nginx is about learning from the mistakes of your ancestors. Apache was designed with the 90s in mind, and our technology has moved on to the point where the decisions made in its architecture simply don't work anymore.

PHP vs Python is about being a rational, non-masochistic, human being.

To say what is cool "has nothing to do with any objective qualities of the [technologies involved]" is to know nothing about programming as a business.


You wrote a well thought out response. I owe you a response in kind.

People have a tendency to overrate their rational capacity to reason out a viable decision. While you listed a few solid critiques, the situation is infinitely more complex.

And by infinitely, I do mean exactly that. As in, beyond your capacity to reason it out.

In the end, the only right decision is a decision which withstands the test of time. Both Apache and PHP have done that and continue to do so.

Apache holds 65.5% of the market [1]. PHP holds 77.9% of the market [2].

Those solutions are working, right now, for all of those people. That's reality, not grand "rational, non-masochistic" theories.

[1] http://w3techs.com/technologies/details/ws-apache/all/all [2] http://w3techs.com/technologies/details/pl-php/all/all

Now that we're finished with that, I'm going to enjoy myself.

> a architectural decision which made it nearly fundamentally incapable of solving the C10K problem.

C10K is not a problem and never was. The limiting factor in the overwhelming majority of deployments is the pipe. Apache can saturate the pipe just as well as NGINX. You will saturate the pipe long before you reach 10K connections. Which is why people continue to use Apache. Being technologically superior is pointless when there are no real-world benefits to that technological superiority.

On top of that, Apache's thread model provides it with greater stability. If a worker thread crashes for whatever reason, another will simply spin up. If your NGINX process dies, you'll need to wait until your monitoring solution brings it back up. Which could be a long time.

> PHP is among the worst languages most sane programmers have ever used.

Worse than COBOL? Yes, yes, a fractal of bad design! Except that article was written by somebody who doesn't have much experience in PHP and most of those complaints don't apply to the current stable version. The rest are easily avoided with sane design.

> Python is designed with an emphasis on readability

Was that humor? Python shoves its version of readability down your throat and laughs as you choke on it. Not all of us get off on syntactically significant white-space. In fact, most of us don't. Which explains why Python is so unpopular. But I get, I get it. It's cool.


The first half of your post is basically a long-winded appeal to popularity. Yes, most people on the web use PHP and Apache. Most people on the web also need nothing more than a WordPress installation and their online needs are met. Does that mean WordPress is the best tool out there? You should stop confusing popularity with quality, because the two rarely overlap.

> C10K is not a problem and never was.

Somebody better tell the developers of nginx, Lighttpd, Tornado, node.js, Cherokee, Apache Deft, IIS, and Jetty! All those hours wasted developing solutions to a problem that doesn't exist.

> Which is why people continue to use Apache.

For someone who just decried a situation "infinitely more complex" a few line breaks ago, you sure did generalize the reason millions of servers use a certain piece of software. It couldn't be because Apache has an easier installation on most of the common distros or that cPanel/WHM, the most-used virtual hosting control panel, only supports Apache as its web server. It also couldn't be because of mod_php.

This all stems from your conflation of popularity with quality. PHP did not become popular because it was good. It became popular because it was easy to learn and run.

> Except that article was written by somebody who doesn't have much experience in PHP and most of those complaints don't apply to the current stable version. The rest are easily avoided with sane design.

Most of his criticisms were completely valid, so I'm not sure where you're getting the author doesn't have much experience in PHP. Which ones have been fixed in the current stable PHP? And which ones can be avoided "with sane design"?

> Which explains why Python is so unpopular.

Now I know you're spouting nonsense: https://github.com/languages/


> Most of his criticisms were completely valid

Not even close. The author trolled through a bunch of other misinformed articles, copied some them verbatim mistakes and all. He doesn't know PHP and didn't research anything.

> Which ones have been fixed in the current stable PHP? And which ones can be avoided "with sane design"?

http://news.ycombinator.com/item?id=4177516


In regard to his "objects compare higher..." point, I think he was referring to this:

    class MyClass {}
    class YourClass {}

    $myclass = new MyClass();
    $yourclass = new YourClass();

    var_dump($myclass > $yourclass); // false
    var_dump($myclass < $yourclass); // false?
In regard to his "there's no pass-by-object identity..." point, there's no way to do this:

    class MyClass {}
    
    $myclass = MyClass;
    $anotherclass = $myclass();
I really don't have the energy to refute the rest, but most of them are relatively subjective. (I say relatively because most of them promote better programming, but their absence doesn't directly harm)


> In regard to his "objects compare higher..." point, I think he was referring to this:

That all comparisons between objects, except equals and strict equals, return false doesn't seem terribly unreasonable.

> In regard to his "there's no pass-by-object identity..." point, there's no way to do this:

    class MyClass {}
    $myclass = new ReflectionClass('MyClass');
    $anotherclass = $myclass;
    $instance = $anotherclass->newInstance();

    $myclass = 'MyClass';
    $instance = new $myclass();
> I really don't have the energy to refute the rest, but most of them are relatively subjective.

I think you'll be hard pressed to find too much fault with my criticisms of that article. The author doesn't even know common language terms like private/public/protected. And clearly he's never even seen C++.


> return false doesn't seem terribly unreasonable.

It should throw an error, not return false. This goes back to PHP's "try as hard as possible to run the script" mentality.

The author doesn't need to know C++ to comment on PHP's failings, does he? And he knows private/public/protected— you even quote him using them. You're probably not familiar with Python, but there aren't any private methods (aside from double underscored-prefixed methods, but that's not entirely the same). That's where he was coming from. It's not that he doesn't know those terms; it's that he thinks that's how they should work.

Judging by your other responses, you're quick to toss out whether someone is a "PHP programmer" or not, as if that has any bearing on their argument. I'll tell you right now, I work in PHP five days a week, and I agree with most all of eevee's points.


> It should throw an error, not return false. This goes back to PHP's "try as hard as possible to run the script" mentality.

I don't disagree. Although I think this goes towards PHP weak typing not it's try as hard to run the script.

> It's not that he doesn't know those terms; it's that he thinks that's how they should work.

He thinks they shouldn't exist at all. Which is one philosophy but that's not a valid criticism.

> I'll tell you right now, I work in PHP five days a week, and I agree with most all of eevee's points.

Even where he clearly doesn't know what he's talking about and didn't try the code he was supposedly saying doesn't work?

Those who don't know their tools are bound to have more problems or believe things that are just wrong.


>The first half of your post is basically a long-winded appeal to popularity.

No it's not. We're not talking about music --how popular Bieber is vs Bach, for example. So he didnt just say "tons of people use PHP", he said "tons of people use PHP and it solves their problems giving results".

This is not an "argument by popularity", its an argument by number of empirical verifications. Which is supposedly what engineering and science is all about.

On the other hand your arguments are appeals to "logic", "theory", etc, eg idealism and elitism in the face of actual results. "That's (eg python) is how a language should be, and not like php" etc. All the while forgetting to take no account practical, verified, php benefits.

>Yes, most people on the web use PHP and Apache. Most people on the web also need nothing more than a WordPress installation and their online needs are met. Does that mean WordPress is the best tool out there?

OIf it meets their needs and has them happy, of course! Anything else would be dellusional to say.


> So he didnt just say "tons of people use PHP", he said "tons of people use PHP and it solves their problems giving results".

The original discussion was about whether PHP was a good language. He came in and said, "It is because look at all the people who use it! Obviously it's fine!" That's an appeal to popularity.

> On the other hand your arguments are appeals to "logic", "theory", etc, eg idealism and elitism in the face of actual results.

What results? We're not talking about Mom & Pop's Homepage, here. Posting about how most sites run on PHP doesn't help us when we're not talking about most sites. We're talking about building apps.


Reading through your responses, I'm curious about how much experience you actually have in our industry. Most of what you claim is easily falsifiable.

The idea that C10K doesn't matter is definitively untrue. I've worked with numerous large systems (games, content) where Apache was the problem, and swapping it out was the solution to making maximal use of the hardware and the (gigE+) pipes.

Even outside of saturation, there are large-scale systems that benefit from being able to park an open socket and provide asynchronous notifications over that socket (in web terms, think websockets). If you're paying for a thread or process for every socket, this becomes prohibitively expensive very quickly.

It's also not an unusual use case outside of traditional web development, and now with websockets, this kind of architecture is likely to see considerably more use. This approach provides numerous advantages to legacy polling approaches, but does not work on traditional short-lived connection software architectures.

In addition to the above, your discussion of robustness really has no bearing on Apache's architectural suitability in production use-cases.

Auto-restart functionality exists for other architectures, and in addition to that, it's standard practice to deploy multiple servers with automatic failover behind a load balancer -- in addition to the server process itself, the OS can crash, disk drives can fail, power supplies can blow, etc.

Additionally, you shouldn't have production processes crashing regularly, and shouldn't be making significantly performance-impacting architectural choices on the basis of Apache's ability to restart a child process. Software crashes in production are a worst-case failure, akin to a drive failing, and should never be so common as to justify Apache's performance costs/constraints.


PHP stands for letting amateurs code effectively.

I hear this a lot. I think people assume that because lots of amateurs use PHP, it must be helping them be effective. This is not a safe assumption. A shoe does not help amateurs drive nails effectively, no matter how many amateurs you see using one.

For a better of idea of how amateurs interact with PHP, see http://stackoverflow.com/questions/tagged/php


> It has nothing to do with any objective qualities of platforms.

The problem is, it often does take into account objective qualities.

The downsides of popular platforms are often ignored because they carry with them all the advantages of popularity: good support, a well-established community, a wealth of experienced people you can hire or draw upon.

These are not "objective qualities" of the technology, but real side-effects of popularity. In fact, you could say it's a technology's popularity that fools you into ignoring many of the objective qualities of the platform.

I think part of tech hipsterism (which, let's face it, is what you're talking about) is a rejection of this groupthink, and a return to true technological thinking. It's the ability to say "we don't care what's popular, we're just going to look at what works again and see where we end up." I think this very idea is considered 'cool' in the tech world because we tend to like people who think logically about their problems and don't just blindly follow what people have already done. We like people who look at lesser-used technologies (which all of the "cool" tech you listed above actually are) just on their technical merits alone. This is, perhaps, one reason they're considered cool; because it takes actual thought to break away from simply using what everyone else has used for years.

So I think you have noticed a definite trend, but I don't believe it's as purely social as you imply.

That said, "be aware that the future welfare of your family is relying on your decisions" is an argument that's used in so much Enterprise software that it's almost scary. Often the most popular, most entrenched, least risky, biggest company with the largest pockets wins because the CTO can't be blamed for fucking up that decision. It's an incredible driver of technological stagnation in the Enterprise world. It is great to think through your decisions to their far-reaching impact, but be thankful that all of technology is not driven by that kind of strictness, or we'd never use anything new.


There's a delicate balance between healthy skepticism that comes from experience, and enthusiasm for trying new things.

Going with cool new things for everything is very risky. This is terrible for established businesses, it's great for startups with no legacy and no pressure to maintain inertia. There cultural differences are endemic to the realities of both types of businesses and aren't just the product of politics.


https://en.wikipedia.org/wiki/Association_fallacy

Just because a technology is "cool" doesn't mean that you're acting like a high schooler for using it. Nor does using non-"cool" technology make you an adult.


I would think that not quoting Wikipedia articles in a conversation makes you an adult, but what do I know ...


I'm assuming you don't have any arguments left because you're needling me on my wikipedia link rather than addressing anything I actually said. If that's the case, you're really not adding anything constructive to this conversation.


> Now, if this is just a hobby, who gives a shit? Roll with the cool kids. If you're starting a business, be aware that the future welfare of your family is relying on your decisions. Think real hard about that.

Truer words have never been spoken. When you think about it that way, these types of arguments about why language X rocks/sucks become trivial and unimportant.

I like to geek out over languages and technologies as much as the next guy, but there needs to come a time when you put your foot down and make a decision based on more important reasons than personal preference/feelings towards a language.


But the problem is MySQL and PHP are objectively, measurably much worse than the alternatives you have listed.

Cool-ness biases are perhaps not so easy to distinguish from justified ones.


I'd like to extend your claim to Redhat as well. I won't make the comparison directly to Ubuntu, but I will compare it to Debian. And in the realm of server-oriented tasks, Debian is hands-down a better option, from the point of view of a sysadmin.

I was a linux sysadmin at a university for 6 years, and I used linux personally for a decade (before switching to iOS dev). During that period, I've had brief, frustrating encounters with Redhat.

It's not that it is unusable -- anything which can be done on Debian can be accomplished on a Redhat box. It's death by a thousand little annoyances, which is exactly the argument against PHP, so I think it's an "apt" comparison (pun intended).

For example,

* How do you restart apache on Debian? "/etc/init.d/apache restart". On Redhat? "/etc/init.d/httpd restart". Ah, so Redhat is in the habit of renaming all of their init.d scripts after the protocol of the service? Nope, turns out they only did that to Apache's script. WTF?

* While we are picking on Redhat's Apache, they also chose to pollute /etc with a bunch of crap which doesn't belong there. Symlinks to /var/log/httpd, /usr/lib/httpd/modules, /var/run, etc. So now, when I grep /etc for something config-related, I pause and think "why is this grep taking so long...", and then a bunch of crap from /var/log spews onto the screen. Thanks, guys...

* Still on the Apache kick, they decided to make the default permissions drwx------ for /var/log/httpd, with root as the owner. Really? Root is the only person who will ever need to look at those logs? Perhaps chgrp'ing to adm would be more sensible?

* Which leads to another problem... because they put their WSGI sockets in /var/log/http (WTF?), which is... only accessible by root. Wonderful, so now I have to reconfigure all of my WSGI processes to stick their sockets into some other location, like /var/run. On Debian, this "just works".

* The package maintainer of util-linux arbitrarily decided to remove cfdisk because it was a "pile of junk" (https://partner-bugzilla.redhat.com/show_bug.cgi?id=53061 ). Really? Because every partition I've created on Debian for a decade worked just fine, using cfdisk...

* There is (was?) no "vim" package. On Debian, to install vim, you type "sudo apt-get install vim". On Redhat, you type "sudo yum install vim", then go search google for a few minutes, and then type "yum install vim-enchanced". Thanks, guys.

* Supported packages. At the time, the Debian package repository was something like 12,000 packages, while Redhat's was around 3,000. This meant that for any production system, you inevitably had to either compile and install lots of software by hand, or you had to rely upon the community (e.g. http://dag.wieers.com/rpm/) for pre-compiled packages, but now you've just thrown away the consistency and quality level which comes from e.g. Debian's Policy Manual, and you've introduced a rather gaping security concern into a "production" system. Wonderful.

That's all I can recall off the top of my head, but the gist here is that there are a ton of tiny little bad decisions which make Redhat suck, and there's simply no good reason for it. Its just a pile of annoyance.

Unfortunately, Redhat has somehow positioned themselves as the "enterprise" linux, so PHB's often make the technical decision to go with Redhat, completely ignorant of its technical deficiencies, dooming their employees to suffer the consequences.

Perhaps I'm jaded, but when someone tells me they run Redhat, I immediately assume they made that decision from a position of inexperience, and they simply don't know any better.


> * How do you restart apache on Debian? "/etc/init.d/apache restart". On Redhat? "/etc/init.d/httpd restart". Ah, so Redhat is in the habit of renaming all of their init.d scripts after the protocol of the service? Nope, turns out they only did that to Apache's script. WTF?

For historical accuracy, the HTTP server binary of the Apache project has been called 'httpd', compiles to 'httpd' in the source official distributions and is distributed as 'httpd' in the binary official distributions for ages, if not since day one.


While I also find Debian to be net superior, I'd say Redhat is nowhere near as bad in comparison to its alternative as PHP, or even MySQL.


Ubuntu is more popular than RedHat Linux


Not for servers. Which is what we're talking about.


I was a bit doubtful, so I looked it up... turns out you're only somewhat right: CentOS + RHEL are about 40% together (28.7% + 11.6% = 40.3), but Debian + Ubuntu are over 50% at (30.8% + 19.8% = 50.6). Arguably Debian is not Ubuntu (which is why I say you're somewhat right), but it is just what Ubuntu sysadmins grow up to, and has even more of a cool underground factor, despite being the most popular server distro. Of course RHEL and CentOS are the same thing as well.

Source: http://w3techs.com/technologies/details/os-linux/all/all (accuracy not entirely trusted, but it appears roughly accurate)


I have heard that there is a geographical difference where Redhat is more popular in North America while Debian is more popular in Europe. No idea if it is true though.


Follow the "deeply flawed" link in the article to see lots of bullet points of precise criticisms. The target of the link is http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-de...



Precise criticisms that are mostly wrong.


>And yet the gap between tangible proof of that being the case in real world use and the gossip of it supposedly being true, couldn't be wider.

Just because something is shitty to use doesn't mean you can't do productive work in it. We're all just poking Turing machines here. Let's not even talk about the enormous weight of sunk cost fallacies.


That is not an unforseen phenomena at all[1]:

Once you have something that grows faster than education grows, you’re always going to get a pop culture

-Alan Kay

[1] http://queue.acm.org/detail.cfm?id=1039523


It isn't as much broken, as it is just a bit annoying. Just a bit. Not enough to make it really bad, but enough to irritate you.


All languages are annoying if you go by the griping, the more popular a language is the more amplified the griping. It scales out of actual proportion to the flaws, and instead scales based on the popularity. Then throw in the wide spread use, the trendy nature of people, and you have a recipe for endless bashing. The better PHP serves the bottom 95% of developers, the more the top 5% will hate on it.


PHP "runs half the Internet quite well"? Source?


Common sense. Calculate how much traffic Wikipedia + Facebook + Wordpress + All The Rest generate. Calculate in the fact that most services talk to other services and more importantly, talk to Facebook.

Click on a link?

I promise, at some point, PHP is involved.


When you actually have a real source or numbers, let me know.


Not to mention that the web is not the internet.


Pretty sure almost everybody on HN understands the technical separation between the two.

Sometimes people speak in broad generalities, or use "Internet" when they mean "Web." It is in fact extraordinarily common.


> Sometimes people ... use "Internet" when they mean "Web." It is in fact extraordinarily common.

It's also wrong.


Apparently it's closer to 78%

http://w3techs.com/technologies/details/pl-php/all/all

No matter how you try to hide from it, it's blatantly clear that PHP runs at least half the entire Web.

What else exactly did you think was? Surely you didn't think Python was running half the web. Obviously Ruby isn't. So what does that leave? Coldfusion? C?


> What else exactly did you think was?

Well, in principle, there's no reason any one language has to run half the web by itself. And there are also static pages.


You don't agree with the notion that many tech products like web languages (or browsers, operating systems / mobile platforms, or whatever) tend to trend heavily toward a single dominant product (either due to one simply being better, and or a benefit derived from scale of use such as plugins or knowledge availability etc etc)?


Sure, they tend to, but in principle they don't have to. I would want to assume that the GP assumes that one language runs over half the web.

Of course, once actual evidence is involved, this is just an adventure in nitpicking.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: