Developed in 1993, Ruby is a highly flexible programming language used in many large scale online applications at Twitter, Kickstarter, and other companies.
The original creator of Ruby, Yukihiro Matsumoto of Japan, wanted to find a programmer friendly scripting language that was not difficult to learn or code with over time. Because he could not find such a language, he developed Ruby. The first release was announced on the Japanese ruby-talk list on December 21, 1995, almost three years after the language was announced on the same list.
Ruby was influenced by the best features and qualities of Perl, SmallTalk, Ada, and Lisp, among other languages. Bad experiences with these languages also influenced the design of Ruby. For example, in Perl there might be a number of ways to accomplish a task while Python has only one way. Ruby chose the Python model. As Matsumoto described in the Ruby Language FAQ:
“I was talking with my colleague about the possibility of an object-oriented scripting language. I knew Perl (Perl4, not Perl5), but I didn’t like it really, because it had the smell of a toy language (it still has). The object-oriented language seemed very promising.
I knew Python then. But I didn’t like it, because I didn’t think it was a true object-oriented language — OO features appeared to be add-on to the language. As a language maniac and OO fan for 15 years, I really wanted a genuine object-oriented, easy-to-use scripting language. I looked for but couldn’t find one. So I decided to make it.”
Ruby is a general purpose object oriented scripting language that is dynamic and reflective. Which is a long way to say the language is designed to spare programmers work required by other less flexible languages.
What Makes Ruby Special?
One interesting feature of Ruby is its reliance on the Principle of Least Astonishment or POLA. As noted in an article published earlier in this magazine, POLA tries to give software users what they expect to see when they expect to see it.
Become a subscriber and get access to the rest of this article. Plus all our magazine articles.
Stories also include numerous links to help parents, kids, and teachers learn more. Get access today at just $15 per year!
Also In The June 2015 Issue
This book helps average non-technical people free themselves from mundane computer tasks.
Here are a few of the many fun summer projects at Instructables.com website.
Every month the Bitsbox service delivers a colorful booklet full of fun coding projects for kids to do then share with friends and family.
Here are a number of simple and fun 3D models to print.
You can print 3D models without owning a printer. Here's how to do it.
The FUZE computer is a 1980s computer design with the brain of a modern Raspberry Pi. It's ideal for teaching kids to code plus build electronics projects.
Paul Chayka talks about Robotics And Beyond, an after school tech program that teaches coding, robotics, circuit design, and much more.
Learning Python is a fun way to spend time and learn programming together.
These cute round robots help teach kids about coding and technology.
The Kano computer is a Raspberry Pi computer with a spiffy installation process (and user manual) and a carefully thought out online experience.
An introduction to programming functions and procedures using pen and paper instead of code. Includes lots of examples and exercises.
Ruby is a highly flexible programming language used in many large scale online applications at Twitter, Kickstarter, and other companies.
Links from the bottom of all the June 2015 articles, collected in one place for you to print, share, or bookmark.
News and project stories about kids, coding, computer science, and how we use technology in our daily lives.
The Mix community lets you find and share artwork to create projects with free Paper software.