top | item 12708214

Tell HN: I think you're downplaying the PHP community

79 points| jqueryin | 9 years ago

I consider the HN community, on the whole, to be very much concerned with their professional development.

Whether it's taking classes, working on side projects, or reading the latest blogs, everyone seems genuinely interested in learning.

Based solely on vote counts alone on the frontpage for the last few days, there appears to be a very large portion of the HN community that both readily follows PHP and/or actively uses it.

What I find most interesting, however, is the comments section.

There's a large camp of developers on HN that are very outspoken regarding their abhorrence of PHP. The language has been ridiculed for well over a decade, so this is to be expected.

What's most intriguing is what you don't see in the comments: the huge number of proponents of PHP.

So where does this discrepancy between vote counts and comments stem from?

I would venture to guess the vote counts themselves stem from silent proponents. They likely don't provide counter arguments because it's simply not necessary. Nothing is gained.

Everyone here has a unified goal of working on cool problems, building amazing applications, and hoping to strike paydirt for all of our hard work.

Maybe it's time we all think about why it is we complain about language X vs. language Y and just get back to trying to make our lives and those around us better, through code.

104 comments

order
[+] pwinnski|9 years ago|reply
My theory is simple: Have you ever heard the pithy saying that there is no worse non-smoker than an ex-smoker?

I think many of the loudest anti-PHP voices are ex-PHP developers. They/We naturally assume our own experience is normative, and since we didn't know X, Y, or Z back when we were coding in PHP, obviously neither does anybody else still coding in PHP.

Or, more graciously, back then PHP was the best language we had learned up to that point (better than BASIC or Perl, say), but now we use Ruby or Python or something else, so now we recognize the deficiencies in PHP. Clearly those other people, just a few steps behind us on the path, need to also learn about the deficiencies in PHP and how much better X is.

There are any number of nuanced ways for that to be expressed, but ultimately I think it's mostly tribalism, and obviously unhelpful. Sure, I used to write PHP. Built my first startup with it, sold it, and stuck with it for a few years more even after that. And sure, I don't write in PHP any more. These days it's Python or Java or Clojure for me. Because PHP sucks? No, because it doesn't suit what I'm doing these days as well. And not necessarily for reasons related to the quality of the language.

[+] segmondy|9 years ago|reply
Give me a break. These are the orders in which I started learning my languages BASIC, C, assembly, (6502, z80, x86, MIPS 3000), Lisp, Perl, Java, Python, plenty of others then PHP. I really like Python, Ruby and Lua. I like the ecosystem for Python, yet want me to build a web application? I will pick PHP any day! It has it quirks and warts, but you can win big with it.
[+] s0l1dsnak3123|9 years ago|reply
In British politics we have this concept of "The silent majority" which inevitably gets mentioned at referenda and elections. The effect was probably most prevalent in the Scottish independence referendum in 2014 where a no vote of 55% bet a yes vote of 45%.

Many many yes voters (including myself) were very surprised by this result - the internet was on fire with grass roots activism of all kinds. Glasgow had weekly rallies with thousands (sometimes tens of thousands) attending. And yet we lost.

I can't help but wonder if we're witnessing the same phenomena - a silent majority of people who feel no need to contribute to the discourse but have different opinions and values on the subjects us in the comments section are discussing.

Interesting stuff.

[+] gorbachev|9 years ago|reply
People generally are much more vocal about negative experiences than positive ones.

If the thing "just works", what am I going to say? "PHP is nice, it does what I need it to do". That's not interesting in any way.

If the thing doesn't work, then I usually have quite a few specific annoyances I've most likely spent considerable time trying to get around or solve completely, and I have developed strong opinions based on those experiences.

[+] twunde|9 years ago|reply
Many PHP developers don't want to talk about it simply because of how negative the comments are, many coming from people that used PHP back 10 years ago when PHP had a really big security problem with sql injection and xss. The arguments for PHP don't appear to convince anyone, so why bother?
[+] angry-hacker|9 years ago|reply
It is same in Spain with Partido Popular (PP). Everyone seems to hate them and talk how corrupt conservative fascists they are.

And yet after every election the map of the country is blue - - color that represents PP :))

[+] gkya|9 years ago|reply
Php is objectively a bad language, and as the literature on why it is is wast like oceans, I don't feel the need to add to it. That said it's quite understandable why the language is used regardless of it's inferiority, there are some practical reasons, just like JavaScript. Thus it's understandable why people follow its news and also why it's harshly criticised. HN is a technical forum of tech entrepreneurs and computer hackers, and people discuss most often the technical aspects of things, and for Php it's more than expected that the tone be downplaying. Though I believe that should be taken as is and not be extended to community itself.
[+] colshrapnel|9 years ago|reply
PHP is an easy language that is usable by practically anyone. And it simply make tech snobs and self-proclaimed gurus jealous :j
[+] throwaway420|9 years ago|reply
> So where does this discrepancy between vote counts and comments stem from?

People are probably concerned about not being viewed as a good or knowledgeable developer if they admit to using PHP here, so it's probably not a fight that's worth having for most posters. People don't always give their genuine opinions when they think that their personal reputations or livelihoods are on the line.

This isn't just the case in technical or career matters, but especially when it comes to personal reputation. Just ask people how many sex partners they've had: the results will probably be skewed up or down in fairly predictable ways if people think there's a chance that they'll be judged somehow based on the answer.

Personally I think PHP is a useful (and extremely imperfect) tool that is very appropriate to solve a fairly wide range of problems. For certain problems, it's arguably the best tool. That's why it's going to be around for quite a while.

[+] nbouscal|9 years ago|reply
I would attribute this discrepancy to a natural extension of pg's thoughts about the blub paradox (http://www.paulgraham.com/avg.html). Most PHP developers I've talked to justify their work in PHP by saying that essentially languages are more or less the same, and that PHP is "just as good" as any other language. It's rare for me to hear someone say that PHP is substantially better than other languages. By contrast, former PHP developers who now work in other languages usually say that PHP is significantly worse than other languages. It seems natural that someone who thinks there's a significant difference would be more likely to comment about it than someone who thinks the languages are basically the same. There's more to say about the difference than there is about a lack of difference, and it's relatively hard to provide real arguments for the lack of a difference – it's usually more "there's no real evidence of a difference and this works fine for me."
[+] 1123581321|9 years ago|reply
That's a fair criticism. I do a fair amount of PHP and participate in the community, so I know what you are talking about. That said, to me, the PHP professional development community seems anemic compared to the communities of other languages. I also think the PHP professional development community is smaller than that of other languages when measured as a percentage of the total professionals using the language.
[+] throwaway420|9 years ago|reply
> I also think the PHP professional development community is smaller than that of other languages when measured as a percentage of the total professionals using the language.

Is this really the case? I've seen estimates of around 70-80% of websites using PHP as part of their backend. Granted, many of these would be simple Wordpress sites or other blogging/shopping/content management platforms where almost no actual coding by the user is involved.

[+] mtberatwork|9 years ago|reply
> I also think the PHP professional development community is smaller than that of other languages when measured as a percentage of the total professionals using the language.

Indeed, this becomes quite apparent when it comes time to hire. The vast majority of candidates that claim competency in PHP generally fall into two camps: 1) "W3C school grads" 2) Wordpress developers. Both sets drastically increase the signal/noise ratio.

[+] ythl|9 years ago|reply
People are worried about how they are perceived by other developers. It's the same reason a lot of people loudly pooh-pooh GameMaker (citing Godot, UR4, Unity, etc. as superior) even though it's a super powerful tool that, in the right hands, can be used to rapidly prototype very complicated and versatile games.
[+] TazeTSchnitzel|9 years ago|reply
Game Maker deserves the criticism it gets. It is easy for beginners to learn, but it traps you in its proprietary ecosystem with subpar tools.

Moreover, it is designed around bad practices in the name of simplicity. Games cannot be framerate-independent, for example.

It may be a useful prototyping tool, but I feel sorry for the people stuck using it when those prototypes turn into full-size games and they can't easily port to something better. It's better to teach people something more flexible and similar to what's used in the real world.

PHP doesn't have these problems, it's just painful.

[+] mysterydip|9 years ago|reply
That stigma alone had kept me from trying GameMaker for a long time. Personally, I'm glad I finally pulled the trigger late last year, because it's been a tremendous boost to my output, especially prototypes and cross-platform release. Just released a mobile game, in fact :)
[+] hotsy_botsy|9 years ago|reply
PHP is the Toyota Corolla of programming languages. Not many are passionate about the Corolla, but it's one of the most widely driven cars in America.

I challenge you to come up with a better car analogy.

[+] fiedzia|9 years ago|reply
> Not many are passionate about the Corolla

But there is also nothing particularly wrong with it. It may not be better, but it has no worse maintenance record, crash record, or accident survival rate then average car. (In software world, that would be perhaps java).

To come with better analogy - PHP is like a 15+ yo car imported from neighbour country because that's the only thing you can afford. Its popular and you'll see it all around in you area, so you may be unaware that better cars even exist. It can be used, but something breaks every 50km, the rust has eaten so much that any minor collision will get you killed, and you'll see people frantically repairing it with duck tape on every street to ever get home. But yeah, you can drive one. And have you heard that next year the tax will be lowered, so you may be able to afford 14 yo cars, life is getting so much better here.

[+] bbcbasic|9 years ago|reply
PHP is a child's kick scooter. Easy to learn and you can move fast. You're halfway to the shops before the car driver has put it in reverse to back out of their driveway.
[+] crimsonalucard|9 years ago|reply
Php is like the people who voted for president bush.. Aka the majority.
[+] z0r|9 years ago|reply
I've never worked on PHP code in a truly professional context, but I've had one-off (very) small jobs where I've had to perform maintenance on some PHP. I have no doubt that the language and tooling has improved over the years, but I have no desire to ever work on any of it ever again. This is my honest opinion, and I'm not writing it to signal anything. There are dozens of viable production languages and life is short, so why work with one that you find very painful? If PHP works for you, that's fine, but people who don't like PHP are going to be vocal about it because they don't want to find themselves in a situation where they have to write it. You might not end up being forced to write PHP for pay these days, but it's not unrealistic to imagine that you might end up writing (for example) Java because you need a job even if you really don't like it. So you end up with language advocacy and trash talking and there's nothing wrong with any of that, it's just a way to let off steam and preserve your sanity.
[+] leovonl|9 years ago|reply
See, the thing is: I spend much of my time trying to show people that good tools can be used to make good software. We have MUCH misinformation, and people don't even understand that you can prove a software right using theorem provers, don't know anything about type system - "C has types but they don't work" - and etc. I've heard arguments like this all the time, and that really sucks, because then you get limited by tools "you can hire people to work with".

In fact, I've been hearing for 10 years things like "what, OCaml? where do we hire someone to work on this?", "Haskell? nobody uses that", and more recently "we cannot use Rust as we don't have anyone that can possibly understand this". Saying "PHP is just another language/tool" is just throwing the towel without trying to understand anything.

What would you think if someone said "coal is just another fuel, stop trying to push electric, let me use coal and go on with life"? Well, a lot of people believe this, but let's pretent there's a consensus on this, shall we?

So, the question is: you CAN use PHP for doing web development. You can also use coal as a fuel. Not only that, but all libraries are written with this in mind, all code bases and fragments of code are focused on web development, etc. Coal is also combustible, a lot of manufactures dominate the technology, it's cheap, so.. hey, energy!

Even if the language is pure crap - as coal is as a fuel - people will only hit the crappy parts when their system is already implemented and being used by more people. "Hey, this language has a lot of issues" - "hey, this coal thing really polutes". Too late. You already have a full system implemented, you have experience with the language - or energy production technology... so you just change your workflow to accommodate this. Or you just never realize it - "whatever, no big deal" - and keep using it, as you see the advantages as more important.

There's tons of factors that contribute to the PHP popularity - the same thing with C, Perl, etc. Doesn't mean the language is good, and also doesn't mean everyone has to agree with you that "it's just another tool, let's go back to business".

So yeah, no.. I won't let you go on with PHP, sorry. I want better tools, better systems, and I want to spread knowledge. I guess we are going to agree to disagree on that.

[+] tbirrell|9 years ago|reply
Because arguing on the internet tends to be an exercise in frustration. If I like PHP and you don't it is unlikely that either of us will change the other's mind. So it's not really worth my time or effort to defend the language to virtual strangers. I can respect your dislike while going off to code in PHP anyway, and the world won't end. If you ask me my opinion, I'll be happy to share it, but I don't feel the urge to offer it unsolicited.
[+] circlefavshape|9 years ago|reply
/me raises hand

I've been writing php professionally since 2000, and I like it well enough. I know it so much better than any other language that, 20 years into my career, I can't see how I'll ever learn another one well enough to compare them.

[+] mst|9 years ago|reply
I write a lot of perl. You see a similarly depressing response there as well.

Mostly I file it under "hipsters gonna hipster" and then go back to doing something useful.

[+] oliwarner|9 years ago|reply
Use and hatred are not mutually exclusive. I can't be the only developer in here who has to maintain legacy webapps written in awful languages. If I see a post offering a 200× speedup on my crappy old PHP scripts, it gets an upvote.
[+] flanger001|9 years ago|reply
I wish PHP had methods on primitive types, but I can live without them. PHP is not my first choice of language to develop in, but I don't think it's a bad language, and it paid my bills for quite a long time.
[+] ryanlm|9 years ago|reply
People that state it's such a horrible language are "follow" types. I believe some people actually do think it's a bad language, but for the most part, I would say people are just following the status quo.
[+] nbouscal|9 years ago|reply
I worked professionally in PHP for years, and have since worked professionally in Ruby and Haskell. I'm not following a status quo by saying that working in PHP was exceptionally painful by comparison even to Ruby (despite Ruby being quite painful by comparison to Haskell), and that I'll never work in PHP again. Maybe I'm in the minority, but I don't see any reason to think so.
[+] spronkey|9 years ago|reply
It is a horrible language. In the same way that hamburgers are horrible food. But they can be damn tasty regardless.

There are plenty of resources around that demonstrate just why it's so horrible. It's inconsistent, easy to shoot yourself in the foot (mainly because of the backwards compatible stuff), some stuff is just plain broken (ISO_8601 for example), yeesh.

But for many web projects - APIs, server-driven web applications, it can be a pretty solid choice.

It's main downsides are the ugliness of the language, shaky history for core commit code quality, and poor usability for long-lived processes. In 2016, these three issues can be worked around reasonably easily (though some danger does exist especially handing a codebase to inexperienced developers).

It's upsides are quite numerous. It's gradually typed, which means it can be used dynamically, but also supports more type-driven DDD-esque work, and codebases can mature over time by progressively adding more static analysis.

The execution environments now available are fast and reasonably efficient. In practice, PHP will beat out CPython and Ruby for most request-response type applications quite handily.

The wider PHP ecosystem is pretty OK. Composer and Packagist are on par with NPM/NuGet/RubyGems, and are easily better than what's available in the Python or Go ecosystems. The quality of packages varies, but in my experience it's on par with the rest - there are some shockers, but there's a lot of solid stuff too.

Unlike Python, it doesn't suffer from massive division - older PHP code can suck, sure, but much of it has been composerified and can be used easily with a bit of Facade or Mediator in newer projects.

PHP has deployment pretty well down, too. Mod_apache is super easy for basic uses. FPM works pretty well for more advanced stuff. It's easier to manage than the likes of the JVM, or even 12-factor type "bundle into an executable and reverse proxy" apps. But you can also do that with PHP as well, if you want to.

Is it my first choice in development environment? Absolutely not. Is it a very effective tool for many applications in 2016? Absolutely. Do I pick it up over Python and Ruby if I'm looking to build a web application? Yes I do.

[+] TazeTSchnitzel|9 years ago|reply
I've contributed to the PHP codebase for 3 years, and I think it's bad.
[+] Ysx|9 years ago|reply
I have a differing opinion, and similarly have no way to back it up.
[+] wnevets|9 years ago|reply
The hive mind is very strong on the internet, even on HN.
[+] ryanlm|9 years ago|reply
Flagged? Interesting.
[+] sctb|9 years ago|reply
Meta-discussions are often flagged because they're less likely to be intellectually interesting, but this one seems to be proceeding reasonably so we can try turning the flags off for now.