Ruby, ruby on rails, gems, gem_server and all of that jazz…
It’s official — as of (many weeks ago) I am learning Ruby. Now how exactly does an experienced programmer learn a new language? First of all, let me establish my background.
I have done quite a bit of work in PHP, JavaScript, Perl, and C. Those are the main languages I’ve used consistently for many years now. I have dabbled and released projects in Java, C++, Lisp, and Prolog — however would consider myself intermediate at best.
To start learning Ruby I began to research which resources would be best. I generally learn this best from having a vast amount of knowledge available to me all at once and attempting to absorb as much as possible.
To accomplish this I researched the best books on the subject and decided upon the resources from PragmaticProgrammer. I must say that the two texts I have been using are exceptional. Programming Ruby and Agile Web Development with Ruby.
Although there is a bit of overlap between the two, I would say at least 90% of the material is original in each. Given each book is 400+ pages, that leaves you with quite a bit of content.
My impression this far on the Ruby language itself has been positive. I’m impressed with the simple implementation of objects, the flexibility of blocks, and the usability of mixins.
My impression of Ruby on Rails thus far has been mixed. I have been frustrated with some of the assumptions that are made when creating and referencing tables despite understanding the reasons for taking these shortcuts.
Once I understand these shortcuts the pain should lessen.
The rapid application development aspect of rails is impressive. From generating a framework to hang the initial site on to the clean cut method of generating Models, Controllers, and even web services, the simplicity on generating structured code is amazing.