Ruby
Introduction
- Thoroughly object oriented
- Dynamic typing (Type errors are reported at runtime)
- Duck typing (Code requires that an object supports the operations that are used)
- Multi-paradigm (Supports procedural, functional and generic approaches)
- Reflection (Like RTTI in C++)
- Meta programming (Manipulating the underlying mechanics of the language)
- Byte code Interpreted (Like java but not like C++)