Ruby is a scripting tool that is based on languages including Perl, Lisp, SmallTalk, and many other different programming language paradigms like object oriented programming and functional programming. Ruby can be thought of as the successor to Perl. Ruby was created with the objective of developing an easy interface for programmers who like creative control. Perl was also designed to be simple and efficient.
Ruby on Rails (RoR) is a framework for the Ruby programming language. RoR further simplifies Ruby by providing ready-to-use development and library tools. Ruby and RoR are licensed as open source, so they can be freely downloaded, altered, and distributed, provided that users follow the provisions of the license.
Ruby is an object based programming language. It is a variable environment with six levels of scope: global, classes, class instances, lower level instance, local scope, and block. An added advantage to Ruby is that it can handle exceptions to these classes. Ruby also implements iterators and closers in addition to operator overloading. Ruby also permits automatic garbage collection and can handle multiple threads on all platforms. Ruby is portable between different environments, and can load Data Definition Languages and libraries in a dynamic way.
Ruby on Rails follows the ideology "convention over configuration." Ruby and RoR allow for quick project development through a rapid feedback loop that is capable of enhancing the developers' productivity. The feedback loop defines the amount of time that occurs between making a change in the underlying code and actually seeing the executed results on screen. You can immediately load a web browser to preview the results of your changes. This feature helps facilitate client satisfaction.
How It Works
Ruby is based on variable and data type, which are treated as objects. Integers, floating point numbers, and even null objects are instantiated with objects. Variables are always allocated as references. Ruby also allows for the implementation of inheritances and an indirect method for multiple inheritances. The method is written outside a specific focus, and is accessible to the class and its children. Ruby works like a procedural language, in which a series of instructions is provided to create a program. It also works like a functional language, where functions are values and anonymous, and everything works based on the evaluation of the previous step. Ruby is a language that is interpreted directly in the same way as HTML and Perl. You can program completely in Ruby.
There are versions of Ruby that are capable of compiling code into byte code in order to save time. Ruby also has the benefit of code obfuscation, which is executed with special interpreters to deliver the final product. Programmers can choose from several versions including Ruby, JRuby, IronRuby, and YARV (Yet Another Ruby Virtual Machine). JRuby is a version of the compiler that runs based on the Java Virtual Machine, and IronRuby is designed to work in conjunction with the Microsoft .Net framework.
Companies including Rightway Solution, iDeveloper Network, and ELC Technologies develop Ruby and Ruby on Rails.