7 reasons I switched back to PHP after 2 years on Rails (2007)
11 points by ucirello
11 points by ucirello
For what it’s worth, this was originally posted during the height of Rails fad fever, and I got SO attacked online because of it.
You don’t see it here, but on the original O’Reilly blog, and I think Slashdot and other forums at the time, there were so many nasty comments attacking me personally for daring to insult their tool du jour.
That was the day I learned to disconnect from my public persona. That both attacks and praise are not about the real you:
how do you think about the maintenance burden for you and the update requirements for your users (running your php software) as PHP changes every couple of years?
That's a big downer for 'personal' hosting, isn't it and I am still wondering about a solution how moderately skilled netizens can runs their own cause. I know of e.g. yunohost, but that feels to big a trusted computing base bringing too much volatility.
Shared hosting, however, is either volatile base (php) or statically compiled CGIs, which are rarely used to implement attractive services.
It’s funny because this was the exact time I started as an independent consultant and was torn between Django and Rails as a base for my work. I knew Python already but Rails had a pretty decent head start. Torn between the two, I wound up asking both communities and the results were illuminating: the Rails community was incredibly toxic at the time. From then on, I’ve believed all Hot New Tech Thing communities wind up with at least a crusting of this from those who have bought in “mindlessly” and, left with no way to justify their decision, lash out whenever someone dares to ask Why.
~ucirello I remember reading this back when it was originally published, thanks for finding it. Rails and PHP are in very different places now. Heck, the relentless activity of the last few years of Laravel compared to the nearly-flat decade Rails has had is a stark difference. Is that why you posted it?
Yes -- I had this dialog with a colleague couple of days ago about how PHP is actually very much OK for many 2026 applications, that its "Fractal of Bad Design" phase is (almost) a thing of the past.
A good chunk of that post was also simply whining about all the backwards compatibility and stuff not being fixed, while being written in the PHP 5 era which a) lasted very long and b) was exceptionally stable. PHP 7 started tackling a lot of the problems.
Many of the core devs really wanted to fix a lot of the problems, but the consensus was to not break existing code.
After reading this I can't help feeling some melancholy..
those days when LLMs didn't exist and you just sat down and coded a thing from scratch in months and felt so fulfilled when it worked and the code was beautiful.
I know a reply to a comment is not the best place to bring up a huge subject, but…
Around tech - whether as coders or consumers - we often hear, “I wish we didn’t have to do things the way we do them now. There were benefits to the old ways.”
We rationally know that we don’t have to do things the current way. We don’t have to pay an LLM to code for us. We don’t have to use JavaScript to make HTML. We don’t have to install social media apps on our phone.
Yet most people act like they have no choice but to do things like everyone else.
I sincerely don’t know why, but I want to understand. This is a real question. Anyone have any insights?
sivers avatar sivers 11 hours ago | flag |
Once an audience becomes big enough, the majority that doesn't care about the technicalities of a thing but does the technical decisions, however. It's mass momentum.
On top comes vendor lock in. Those who don't care (the mass) direct momentum if there's not a strong resisting will.
There is some Sisyphus inherent in our mindsets. Upfront disclosure: I have a tart, you might say negative, way of speaking when I really mean I love something so read the following as such.
I often describe the fundamental challenge of being a developer as being ok with realizing how dumb you used to be every six months or so. As we overcome new challenges we gain more experience and ideally get some meta experiences that show us ways to take care of whole classes of that last problem in one fell swoop. This means we can build larger/ better things faster and more reliably. Hooray! Except what we do is take on larger challenges. Things that would have seemed like the lifetime work of a genius to me 25 years ago are stuff I can spin up in a couple of days. So while we could spend our days crafting ethical sourced bits in a bare text editor to provide gorgeous, artisanal Todo Lists like Shaker furniture, instead we all continue in the pursuit of whatever our White Whale or Northstar was to begin with (even if it hasn’t been consciously discovered yet). The things I am building with agents right now are a lot of Busman’s Holiday projects I always wanted but never had the patience to do the drudge work of setup, plumbing and devops for. So now I’ve extracted a repeatable process (meta experiences, Level Up!) to take care of that and I have spent the last couple of months burning myself out by producing a dozen or so New Things I Always Wanted.
So what I am working on this weekend: figuring out how to slow the pace to bring back some of that artisanal craftsmanship and satisfaction, because it’s clearly not just about pushing bits out the door. And pour one out for all the people implied but unmentioned in my previous paragraph, the ones who didn’t go this far, either because the rock rolled over them, they got stuck somewhere halfway up the mountain or, mostly, they realized rolling a rock was something you can just stop doing. But not me, I am definitely going to hit the top.
Back in January 2005, I announced that I was going to completely scrap over 100,000 lines of messy PHP code in my existing CD Baby (cdbaby.com) website, and rewrite the entire thing in Rails, from scratch.
The code was not beautiful. 😆
There’s only one most beautiful baby in the world, and every mother has it.
I loved that code. I was very proud of that code. I thought it was beautiful.
I guess I was referring mostly to this paragraph:
Then in a mere two months, by myself, not even telling anyone I was doing this, using nothing but vim, and no frameworks, I rewrote CD Baby from scratch in PHP. Done! Launched! And it works amazingly well.
Damn, I miss CD Baby even after all these years. I discovered music that I still love today.