Ruby is a programming language which was developed in Japan during the mid-1990s. This language is associated with qualities such as dynamic, reflective, general purpose, and object orientation. Ruby programming language was developed by Yukihiro “Matz” Matsumoto.
The development of Ruby was as a result of influence by Eiffel, Python, Ada, Lisp, Smalltalk, and Perl. It was designed to support a number of programming paradigms such as imperative, object-oriented, and functional programming paradigms.
According to Matsumoto, Ruby is as simple as Lisp language, and it has an object system just like Smalltalk, and it has a practical utility like that with Perl. Therefore, Ruby is a refinement and a combination of the features from different programming languages that inspired it.
Ruby name was as a result an online chat which took place on February24, 1993 between Matsumoto and Kelju Ishitsuka which led to the development of the code to Ruby programming language.
Later on in 1995, Ruby 0.95 had its first public release on Japanese newsgroups. This led to more release of other Ruby versions in just two days such as the ruby-list which acted as the first mail list of the new Ruby programming language. By then, Ruby had features such as object-oriented design, iterators, mixins, garbage collection, classes having inheritance, and exception handling.
Subsequently, more Ruby releases were made and used on various platforms in Japan and other parts of the world. These included: Ruby 1.0 in 1996, Ruby 1.2 in 1996, Ruby 1.4 in 1999, and Ruby 1.6 in 2000. The main version that was used was the ruby-talk which was in English.
By then, ruby-talk was applicable on web pages and it was later used to publish the Ruby homepage in English language. This showed a major improvement as Ruby was only addressed in previously ruby-list which was in Japanese language. The language became more popular than Python. For instance, the ruby-talk mail list received more messages than ruby-list.
Other versions followed the release including ruby 1.8, 188.8.131.52. 2.1, 2.2, 2.3, and 2.4. These versions were more refined and with better designs and interfaces than the previous versions. Matsumoto aimed at making his programming language more fun, productive, and also enjoyable among the users.
Also, the developers of this language were geared to enhancing their principle of least astonishment (POLA). This was done through minimizing confusion, consistency even after updates or refinement, and use of easy and open language in the programming.
The features of Ruby such as imperative, object-oriented, and functional makes the language more open and applicable for different functions of programming. As a multi paradigm programming language, Ruby also supports procedural programming where variables or functions can be easily described in relation to the object being addressed. The language is also object-oriented, introspective, reflective, and capable of allowing meta-programming.
All these abilities make the language suitable for different programming requirements. It also has various syntax enhancements such as expressions and statements. This enhances the programmers to input phrases, objects, and parentheses easily during programming purposes.
Ruby has grown immensely popular among many programmers in the current times. The above and many more features as well as capability to support different programming requirements has made this language to emerge popular even more than programming languages such as Python and Perl.