What seems complex from a distance is often quite simple when you look closely enough.
At first glance, learning how to use Ruby can seem fairly simple. Developers around the world find Ruby’s syntax to be graceful and straightforward. You can express algorithms in a very natural way, and then it’s just a matter of typing
ruby at the command line and pressing enter, and your Ruby script is running.
However, Ruby’s syntax is deceptively simple; in fact, Ruby employs sophisticated ideas from complex languages like Lisp and Smalltalk. On top of this, Ruby is dynamic; using metaprogramming, Ruby programs can inspect and change themselves. ...