What is Ruby on Rails?
Ruby on Rails: The name gives some people pause. The name Ruby was apparently chosen at the onset of development. The Rails came later. It's a framework, not a part of the language. It’s added a good deal to Ruby’s popularity, though.
Ruby is an object-oriented scripting language originally written in C. It can be compared to Perl and Python. It is used primarily in web development and is particularly popular for web apps. The Ruby on Rails site has a showcase of apps that were built with Ruby, and it's an impressive lot: the publishing platforms Mixbook and Blurb, the Yellow Pages and White Pages directories, plus Shopify, Jango, and Smart.FM.
Ruby can also be used to build desktop applications though it’s not a common choice for large scale ones. Zed Shaw, writing for CIO Media, cites various weaknesses in the language with regard to particular applications -- that it's not effective or efficient for doing image manipulation or writing servers, for example. He does note, however, that it is effective for attracting able young developers to particular companies.
Others have noted that Ruby is a good language for education and for attracting people to the programming language in the first place. Twitter may have moved a lot of work from Ruby to other languages, but Ruby is still a hot language. TIOBE, one index of a programming language’s popularity, has Ruby at #10, up from #11 in 2011.
The Ruby programming language was recently ranked 10th on the TIOBE programming language popularity index!
There are multiple implementations of Ruby including ones for Mac and iOS. Different versions may be easier to learn depending on your background. JRuby, for example, may be an especially good choice for someone with a Java background.
History of Ruby
The language was developed in Japan in the early 90's by Yukihiro Matsumoto. He has cited the Principle of Least Astonishment (POLA) as an integral part of the philosophy. Matsumoto has since clarified what he meant: POLA means that a language shouldn't continue to surprise experienced users -- not that there won't be some surprises for those coming from other language backgrounds.
In 2003, Ruby went on Rails for the first time, and there was more satisfaction than astonishment. The Ruby on Rails site credits Rails development to David Hansonn but notes Ruby on Rails now boasts more than 2,000 contributors.
Like the Ruby language itself, Rails has gone through quite a few versions. Version 3.2.8 of Rails came along in 2012.
Learning Ruby on Rails
There are many resources for learning Ruby. If you have experience with another language that has common roots, you may find Ruby especially easy. The official Ruby site provides an overview of similarities and differences for those who are used to programming in Java, Perl, PHP, Python, C, and C++.
Kidsruby.com is a beginner’s site designed especially for kids.
Brand new to programming? The Ruby site also has a beginner's tutorial titled "Ruby in Twenty Minutes". You start with the classic "Hello World", then (after marveling that it obeyed you) try out some basic math calculations.
If you just want to try out a little Ruby online, you can visit Codeacademy.com. Kidsruby.com is a beginner’s site designed especially for kids. The software product allows beginning coders to simultaneously code, run the code, and see the output. It’s currently offered for Mac and Windows and should be available for Linux in the near future.
Serious about the language? You will likely want to learn Rails right along with Ruby. One site to visit is Ruby on Rails. You will find a lot of free resources. You will also get some tips about where to go for in-depth learning. Ruby on Rails recommends the book Agile Web Development with Rails.
RubyMonk is another resource for the Ruby community
Breaking into the Field
You can get your Ruby skills certified, becoming a Ruby Association Certified Programmer. Currently there's a basic certification: silver. You will need to pass an hour and a half long multiple choice exam. Higher level certifications -- termed platinum and gold -- are under development.
Some developers break into the field by collaborating on open source projects. So what's going on in the Ruby world? You can find a list of projects on RubyForge.Back to the Learning Center