6 ms·
Obligatory http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-de... I spent many years
by spellboots 13y ago
Obligatory http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-de...
I spent many years doing PHP. I am very glad that those years are behind me. Even if you allow for it being easy to setup - which is debatable - setup only happens once and is not very hard in any language. If you find it hard to install a programming language by following instructions, you are an amateur pretty much by definition.
- ThomPete 13y agoAnd how do you think most people get started? As pros? Again php is great for 90% of the things that is done on the internet today and its popular exactly because it's not claiming to be more than it is and easy to get started with. No other language not even python especially not ruby does that as well. And then we haven't even talked about how easy it is to use php with javasrcipt, html and css.
- PavlovsCat 13y agoAre there blog posts about how someone tried to solve an actual problem in PHP, but couldn't because the language sucked too much? You know, instead of pointing and laughing at things they saw in the manual or newsgroups that hardly matter in practice.
- eropple 13y agoThat's not the problem with PHP. The problem with PHP is that its design flaws cause friction that scales at least linearly and probably more like geometrically with application complexity--and it doesn't hit you until a project is of sufficient size that every change comes with more and more pain. "It's easy to start with" is only a virtue if that doesn't come with "it turns into a tire fire a year later".
- PavlovsCat 13y agoFair enough, but not every application has to be ready for huge growth. E.g. for a guestbook the fact it wouldn't turn into a tire fire should you decide to turn it into facebickr or googipedia is a rather small benefit, and if it comes with higher setup costs it's actually a drawback. Some people just scratch the itches they have, right now, not the itches their expertise makes them think they should have, or the likes of Google or Facebook make them think they might have in the future. And that is fine. Nobody is telling anyone to use PHP for their huge project, right? So why tell people they shouldn't use PHP for their mortal ones? Because at some point, down the road... can't we cross that bridge when we come to it?
- eropple 13y ago> Because at some point, down the road... can't we cross that bridge when we come to it? No, and that's the problem. Nothing gets rewritten, it gets hacked on. PHP makes hacking on things, past a really low bar, really hard given what you get out of it. And the early benefit washes out pretty quick once you spend more than a couple days on a project. Setting up Play 2 (or Rails, or Django) is going to take me maybe five minutes longer than rolling up a project skeleton with Composer and I immediately start reaping the benefits of a sane environment. It's probably going to take me less time to be functional with any of the above than Symfony2, and I'm not inexperienced with it. You pick your poison on day one. PHP's poison is bad for probably the 50% case, really bad for the 25% case, okay to good for the 10-25% case. (Wordpress is not part of the last one. Neither is Drupal. I don't run either on any system I need to be able to trust. Even with FPM it's too much of a pain in the ass for the benefit I get from it.)
- ThomPete 13y agoPHP is great for 90% of the cases. In those last 10% you are right 50% might be really bad, 25% ok and 10 good.
- ThomPete 13y agoAnd yet FaceBook used HipHop when that became to big a of a problem. I have worked with people who make same claims as you resulting in us spending endless hours doing preparing for a scale that never happened. Guess what our client felt about that invoice? It's a pseudo problem, a theoretical problem, something that can be solved even though it might not be as elegant as the purists would like it to be. But it can be solved if it has to. Most often it doesn't.
- eropple 13y agoYeah I'm not talking about hundreds of thousands of requests, I'm talking about three developers and fifty code files. Which I thought I made eminently clear by talking about dev scaling in my posts rather than load scaling. That isn't a "pseudo problem".
- ThomPete 13y agoOf course it is otherwise PHP wouldn't have been so popular as it is even for more complex solutions.
- eropple 13y agoThat doesn't follow. Loads of software is written with inferior and suboptimal tools for all manner of reasons. Unix was first written in PDP assembler. That doesn't mean it was a good idea, it means it was done. Popularity is a bad, bad metric of a tool's quality.
- ThomPete 13y agoIt means it was a good enough idea and apparently a strong enough tool. Yours or mine definition of quality is of no importance to this discussion.
- evilduck 13y agoWhile we're at it, how about you dig up some blog posts where someone switched to PHP after failing with alternatives?
- PavlovsCat 13y agoWhy would I? Where did I make an analogous claim?
- qohen 13y agoHere you go -- a classic post by Hacker News heartthrob Derek Sivers, founder of CD Baby, "7 Reasons I Switched Back to PHP": http://sivers.org/rails2php http://sivers.org/rails2php I threw away 2 years of Rails code, and opened a new empty Subversion respository. Then in a mere TWO MONTHS, by myself, not even telling anyone I was doing this, using nothing but vi, and no frameworks, I rewrote CD Baby from scratch in PHP. Done! Launched! And it works amazingly well. Mind you, this is from 2007 and there's more to the story -- Sivers learned a lot, as he says, from hiring a Rails guy and from the attempt to use Rails: It’s the most beautiful PHP I’ve ever written, all wonderfully MVC and DRY, and and I owe it all to Rails. At the end, he describes his 7 reasons why PHP worked out better in his case and they may well make sense in other cases as well -- that is, while some of these reasons reflect his personal tastes (e.g. #6 - I LOVE SQL), some are solid business reasons, like reason #2, which I'll quote in its entirety, since it's worth keeping such considerations in mind: #2 - OUR ENTIRE COMPANY’S STUFF WAS IN PHP: DON’T UNDERESTIMATE INTEGRATION By the old plan (ditching all PHP and doing it all in Rails), there was going to be this One Big Day, where our entire Intranet, Storefront, Members’ Login Area, and dozens of cron shell scripts were ALL going to have to change. 85 employees re-trained. All customers and clients calling up furious that One Big Day, with questions about the new system. Instead, I was able to slowly gut the ugly PHP and replace it with beautiful PHP. Launch in stages. No big re-training. I'll suggest that, like other writings by Sivers, this is worth reading since the issues he dealt with in migrating to a rewritten system are ones that are not uncommon. (For a list of all his blog posts about entrepreneurship, music (and the business of music), life, etc.: http://sivers.org/blog http://sivers.org/blog )
- evilduck 13y ago
- coldtea 13y agoThat's a fractal of a bad and trite article.
- krazymelvin 13y agoAnd the obligatory response: https://news.ycombinator.com/item?id=4177516 https://news.ycombinator.com/item?id=4177516