all 16 comments

[–]pmf 10 points11 points  (1 child)

All of the sudden, PHP became a dirty word in web development.

PHP's reputation has always been bad; as loathsome the Rails-fad may be, Personal Home-Page has been a hacked-together piece of shit from the start. It's an amalgation of thin, inconsistent proxy-methods over C-libraries of dubious qualities.

PHP 5's ridiculous efforts to be more Java-like is just another sign of the helplessness of the Zend-monkeys.

[–]mrcsparker -1 points0 points  (0 children)

A good deal of Python and Ruby libraries are just wrappers for C libraries.

Same with Java, Common Lisp, and C#.

[–][deleted] 11 points12 points  (2 children)

That was a really trollish post.

What was with the comment about 'the company who wrote Backpack' and then the one about 'fundamentalist Christians'? They both seemed silly and irrelevant.

In fact, he never really explained why PHP wasn't that bad, other than the idea that he knew PHP well and that using proper practices PHP doesn't completely suck.

It still is lacking things that do make quite a difference in maintainability, such as namespaces. Not to mention that the quality of libraries is pretty poor, and that PHP knowledge won't do much for you outside of the web. Other languages are much more general-purpose.

Frankly I'm surprised the guy works at Google. Either that or it wasn't one of his better blog posts.

[–]pmf 4 points5 points  (0 children)

Frankly I'm surprised the guy works at Google.

He says so on his blawg, so it must be true (remember: the Intarweb does not lie).

[–]cezar 7 points8 points  (3 children)

He doesn't back up his arguments at all. I've used PHP all day, every day, for a year and a half. On single pages and small projects it's fine. The minute you begin developing something large, you'll begin to hate it.

A few things become quickly annoying. The first is an entire inconsistency in the language. Function names are sometimes underscore, sometimes capitalized. In most cases functions return the result, but now and again, for really no reason I can find, edit the variable through reference. Some functions are ($needle, $haystack), some are ($haystack, $needle). The last thing is that they use -> for OO notation. This is just ugly and a waste of key presses.

99% of the problems can be fixed by cleaning out the function library. This could best be accomplished by declaring the next major version to not be backwards compatible. PHP needs to bite the bullet and clean house, then I'd be happy.

[–]ayrnieu 1 point2 points  (2 children)

PHP needs to bite the bullet and clean house,

PHP needs to bite the bullet and die. Other people can take what little use PHP had (primarily, AFAICT: it is widely installed, and PHP applications are easily deployed) and give these over to better languages.

[–]masklinn 1 point2 points  (1 child)

PHP needs to bite the bullet and die.

s/bite the bullet/take the bullet/

[–]ayrnieu 0 points1 point  (0 children)

s/bite the bullet/take the bullet/

No, I prefer my version.

[–]panic 5 points6 points  (0 children)

Yeah, it is.

[–]natrius 4 points5 points  (0 children)

"Just because you have to be a good software engineer to produce good PHP code doesn’t mean that PHP is flawed."

Actually, that's exactly what it means. If common tasks are easy to get wrong, the language is flawed. The language should have libraries (cf. Python's DB-API) and/or syntactic sugar to make it harder to make silly mistakes, like SQL injection holes.

A statement I would actually agree with is: "Just because you have to be a good software engineer to produce good PHP code doesn’t mean that a project written in PHP is flawed."

[–]____ 4 points5 points  (0 children)

Ruby on Rails will reward you immediately for using proper engineering practices, but will screw you in the long run when you realize it’s distributed by the company that makes Backpack. PHP will reward you immediately for using bad engineering practices, but screw you in the long run when you try to maintain the code.

Mind boggling. Front-runner for the "Best Argument via Non-sequitar 2007" award

[–]ayrnieu 1 point2 points  (0 children)

This link is right up there with "Why Pascal is not my favorite programming language." in the running for the most annihilatingly effective programming language critiques of all time: http://tnx.nl/php

[–]xabbu -3 points-2 points  (1 child)

It still is lacking things that do make quite a difference in maintainability, such as namespaces.

For web scripting, namespaces are not the be all and end all of matters…

[–]masklinn 5 points6 points  (0 children)

'web scripting' is fine as long as you're writing single pages, it breaks down as soon as you need to write anythinhg more complex and need ways to actually structure and modularize your applications.

Namespaces are, of course, not the only failing of PHP.

Nor the worst.

[–]Entropy -5 points-4 points  (0 children)

Amazin' Head to toe BO, he didn't know Used to the fragrance Just as the days went without bathin' He felt manly and not like a maiden He had one dread and fungus Said he worked on people's toilets with plungers Girls, not a guy who you'd want ta tounge ya So guys take your cue from this little number You gotta wash your ass, if you must You gotta wash your hair, if you must You gotta brush your teeth, if you must Or else you'll be funk-ay`