There's nothing "snobbish" about pointing out serious technological flaws in a given programming language or application. This is especially true when those flaws have no justifiable reason for existing in the first place, or when they can compromise the security of data and other systems.
Right, but it doesn't need to be pointed out by 100 people every single time the language comes up in conversation. PHP has its place. HNs typical "PHP LOL OMFG WTF SHIT" reaction is childish.
Such flaws should be pointed out whenever possible by however many people feel like pointing them out.
I think that the skilled members of any community or industry have a duty to stand against technology that is inherently broken. This is quite distant from being "childish". In fact, it's a sign of maturity when one can unemotionally analyze a given tool and deem it to be of an insufficient quality for practical use.
And the "typical reaction" is absolutely nothing like you suggest. Time and time again I see well-reasoned, objective analysis which clearly points out the numerous negative facts about PHP. The problem does not lie with those who express these facts, but rather with those who, for whatever reason, cannot or will not accept them.
Hey this is like your 4th reply on this thread justifying the PHP hate, except I'm not sure you realize that you are backing up junk posts that have no substance beyond "PHP sucks!".
If you feel that strongly about the problems, perhaps you should expand on them?
All languages have pitfalls and problems, and the more popular the language, the more likely that people will succumb to those problems. We get it.
It isn't inherently broken, if it were inherently broken nobody would be using it, which is quite obviously not the case.
From my point of view, ruby, python all the rest are inherently broken because nobody makes any damned products from them which aren't used by other programmers or sold as a service.
You don't need to be a programmer to use Wordpress, Drupal, Joomla, phpBB and the endless list of customer facing, customer usable PHP apps. You don't need to be a programmer to configure their environments and get them running. You don't need to be a programmer to extend them, you just need to find the right plugin/module to suit your needs.
I cannot think of any other web based language that even comes close in this regard. Why is that? If these languages are so good, why is no one making any software with them that ordinary people and not programmers can actually use?
> From my point of view, ruby, python all the rest are inherently broken because nobody makes any damned products from them which aren't used by other programmers or sold as a service.
Even assuming that this is true (which its not, but we'll get to that later on) How does this matter? And, particularly, how is "sold as a service" an issue?
> You don't need to be a programmer to use Wordpress, Drupal, Joomla, phpBB and the endless list of customer facing, customer usable PHP apps. ou don't need to be a programmer to configure their environments and get them running. You don't need to be a programmer to extend them, you just need to find the right plugin/module to suit your needs.
How is this different from Plone or any of the other CMS, blogging, and discussion platforms built in Python, Ruby, and other non-PHP languages, that likewise are designed to be installed and configured by non-programmers and which are extensible via plugin/module systems?
> I cannot think of any other web based language that even comes close in this regard.
What is a "web based language"? But I suspect the reason you can't think of any other language has nothing to do with what is actually true of other languages, and more about you.
> If these languages are so good, why is no one making any software with them that ordinary people and not programmers can actually use?
Software that is successfully sold as a service to ordinary people is software that ordinary people and not programmers can actually use. Otherwise, it wouldn't make any sales.
As are a lot of other things you seem unaware of built with non-PHP languages.
You comment is very condescending. You should not be trying to infer from the parent comment that dageshi is some kind of naive newby programmer who doesn't understand.
dageshi made some valid comments about the role PHP fills and you dismissed them and instead focused on calling him/her out for being a bad/poor programmer.
I am asking serious questions. If that seems condescending to you, well, I'm not going to lose sleep over it.
> You should not be trying to infer from the parent comment that dageshi is some kind of naive newby programmer who doesn't understand.
I was neither inferring nor "try to infer" that. I was questioning specific comments and pointing to specific examples of why I thought the generalizations being made were incorrect.
> dageshi made some valid comments about the role PHP fills
What were made were sweeping generalities about the superiority of PHP being evidenced by it being used in areas that Python and other languages are not, that evidenced unclear and apparently inconsistent standards as well as failure to consider Python and other non-PHP products that do, in fact, exist in the roles in which it was asserted that PHP was the only language actually being used.
> you dismissed them and instead focused on calling him/her out for being a bad/poor programmer.
Nowhere in my comment did I call anyone a bad/poor programmer. I don't mind reasonable criticism of things that I write, but I'd prefer if you didn't invent things that I never wrote and then criticize me for writing them.
Besides the language of the comment all his points are valid.
It isn't inherently broken, if it were inherently broken nobody would be using it, which is quite obviously not the case.
The language is broken. JavaScript, too. Both are used because there are no alternatives. There are obviously alternatives for PHP but these seem to fall so far behind in ease of use that they don't gain enough traction. Therefore I argue we need a new language - easy to use as PHP but without all the flaws of it.
From my point of view, ruby, python all the rest are inherently broken because nobody makes any damned products from them which aren't used by other programmers or sold as a service.
I am no web developer and my knowledge of commonly used web frameworks and who uses what is really limited but it seems reasonable to assume this statement is wrong.
I did a quick search and the first hit was Django build on top of Python used by Instagram and Pinterest. [1] There may be more PHP based apps out there because it is so easy to use but it is definitely not true that no one uses alternatives.
You don't need to be a programmer to use Wordpress, Drupal, Joomla, phpBB and the endless list of customer facing, customer usable PHP apps. You don't need to be a programmer to configure their environments and get them running. You don't need to be a programmer to extend them, you just need to find the right plugin/module to suit your needs.
When you use a product that only requires setup, configuration and throwing in some plug-ins it does not matter at all which language has been used to build that product. This statement is completely irrelevant to this discussion.
I cannot think of any other web based language that even comes close in this regard. Why is that? If these languages are so good, why is no one making any software with them that ordinary people and not programmers can actually use?
Again, my personal guess is that the ease of (ab)use of PHP outweighs - or at least seems to do so - the advantages of »better« languages.
I never said I could not or would not accept arguments against PHP. I fully accept that PHP is somewhat broken. I merely expressed that I'm tired of hearing "PHP SUCKS LOL" and watching many PHP articles get flagged, while other languages with as many problems (cough Javascript cough) get upvoted and the same people say nothing about the problems with these languages.
I fully agree, JavaScript is definitely somewhat broken and I really think things like Node.js are a bad idea. I go even further, I would never use dynamically typed languages for a major project; I don't think avoiding some boilerplate code is worth giving up the compiletime checking possible in statically typed languages. There are already enough bugs in programs written in statically typed languages, no need to add more (read as don't detect at compiletime) by using dynamically typed languages.
I definitely don't want to imply dynamically typed languages are of little use - I am absolutely fine with using them for quick prototyping are non-critical code.
Agreed. It's possible to make good, elegant and fast PHP code. Unfortunately, most of it is not. I would never advise anyone to start a new project with it mostly because of its many design flaws. Also, the App Engine environment negates PHP's biggest advantage: ubiquity. You just cannot deploy a PHP App Engine application on most PHP hosting providers unless you deny your app the App Engine runtime environment.
I agree with you here. I expected my comment to get many more downvotes from the anti-everything-except-lisp-go-ruby-other-hipster-languages HN parade.
Most of the rants against PHP don't have many specific technical reasons mentioned. Some do, but when you provide specific facts it's much easier to argue against them. So I think it's more convenient to stick with "PHP sucks."
My theory is that people ranting about PHP are mainly in three categories - the first being developers who have never used PHP. The second are people who used PHP back in 1998 and haven't never really checked out any any modern PHP frameworks. The rest are developers who inherit a horrible codebase written in PHP. So they're gripes are a combination of their own horribly-written codebase they're stuck maintaining along with PHP-specific complaints.
PHP definitely has its quirks but there is interesting work happening with the language and many frameworks. I do quite a bit of PHP coding at the moment but previously in my career I've been full time Java developer, C# developer and even now I write quite a lot of Objective C. I have hated things about every one of those platforms. Every one of them offers the opportunity to write horrible code. I think developers tend to be very judgmental and opinionated anyway, but PHP gets too much flak. If you're not using it then who cares, why should it bother you what other people are doing?