4. Ruby
Philosophy
• “A
programming
language
for
human
beings”.
• Expressive
code
• Powerful
expansion
by
Metaprogramming
/
FuncKonal
Paradigm
• Make
programming
more
fun
• Be
producKve
5. Ruby
Community
One
of
most
innovaKve
and
acKve
today:
• Ruby
on
Rails
• TDD
/
BDD,
ConfiguraKon
Management
• A
LOT
of
libraries
that
inspired
other
communiKes
(Python,
Go,
Java,
C#
etc.)
• Has
created
other
Virtual
Machine
implementaKons
(default
is
MRI):
• JRuby
(runs
on
JVM)
• Rubinius
(wri0en
in
C++
with
LLVM)
• Maglev
(wri0en
in
Smalltalk)
• RubyMoKon
(runs
on
iOS
and
OSX)
6. Ruby
On
Rails
A
framework
to
create
web
applicaKons.
• Ruby
on
Rails
is
a
great
example
of
opinionated
so[ware.
• ConvenKon
over
ConfiguraKon
• Principle
of
Least
Astonishment
• KISS
(Keep
It
Simple,
Stupid)
• DRY
(Don’t
Repeat
Yourself)
Architecture:
Rails
is
a
MVC
(Model-‐View-‐Controller)
framework.
• Model:
main
business
rules
and
persistence
• View:
presentaKon
layer
of
data
• Controller:
a
bridge
between
models
and
views,
based
on
acKons.