Ruby (programming language)
Ruby has been described as a multi-paradigm programming language: it allows procedural programming (defining functions/variables outside classes makes them part of the root, 'self' Object), with object orientation (everything is an object) or functional programming (it has anonymous functions, closures, and continuations; statements all have values, and functions return the last evaluation). It has support for introspection, reflection and metaprogramming, as well as support for interpreter-based threads. Ruby features dynamic typing, and supports parametric polymorphism.
Shoes (GUI toolkit)
Shoes has all the common widgets you would expect for creating a graphical application as well as graphic primitives to draw art like
lines, circles, and even physics (via Chipmunk) cRruby extensions. Shoes 3 includes it own embedded MRI/cRuby Ruby and does not require the end user to install Ruby. It provides a customized Rubygems environment that does not conflict with any existing Ruby that might exist.