There is alot of hype sorrounding Ruby and Ruby on Rails. As a fanboy of Ruby and gearing myself up to start developing Ruby on Rails apps I am always trying to inform myself of the future of this awesome programming language.
SAN FRANCISCO — With Java now a very mature language with millions of developers, the Ruby language is among the fastest growing programming languages, and the number of Ruby developers is expected to quadruple over the next five years.In a panel discussion at the Sun’s CommunityOne day preview to JavaOne here on May 5, Mark Driver, an analyst at Gartner, said, “There are under one million professional Ruby developers now and we’re projecting there will be four million plus by 2013.” Driver later told eWEEK that Gartner’s research shows “strong interest” in Ruby and that the percentage of developers that will be creating commercial systems versus those that are hobbyists will be even greater for Ruby than for other languages. “Ruby will be more interesting to commercial developers,” he said.
The panel discussion featured a variety of participants, including some core contributors to the JRuby project and a trio of Ruby developers. In addition, while broaching the issue of Ruby’s growth, the session also at times compared Ruby to other languages such as PHP and Java itself. JRuby is an implementation of Ruby that runs on the JVM (Java Virtual Machine).
Charles Nutter, a Sun engineer who is a core committer to JRuby, said one reason developers are beginning to look at Ruby is that “Ruby is the flavor of the week, and there are a lot of ways to solve the problems of the Web.”
According to the TIOBE Programming Community Index, it is one of the fastest growing languages, but has seen a decline between 2007-2008.
|Delta in Position||Programming Language||Ratings
Lets look at some of the features that Ruby extends to us:
- Interpreted: Ruby is an interpreted language. Therefore, whenever you make a change to the source code, you need not compile the code and then run it to see the effect of the change. As a result of this feature, the code-compile-run cycle becomes the code-run cycle.
- Purely Object-Oriented: Ruby is purely object-oriented. That means that everything in Ruby is an object which includes primitive data-types and numbers. In addition, it supports all the features required by an Object-Oriented Language.
- Functional: Ruby supports functional programming using blocks.
- Duck Typing: It is also known as Dynamic Typing. Ruby decides about the type of variable while the program is running by looking at the value contained in the variable at that instant. In other words, if an object looks like a duck, sounds like a duck, then it is a duck!
- Automatic Memory Management: You would know it as Garbage Collection. As in any Very High-Level Language (VHLL), Ruby provides Garbage Collection out-of-the-box, thus you need not worry about physical memory leaks.
- Threading: The current stable version of Ruby provides ‘almost’ platform independent threading using green threads (threads used at the user-space level are known as green threads.) I said ‘almost’ because Ruby threads are simulated in the VM rather than running as native OS threads.
- Reflection: Ruby provides a program with the ability to ‘look at itself’ while running. This ability is known by different terms, such as reflection, introspection, and so on. Using reflection, a program can modify certain aspects of itself during execution, or create a completely new object at runtime based on the requirements at that time.