History
• 1995
• Yukihiro Matsumoto (aka Matz)
• Philosophy: Designed for programmer
productivity and fun.
Slide 6
Slide 6 text
History
• Inspired by Perl, Smalltalk, Lisp, Python
• “I wanted a scripting language that was
more powerful than Perl, and more
object-oriented than Python. That's why
I decided to design my own language.”
Slide 7
Slide 7 text
Syntax
Slide 8
Slide 8 text
Dynamic typing
Slide 9
Slide 9 text
Strong typing
Slide 10
Slide 10 text
Duck typing
• it walks like a duck;
• it talks like a duck;
• it will probably be a duck.
Slide 11
Slide 11 text
Objects
Slide 12
Slide 12 text
Objects
• Everything is an object
• Defined by its BEHAVIOUR
Slide 13
Slide 13 text
Objects
Even primitive types
Slide 14
Slide 14 text
Classes - Modules
• can be instantiated
• object creation
• can inherit
• cannot be included
• can *not* be instantiated
• mixin facility, namespace
• no inheritance
• can be included in
classes and modules