Introduction to Ruby

The Ruby Symbol

    Ruby is a high level Programming Language developed by Yukihiro "Matz" Matsumoto during the mid 90's. Matz (As he likes to be called) designed the language to possess the positive attributes of many languages he used him self, including but not limited to: PerlSmalltalkEiffel, and Lisp. The reason he developed the language can be summarized by a somewhat well known comment from Matz him self:

"I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That's why I decided to design my own language" -- Y. Matsumoto

Ruby is an interpreted scripting language which aims to allow for quick consistent development.

    The Ruby language is totally object oriented where just about EVERYTHING is an object. Ruby also has a Flexible Syntax which can prove for some very readable code, it is Dynamically Typed, allows for some precise Exception Handling, supports Native OS threads, Metaprogramming, Class Inheritance

    There is a plethora of useful Classes already available in the standard library and the Ruby library is also expandable. By use of various methods with the commonly used RubyGems being one of the most prevalent, one can acquire and install Modules from external sources locally, which in turn become available to any of your Ruby programs by use of a simple "require" statement. The require call which is similar to the C languages "include" call, allows use of a libraries (or Module to stay consistent) classes, methods, variables and constants. 

    One common theory in programming is to develop Reusable Code, as such, there are tons of Modules available from the Ruby community which most likely will address exactly what you want to do depending on your aim. For instance, I found a gem (an installer archive for a module(s) which are external to the standard library provided by Ruby) about a month ago which provides a simple backup system with a cool Domain Specific Language which allows to "write" backup jobs as Ruby code. Needless to say it is very cool and was useful to my client who DOES NOT want to pay for Netbackup Support from my place of work (heh!). You also have the ability to create your own modules, further more, Ruby is Open Source, you have the ability to submit your modules to public gem repositories for the Ruby community to acquire via HTTP, FTP, SVN or GIT, install and use! 

    Ruby has a nature of quick and easy usage which makes it the perfect language for a Systems Engineer similar to Perl (And Bash if you want to go there).

    I for one, have a magnetic attraction to the Usage of Modules to organize and allow for expansion of the standard Ruby library, Class Inheritance, Meta Programming, Reflection, Polymorphic Nature, Overall Dynamic Nature of the language, and though this may tie in with the previously mentioned Module usage, the gems package management system.

Variables, Constants, and More