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
The Internet of Things (IoT) connects dumb devices like refrigerators to the internet and uses software to connect them to our daily lives.
There are many operating systems for internet of things devices, from existing software used to control electronic boards to efforts by Google and Apple.
Disney Infinity 3.0, Rocket League, and Super Mario Maker are three fun video games to consider for the 2015 holiday season
You can learn a little software programming and have lots of fun with any number of coding apps available for your phone or tablet computer.
Operating system software is a key part of all computers. But what are they and how do they work?
Working through a book can help parents learn programming with their kids or kids learn on their own.
Board games and card games are some of the best ways to learn about programming. You don't need a computer. Play as a family or group.
These robots also can be programmed to move around rooms, one way for kids to learn programming.
Six women were hired to use their math skills to program the ENIAC computer. They called themselves The First Programmers Club.
Nicky is a Linguistics major who learned coding skills to further her research. She's also finished a PhD, won a few big awards, and co-founded Grok Learning.
Two women created an innovative online service to teach teenage girls how to code by using video.
The new Rust programming language is designed to solve problems with operating systems and fix issues with C and other languages.
Data can become alive and pose questions as well as reveal answers to questions we have.
Links from the bottom of all the articles in this issue, collected in one place for you to print, share, or bookmark.
DRY is an acronym for Don't Repeat Yourself. It's a critical programming concept and skill to learn.
Interesting news stories about computer science, software programming, and technology for August and September 2015.
CoderDojo is a free after school club for kids ages 7-17 where kids, parents, mentors, and others play with technology and learn to code.