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.

Quick question about learning curve/time...

Hello.

I've been programming in PHP for about 5 years now and have a good understanding of OOP, patterns etc. I don't know Ruby and have been wanting to learn for a while.

Right to the point:
I have to re-build a site I did in PHP years ago. It's a basic e-commerce site (PayPal) with a MySQL DB. There are a few forms (contact, mailing list etc..). I am wondering if I should take this opportunity to learn Ruby and use it to build this site.

A *real* problem: I have about a week (MAX) to finish it. Would it seem totally impossible form me to learn Ruby, learn RoR and build the site in 1 week? I know I could do it in PHP, but want to move into new areas.

You could probably do it, but I don't think it's a good idea. Think of 6-12 months down the line when the site needs updates: would you rather have to support good PHP code, or your first project in a new programming language?

I suggest a project that's not as time-sensitive for your first Rails foray.

I agree with vgarcia. I finally sat down last week to jump into rails, I followed along some tutorials and thought I understood everything fairly well. After a solid 2 days of getting the hang of things, I sat down to start an app from scratch. It was then that my confidence dropped to none. It's not hard to learn, but does have a bit of a curve if you're new to ruby. It's now a week later and things are starting to come much faster. If you don't have to, don't rush yourself into it.

I've learned lots of languages 'on the job' so to speak, but never under so serious time restrictions. You don't want to have a one week deadline and be sitting there wondering "So how the heck does this thing work?!".

If more time had been available (a few weeks at least), I would encourage you to take this opportunity to learn Ruby and Rails. Both the language and the framework are quite easy to get into, especially if you have prior programming knowledge (and OOP experience).

I don't doubt you could whack something together in a week, but like vgarcia says, you don't want to maintain that code later on.

If there is a way to overcome the suffering, there is no need to worry; if there is no way to overcome the suffering, there is no point to worry.
- Shantideva

I'm on the verge of a similar decission. I have about a month or so to do a new site for an 'intranet' like application. Have a good knowledge of PHP OOP/MVC in a self-built framework very similar to Rails. Almost all of the concepts I'm used to apply to Rails too. I've read both the Pickaxe as well as the Agile Development books. Would this be a realistic oppertunity?

mwmitchell: we seem to be taking similar steps along the way to framework bliss I remember you were always into stuff I was checking out (PHP) at that time too...

Prefab-
Rails is great for intranet apps. I have built 5 different apps for our intranet at the newspaper that I work for. Rails makes it very smooth. But I guess the question is what kind of intranet app do you need to build. I would say that one month is plenty of time to learn rails and create a nice intranet app. But it does depend on how complicated the app will be.

Can you elaborate on what the requirements of the intranet site would be? I can give you some better advice if I know what you are trying to do.

ezmobius:
It will be mainly a listing of hospitals, campuses and doctors. There will also be a content part where documents, files and links are kept. I've done a quick scaffolded test today, using associations it was all very smooth. There should also be an AR/ActionMailer based mailinglist manager/mail agent that will forward incoming mails to, say, a group of doctors (geographical, hierarchical, individual) based on certain DB lookups. I'm not sure if ROR is up to that last requirement.