Ruby programming language

Ruby is a relatively new programming language that was first released to the public in 1995 by a Japanese guy named Yukihiro Matsumoto a.k.a. Matz. It’s a object-oriented scripting language with roots from the Perl and Phyton programming language, and have gained some momentum and popularity among some quarters of the programming community.

I was first introduced to Ruby programming language by my undergraduate final year project supervisor, and was given the task to evaluate this relatively new language (besides my RFID project). At first glance, Ruby is very much like every other programming language with a slightly different and “cleaner” syntax. Depending on individuals, Ruby does not have an ending semicolon in the syntax which may need some getting used-to for many with programming background in other major languages such as C, Java, and PHP that has an ending semicolon.

After writing some programs in Ruby, it is undeniably a very object-oriented programming language as everything is treated as an object in Ruby. In some way, Ruby’s syntax forces programmers to practice good coding technique by properly indenting the codes as there isn’t any curly brackets ({}) used in Ruby. Ruby also has many extensions built into the core or as Ruby Gems. So what’s Ruby Gems? Well, it is basically an easy tool to manage the installation of Ruby programs and library extensions that has been distributed as gem packages (the standard format used in Ruby). Personally, I like the idea of Ruby Gems as developers around the world could obtain and install the required library extensions with ease from within the Ruby environment.

Perhaps the most buzz generated in Ruby community is the Ruby On Rails project. Rails is basically a fully integrated Model-View-Controller (MVC) web framework for developing applications in Ruby that consist of a template engine, controller framework, and object-relational mapping package. The MVC architecture of Rails produces three distinct components, and modifications made to one of the components will not impact the other components.

Rails could be the next big thing on the internet once it matures. Currently, the documentation is rather limited and (in my opinion) seems rather complex to create new web applications that are “outside the box”. The framework seems to focus mainly on creating a Ruby version of content management software (CMS) like PHP-Nuke or Joomla. Well, just my 2 cents.