Ruby is a programming language whose development was started by the Japanese Yukihiro Matsumoto in 1993 as part of an open source project. Ruby is a purely object-oriented scripting language that is suitable for a wide range of applications. The origins of Ruby lie mainly in the languagesPerl and Smalltalk, but Python, Eiffel, Scheme, CLU and Lisp also influenced the syntax.
Already in the summer of 1993 the first "Hello World" output could be generated on the monitor by a program. Only one and a half years later, in December 1994, the alpha version of the first release was completed. The first public release appeared in 1995, and a year later Ruby forums, called Ruby communities, were formed, mainly to develop patches and bug fixes. Up to this point, Matsumoto had largely driven development on his own.
Ruby established itself primarily in Japan at the beginning. It was not until 1997 that the first English-language documentation appeared. The creation of the Ruby Talk mailing list, which Matsumoto launched in late 1998, furthered the spread of the language outside the Japanese-speaking world.
Building a Ruby program
For the production of a Ruby program an interpreter and the associated libraries are needed, which can be downloaded free of charge from different offerers from the Internet. There are corresponding interpreters for different operating systems, such as Linux, Unix, Windows or Mac OS X. The latest version is available at the link below.
Ruby is a pure object-oriented language. Everything in Ruby is an object, which reflects the properties and behavior of a concrete object. The abstraction of object properties is summarized in classes. The principle of object orientation is applied in all consistency, so that even classes are in turn objects of the class "Class". Each class derives directly or indirectly from the object class "Object". In Ruby, only inheritance from a superclass is allowed, but higher functionality and abstraction can be achieved by including modules.
Ruby is a simple and transparent language, which can be used intuitively by few rules and is easy to learn.
Ruby as a type-less language
Ruby is a typeless language that does not require explicit type conversion, which among other things ensures platform independence. In Ruby, multiple assignments are used to implement a very adaptable way of handling different values.
The language supports fields and hash tables, which not only have a variable size, but can accommodate different types. Through iterators, the elements of enumeration types can be easily addressed. It also provides the ability to perform pattern matching in texts using regular expressions. Furthermore, a garbage collector is available and operator overloading is also possible.
Ruby is very versatile and behaves in a problem-adequate way. An integrated exception and error handling helps in handling runtime errors. Threads, network access as well as client- server architectures are supported. Ruby can be used as a scripting language, similar to Perl. However, graphical user interfaces and web applications can also be implemented.