Ruby is an interpreted, object-oriented, and dynamically typed programming language. It was created in the 1990s by Yukihiro Matsumoto to enhance programmer productivity and have fun. Some key aspects include everything being an object, duck typing where objects are identified by their methods/attributes rather than type, and a focus on simplicity, readability, and productivity for programmers.