Implementation language discussion

Apologies for the misleading name, but the languages are decided: PHP/MySQL on the back end and Mootools (Javascript framework) on the front-end.

Why not other languages?

The reason is that, if you look at http://game.originxt.com/cgi-test you can see that I've been trying out other languages for the back-end. I only committed the ones that worked remotely—native code compiled from C, and python. I was not able to get Java to function in the web environment.

Ruby, while it works, is slower than PHP and I think we are all much less familiar with it. Ideally, I would've encouraged us to use Python because of its simplicity, but for some of the more intricate features I think we are definitely better off with PHP.

If you take a look at the C code, you can see how inconvenient programming in C would be. Although we should leave the option on the table for small background processes that really need to run quickly (I don't think we'll have that in the near future), C is off the table for the primary development language.

If you're wondering about Perl, I'm not even going to try. That stuff is NOT made for team development.

Why did I even bother?

I was pretty confident that we'd end up using the languages stated at the top, but I wanted to examine other options just to make sure, and to see what alternatives we have if we need to redesign for another language that's better at scaling.

So here you go, PHP, MySQL, and Javascript/Mootools are the final choices.

If you haven't already, I recommend downloading and taking a look at the PHP manual (http://www.php.net/download-docs.php), MySQL manual (http://dev.mysql.com/doc/ -- we'll use simple features from MySQL 5 and below only), and http://mootools.net/docs/core (No download, but the documentation is very comprehensive).