It appears you have not yet registered with our community. To register please click here.

Origin XT RPG Network Home
 

Implementation language discussion


Jul 25 2009, 09:44 PM (Post #1)
Not Odd anymore
* * * * * * * * * *
Posts: 45,875
Cash: 1,915,578 / 1,817,041,051
Group: Administrator
Joined: 7/10/02 09:48 PM
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).

For question on how to do something in a language, go to the appropriate forum (not here): http://originxt.com/cat/30

If you have any reasoned objections, please speak up, but the decision is likely to be final unless there are severe security or performance limitations to my choices.
Post Options