The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Choosing Ruby and rails for development

I'm in a situation where I'm about to start a web application development project. I'm not working as a programmer, but I went two years to university, two classes included Java and VB. For my main project i used PHP. I did this due to my interest in computers, and it's not related to my current job at all.

I've been allowed to start a project developing something similar to an information portal. This is sort of a "hobby" project and is to cost nothing. It will start small and will be expanded if successful. (and then I would get paid to do it..)

I'm starting from "scratch" and one personal goal is to learn a language and framework well.

I've been looking at PHP and Ruby (because of rails). Since I'm starting from the bottom I don't have any preference one way or the other. It seems to me that Ruby is a better choice long term, but is currently suffering from performance issues and a more complicated deployment process. My impression is also that the web server setup is more complicated.

Some has aslo complained about Rails as a bloated choice for a small/medium web project.

My heart tells me to go with Ruby and Rails, but I'm also leaning towards PHP as a fast, easy to setup choice with lots of frameworks and scripts to choose from.

Can you give some details about this project? How big will it be (how many things does it do?).

Ruby on Rails is fast enough, PHP is not much faster. If you have performance problems in Rails you'll have these in PHP, but unless you have to do complicated computations or very high traffic you won't have any performance problems.

The project will be some sort of CMS, including a simple document management system and some sort of interface where I show information from the database. This will mainly be a record over people. These records will be expanded (new fields added) when needed.

There are about 3000 emplyees, I guess only a few hundred will actually be in the target group and eventually use the system.

The system needs to be easy to maintain and expand, when ever new features are needed (or wanted)

The server also has to be set up on a windows server, by the company's IT staff (who for the record had never even heard of Ruby...)

The project will be some sort of CMS, including a simple document management system and some sort of interface where I show information from the database. This will mainly be a record over people. These records will be expanded (new fields added) when needed.

There are about 3000 emplyees, I guess only a few hundred will actually be in the target group and eventually use the system.

The system needs to be easy to maintain and expand, when ever new features are needed (or wanted)

The server also has to be set up on a windows server, by the company's IT staff (who for the record had never even heard of Ruby...)

1. since this is a "freebie", use the language you want to learn. i know php reasonably well (intermediate), but i'm starting to focus on ruby (newbie).
2. if it is db backed, RoR can be very successful. i'm planning on developing a mostly static website (informational) and i'll probably just use php to do it. i have another db based app that will definitely use rails.
3. i think many devs put too high a focus on raw speed at the expense of developer enjoyment and efficiency.
4. i'd try and see if one of the IT wouldn't mind setting up a linux box for this project. my company is basically windows only, but our IT guy is open to and knows linux, so my apps run on linux. i'm not sure how ruby runs on windows... you might want to find out if there is a performance hit.

if you do use php, i recommend getting a forms class (manuel lemos' forms class is outstanding) and a db abstraction layer (adodb has been great).

at the end of the day, though, i'd do whatever i wanted to do because it is gratis. i think both ways are plenty doable - but at the end of the project you'll know whatever language / framework you standardized on a LOT better than the one you didn't. my first app was php based and, guess what, i know php much better than ruby right now. my next db app will be RoR based, though, so i hope to close the gap.