The Toyota Corolla of programming
70 comments
·August 4, 2025linkage
catigula
This is very ignorant of a modern Corolla in a lot of ways.
As an example, since 2023, the standard base level Corolla has an automated suite of driving assistance technologies that blow away anything Mazda offers even at their highest level of expense.
There is only one car that passed testing for automatic emergency braking from 62mph to a dead-stop (future standard) - the Toyota Corolla.
maxerickson
The sibling comment is defending what Java has grown into also.
Reubachi
Great analogy, horrible example in the analogy heh. (Hate to nitpick)
Of the two, Mazda3 would be the "less frills, cheaper, works", especially in 2025.
I also don't recall a period of lack of trust for corolla due to design/repair ability; My great uncle always talks about his "first real, new car" being a 69 corolla that was a workhorse. That paved the way for the JP takeover by the late 80s.
Freedom2
Modern Java is quite good these days, no? Type inference, fibers, text blocks, records...
I agree if we were talking about Java 8 (and I have no doubt a lot of people are still unfortunately using that), but I wouldn't mind a modern Java setup as much as I would have in the past.
perching_aix
Pretty funny you mention Java 8 as a negative example, I remember it being widely heralded as a step in the right direction that was a long time coming and a breath of fresh air.
dionian
The JVM and its ecosystem are the best thing about the Java platform. Not the language, i dont even use it anymore and i am nearly 100% JVM based. But even then its still not horrible. it's just that there are better options like Scala.
iainctduncan
PHP did well for ONE reason: it was really, really, really easy to deploy. This was, of course, underestimated by programmers in the know, but I remember first getting into web dev, and I could start putting real programs (!!!) on the web, in minutes!
I would say it was more like the bicycle. Cheap, no license, even a kid could be suddenly zooming around town with no ceremony, no red tape, minimal investment.
I haven't used it in well over a decade, but still remember fondly how great it was as a gateway drug to bigger and better things.
aaronbaugher
Yep. I was doing Perl CGI scripts at the time, and you often ran into deployment issues somewhere along the line of uploading the scripts via FTP, making them executable, and setting the permissions on any files that needed to be written. Building PHP into the web server instead of external CGI scripts eliminated a lot of that, so it was more likely to just work without some back-and-forth with a web admin to get things setup right for CGI to work. It wasn't the language, but the way it was deployed.
PaulHoule
Other languages caught up with PHP.
As I remember it all the early languages that let you write code inline with the HTML were proprietary such as server-side Javascript built into Netscape's web server, ColdFusion, ASP, etc.
PHP was the first of these that was open source and basically competent which made it my #1 choice for making web applications in 2001. Compared to many other languages (say cgi-bin) it was pretty fast without a build step and had enough resource management that hosting firms could offer cheap PHP hosting plans which made world-changing open source products like Wordpress deployable.
It got long in the tooth quickly because people realized that to make quality web applications you had to have a part of your framework (a "router") which could serve different pages based on the inputs. For example, if you are doing server-side error handling on a form you either display a form that says "successful" or you re-display the form with error messages. You certainly can write PHP that does that if you have some discipline, but once you introduce a router you might as well write your "views" with some kind of templating system and after ruby-on-rails every language got frameworks, typically Sinatra-like, which were about as comfortable as PHP and that pushed you into having some discipline.
cosmic_cheese
Its HTML-inline nature is the entire reason I ever used it. At some point in the early 2000s I came across PHP’s include, which felt like the piece of HTML that’d always been missing. Suddenly I no longer had to manually keep all that header/nav/footer code in sync across N pages! Magical.
It wasn’t until Rails rolled around that I built anything resembling a “real” web app, though. The structure and convention it brought made it much more approachable than PHP, because all the examples of more involved PHP at that point were chaos-spaghetti that was a challenge to tease apart and use as an example for learning.
kstrauser
PHP is so hard for me to describe. I used it a lot in the late 90s when we were migrating off mod_perl because it was a great way to add dynamic data to otherwise static pages, and no one really knew how to develop large sites yet. We were making it up as we went along. But ye gods, the language was bad. “A poor craftsman blames his tools” and all that, but imagine a screwdriver with 2 handles and 3 tips projecting at random angles. Sure, you could assemble an IKEA desk with it, but would you want to? And would you look suspiciously at anyone who claimed to love that weird screwdriver when the equivalent of a Snap-On was available for free from the same place they got the weirdo?
I think that’s the root of much of the horror. No one would bat an eye at using PHP to add little bits of server-side content here and there. It’s great for that! But then you see the giant castles of non-Euclidean horror built with it, and people pointing to them and saying “see what you can built with that weird screwdriver?”, and parts of the castles randomly fall off and kill their owners. No! While that’s impressive, it doesn’t exactly inspire confidence in the screwdriver, or in the people who keep using it to build things larger than it was clearly able to do well. But heaven help you if you point out that there are saner screwdrivers. “You’re just being close minded and out of touch! We added another handle to it and removed the razor blade so it’s much better now!”
Maybe so, but wow, it’s still one hell of an odd screwdriver.
jamil7
The article loses impact due to the way the author keeps self-conciously mentioning how the "PHP haters" are wrong instead of just explaining the possible usecase for PHP better.
I've never really used it but it would have been somewhat useful to know why anyone would choose this language for a greenfield project in 2025, given the choices available. The reasons given are pretty unconvincing to me.
woleium
Php developers are easy to find and cheaper than the alternatives, that alone seals the deal for many businesses
DonHopkins
I wouldn't trust a PHP developer who wasn't able to figure out how to become a JavaScript developer.
steelbird
Not everyone wants to become a JavaScript developer.
woleium
… who are also relatively inexpensive and easy to find?
Zak
The author makes a fair point that the language is no longer the fractal of bad design it was in 2009, but doesn't make the case for starting a green field project with it in 2025.
What does it do better than other languages? The article mentions features that sound like parity with other modern languages, but nothing that stands out.
sharpshadow
Maybe it is a good base for vibe coding since there is a lot of code around?
Zak
There's a lot of bad code around, and I think the protections of a (good) static type system are likely of particular use in that scenario. I'd be interested in reading a test of that prediction if anyone has done it (but not interested enough to do it myself).
graemep
I think the advantages are pretty much what they always were.
1. Easy deployment - especially on shared hosting 2. Shared nothing between requests means easy concurrency AND parallelism 3. Mixing with HTML means you do not need a separate template language
Not everyone will see the third as an advantage, and many web frameworks, including PHP ones, prefer a separate, more restrictive, template language. It can be a footgun, but it is very convenient sometimes.
hombre_fatal
I think #1 has been outdated for a long time. FTP or copying files through CPanel hasn't been more convenient than workflows like `fly deploy` where you don't even need to know about a remote file system nor about a server that's already running. And php-fpm being called by nginx is also more complicated than just "node script.js" or running a compiled Go binary.
While I never actually wanted it, #2 was kinda cool spiritually. Same with CGI or a Cloudflare edge worker.
kstrauser
I think 1 is a myth. It’s easy to deploy as long as you don’t care about atomic updates, like the newly uploaded version of foo.php importing bar.php which hasn’t been uploaded yet. Solve that, say with a DAG of which files to upload in which order, and it’s no longer easier than anything else.
Like many other things, PHP makes it easier to do the wrong thing than other languages which make you do the same thing correctly.
fragmede
Wouldn't that be better solved by uploading everything to a v2 directory and then renaming the directories?
null
bigstrat2003
Honestly the author doesn't even make a great case that PHP has improved since 2009. His arguments mostly seemed to be "don't use the old busted way, there's a better way now". But if you have to go out of your way to remember to not use the old busted way, sooner or later you will shoot yourself in the foot. Having good defaults matters, and the author seems to ignore that.
sjm-lbm
I think you're underestimating how hard it is to shoot yourself in the foot when using the PHP language defaults and the defaults for any modern PHP framework - it's genuinely hard to do.
I still don't think PHP is a good idea for a greenfield project or anything, but they have done a good job of hiding all the footguns.
daft_pink
I think the allure of javascript is the idea that you can use sparse server resources and have your software mostly run on the client side.
I’m resistant to using php, because I really don’t want to have heavy server resources, but if I were building an app that used heavy server resources anyways, I would be open to php.
ChrisMarshallNY
I’ve used PHP for more than 20 years. It’s my “go-to” language for the backend. I’m not a server programmer, and PHP is fast, well-supported, and, if you’re a decent programmer, you can write robust, secure, performant servers in it.
I also really don’t like the language. I’ve never warmed to it.
But I think it will still be around, as a principal backend language, for the next fifty years.
I feel like this graph says it all: https://w3techs.com/technologies/history_overview/programmin...
I call it "The Fishtank Graph," for obvious reasons.
89vision
I wonder where this graph gets it's data from. Scala sitting at 4.6 percent and python at 1.2 percent is not what I would expect, but my perception of the industry could be totally off.
dagw
I wonder where this graph gets it's data from
They've apparently written their own web crawler that attempts to infer what language is used based on a bunch of, unspecified, heuristics. I wonder if at least some of the problem is that it is very easy to see if site uses PHP and much harder to see if a site uses a python backend and a such most python using sites just aren't being counted.
ChrisMarshallNY
I think that we tend to have personal biases, depending on the context of our relationships and professional cultures.
I totally believe the graph, if only for things like WordPress, and a number of other infrastructure-level tools.
I know that the porn industry is still big on PHP. There was a post here, some time ago, that linked to a PornHub programmer, talking about their IT stack, and it was all PHP.
It's a boring workhorse. The "boring" part is attractive to IT pros.
rrr_oh_man
> server-side programming languages for websites
Maybe because most websites are Wordpress websites.
89vision
The PHP thing is believable, I'm just still stuck on scala vs python based on my observations from working in the industry and being part of the hiring process for both of these languages. Perhaps it's because I work in B2B SAAS where these products aren't always necessarily exposed to the public internet.
captainkrtek
Yeah this feels off, though if its assessing all/many sites it could make some sense, versus assessing the top N sites by traffic.
ChrisMarshallNY
See my note about the pron industry.
Those sites get a lot of traffic.
I did notice that JavaScript (which may include TypeScript) is going up, but so is Java, and that Java is still higher than JavaScript.
woleium
i feel like that graph just shows wordpress dominance (43% of all websites) and a bit of joomla (2%) and drupal (1%), which are all php based.
PeterStuer
There's few programming environments I hated more viscerally than PHP. Yes, it got the job done. But thank God I never had to maintain that giant kludge of duct tape and elastic bands.
0xbadcafebee
I think the author means the Nissan Versa of programming. Corollas are quite a bit more expensive and hold value longer. But both are very useful.
I've written more shell scripts than any other language for close to a decade now. The reason is simple: I'm not writing web apps. I mostly do system programming (that is to say, tasks needed to build or maintain a system or are generally user-focused yet non-interactive). You don't need more than a shell script for most of that.
My contemporaries will, of course, pooh-pooh a shell script on general principle. If it's not using a more "advanced language" it must be unreliable or unmaintainable or ugly. Yet the practical experience of writing programs in multiple languages over years leads me to the same conclusion: literally any language will do. You could use BASIC for system programming. You could use ASM. It will work. People will argue over whether one language is "better" than another, but who cares if it's better or not? If it works it works. But that's because nearly any language works for that kind of program. Other kinds of programs need advanced features, so you need a more advanced language. But for simple tasks? It doesn't matter.
To go back to the car analogy: you can use literally any car to pick up groceries. You can't use any car to pick up 3,000lbs of sandbags.
If we were scientists and not craftspeople, none of these discussions would be relevant. We'd pick up the tool designed for our specific purpose and not bicker over our personal preferences or idealistic principles. But our languages, and our approach to using them, is anything but scientific. We're just a bunch of tradies talking shit at the water cooler.
normie3000
Aren't Corollas reputed to be functional and reliable? Seems like a weird analogy.
antonymoose
Having always referred to Java as the Honda Civic of language-ecosystem, I take offense to this claim that PHP is the robust, cheap, and reliable workhorse.
lucasyvas
PHP is a DeLorean. I think I encountered 10 segfaults in it within 1 year which is a complete joke. This was only two years ago.
It also includes breaking changes in point releases which is a nonsensical maintenance strategy - this is in stark contrast to the reputation of stability in a Corolla.
While PHP may have some strengths, it immediately fails this particular comparison.
9dev
> I think I encountered 10 segfaults in it within 1 year which is a complete joke.
Segfaults in PHP are highly unusual. The language definitely has warts, but it's extremely well tested and usually doesn't crash in production, unless you're using unstable extensions or pre-release versions.
> It also includes breaking changes in point releases which is a nonsensical maintenance strategy
There are lots of projects out there that do not follow semver for their releases; that doesn't mean it isn't stable in itself. Having said that, every PHP release at least has proper change logs so you can safely migrate to a new version.
GiorgioG
I will never give PHP any serious thought. Back in the mid 2000s I started an app hosting company as a side-gig. I started out hosting FogBugz (bug tracker) because Fog Creek Software only offered it as a self-hosted option. I had zero problems for 9 months - it was a Microsoft ASP based app (IIRC). Then I decided to host a helpdesk app called HelpSpot. At the time it was a one-man startup and he didn't offer a SaaS option either so he was happy to send customers my way. The software itself was fine (and it's still around) but it was a PHP-based system and no matter how up to date I kept the servers, the PHP servers got hacked over and over due to PHP's complete disregard for security at the time. My claim to fame is I hosted Twitter's first helpdesk. I got tired of getting home from work and having to rebuild servers almost weekly, so I "sold" my fledgling little sidegig for $2k. Screw PHP.
bbarnett
While it certainly could have been PHP, the amount of poorly coded PHP back then was more often the issue.
It's one of the main reasons that frameworks exist today. 99% of DEVs are not security conscious enough, and would leave gaping holes in their code. No input validation, SQL injections, trusting data posted to code without validation, on and on.
If you were continuously hacked no matter the update, likely the code was the issue not PHP. Or of course, your servers were backdoored at that point.
A framework often protects from much of this.
GiorgioG
Sorry, I don't buy it, PHP was complete and utter garbage from a security standpoint at the time:
https://www.cvedetails.com/vulnerability-list/vendor_id-74/P...
https://www.cvedetails.com/vulnerability-list/vendor_id-74/P...
Java is more akin to the Corolla. Utterly insipid (by design), lacking in refinements compared to competitors like the Mazda3, and made for people who just see it as a way to get from point A to point B.
PHP is the Hyundai Elantra of programming. It used to be popular because of low adoption costs but was the butt of jokes for a long time because of its questionable design and poor reliability. But like the Elantra, it has come a long way and is actually decent these days.