Ruby is "an interpreted scripting language for quick and easy object-oriented programming" -- what does this mean?

interpreted scripting language:

  • ability to make operating system calls directly
  • powerful string operations and regular expressions
  • immediate feedback during development

quick and easy:

  • variable declarations are unnecessary
  • variables are not typed
  • syntax is simple and consistent
  • memory management is automatic

object oriented programming:

  • everything is an object
  • classes, methods, inheritance, etc.
  • singleton methods
  • "mixin" functionality by module
  • iterators and closures


  • multiple precision integers
  • convenient exception processing
  • dynamic loading
  • threading support

If you are unfamiliar with some of the concepts above, read on, and don't worry. The mantra of the ruby language is quick and easy.