
Ruby is seen as a flexible language, since it allows its users to freely alter its parts. Essential parts of Ruby can be removed or redefined, at will. Existing parts can be added upon. Ruby tries not to restrict the coder
Ruby follows the influence of the Smalltalk language by giving methods and instance variables to all of its types.