I understand that discussions revolving around questions of this form run the risk of becoming too specific to help others. So, perhaps a better, general question would be:
What kind of experience, if any, translates easily to Ruby on Rails; and if none, then what's the learning curve like, in comparison to other popular languages?
I have the opportunity to build a website using whatever technologies I wish to use. It's a fairly simple website, for
- listing products,
- taking payments,
- managing customer data,
- providing a back-end portal for employees to manage data,
- possibly hooking in flight information (the products are travel related),
- possibly integrating a blog and all the social-networking goodies.
I have to let the client know by tonight whether I'm interested in taking up this project, before he talks to other potential developers, but I'm on the fence.
- I already work a full-time C++ development job, so the money doesn't do it for me. It's the opportunity to (be paid to) learn some new technologies and to have a real, running product in the end.
- I've heard and read great things about Ruby, and am really intrigued.
- I zipped through some introductory Ruby tutorials, no sweat.
- However I found the Rails tutorials a little overwhelming, especially not being able to try it out anywhere.
- And researching Rails hosts like Heroku and EngineYard makes me think that maybe I don't know what I'm getting myself into.
The ship's leaving port! I wish I had more time to learn, better yet play with the language, but I have to decide soon! Should I venture or pass?
My experiences are in C/C++/Tcl/Perl/PHP/jQuery, and basic knowledge of Java/C#. I didn't study C.S. formally so I wasn't exposed to design principles, programming paradigms, etc., which is my greatest concern. Will my lack of understanding in this realm make RoR frustrating to learn? Will it be so incompatible with a C++ "way" of thinking that I'll wish I never started? Am I putting my client at risk by attempting this? If it helps, I'm quick to learn new things (self-taught so far) and care a great deal about correctness, using things for their intended purposes, and so on. I've read numerous recommendations of Agile Development with Rails and would love to read it (though perhaps, while developing in parallel, for shortness of time).
Worse comes to worst, I'd give up and do the standard LAMP gig, of course, not charging the client for wasted time. But I'm hoping to avoid the project altogether if it's gonna come down to that!
Thanks in advance for any tips, insights, votes of confidence, votes of discouragement (for the better), and such.