Hacker News new | ask | show | jobs
by martey 5776 days ago
It wouldn't be trolling if you actually explained why you thought PHP was not appropriate for this project. The developers already covered the reasons why they are using it in the FAQ - http://www.gnu.org/software/social/faq.html :

Why are you using PHP? Ruby/Python/Perl/A GUI in Visual Basic would be better!

Better for who? Look at the success of phpBB and Wordpress -- PHP is pretty much everywhere, and while maybe your favourite language is more elegant, PHP is largely ubiquitous.

4 comments

Mostly negative personal experiences.

But that aside, saying "its everywhere" is in my opinion the /poorest/ argument in favor of anything technical.

MySQL has their slogan as being the "Most popular Open Source database", which, by comparison to PostgreSQL's slogan "The most advanced Open Source database", awful.

If you're popular AND good, thats fine, but being popular alone is a poor metric.

I'm not making the argument from a technical perspective, but from a cultural one. Culturally, this stuff works best if there are bazillions of instances out there, not thirty.

PHP offers that, and I don't think I can name anything else that I can say that about.

IMO if this thing is worth anything the value is in the protocols, not the code. I hope you're envisaging other implementations.

On vaguely which subject, is there some documentation of the protocols anywhere? I had a quick look on the site and couldn't see anything like that.

That depends. Are you running it on a shared host? PHP is one of the few you can guarantee to be there. That makes it cheap to run a small instance.
_Look at the success of phpBB and Wordpress_

Look at the number of horrific security holes in phpBB and Wordpress. Every other release or so fixes some new flaw.

PHP doesn't do enough to encourage building maintainable software. The vast majority of code I've seen "in the wild" grows from a thin, simple layer of logic & SQL queries into an insatiable maintenance monster.

Note: I'm holding back a lot of language nerd rage, so I'm keeping this post very short.

So use a framework. Php's problem is that it doesn't come with an structure. The plus is that you can use any framework that works for you. I use http://www.yiiframework.com and it has shaved 70% off my dev time.
PHP doesn't make it any more difficult to write maintainable software it just makes it easier to not write it.
Take a look at the code, it's well structured.
> PHP is largely ubiquitous.

Easy to deploy, but hard to find skilled hackers who will voluntarily work in it.

Maybe some people will stick their noses up at working on PHP. I'm not super excited by those people, and I think its a shame when talented developers get embittered into language wars, but I can certainly understand why they happen.

I tell everyone working on GNU social that we're going it for the betterment of the world, not their own personal situation. That means running it everywhere.

What about facebook?
Facebook has too much legacy code to switch from PHP to anything sane, but I don't doubt many of them would like to. The Quora guys promptly adopted Python after leaving.
it's probably going to be hard to get facebook developers to work on gnu social though :)
They get props for compiling the bloody thing to C++.