@konstantinhaase
github.com/rkh
Konstantin Haase
Open Source Developer
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
@konstantinhaase
github.com/rkh
Slide 12
Slide 12 text
@konstantinhaase
github.com/rkh
“Second to K&R, the
most lagom technical
book I’ve read.”
Peter Cooper (Ruby Inside)
Discount Code: AUTHD
50% off ebook ($6.50)
40% off print
@konstantinhaase
github.com/rkh
Can you say
it in Ruby?
Slide 24
Slide 24 text
@konstantinhaase
github.com/rkh
me
Ruby
Slide 25
Slide 25 text
@konstantinhaase
github.com/rkh
A Programming
Language is just a
Tool
Slide 26
Slide 26 text
@konstantinhaase
github.com/rkh
Tell you something
new
Slide 27
Slide 27 text
@konstantinhaase
github.com/rkh
Slide 28
Slide 28 text
@konstantinhaase
github.com/rkh
No Node.js
Slide 29
Slide 29 text
@konstantinhaase
github.com/rkh
No Node.js
No Erlang
Slide 30
Slide 30 text
@konstantinhaase
github.com/rkh
No Node.js
No Erlang
No Go
Slide 31
Slide 31 text
@konstantinhaase
github.com/rkh
Full Object Orientation
Slide 32
Slide 32 text
@konstantinhaase
github.com/rkh
Doesn’t Ruby already
have that?
Slide 33
Slide 33 text
@konstantinhaase
github.com/rkh
OOP ≠ OOP
Slide 34
Slide 34 text
@konstantinhaase
github.com/rkh
“Objects are data and
functionality”
Your High School Teacher
Slide 35
Slide 35 text
@konstantinhaase
github.com/rkh
Slide 36
Slide 36 text
@konstantinhaase
github.com/rkh
“I made up the term
object-oriented, and I can
tell you, I did not have
C++ in mind.”
Alan Kay
Slide 37
Slide 37 text
@konstantinhaase
github.com/rkh
“
OOP to me means only
messaging, local retention
and protection and hiding of
state-process, and extreme
late-binding of all things.”
Alan Kay
Slide 38
Slide 38 text
@konstantinhaase
github.com/rkh
Smalltalk
Slide 39
Slide 39 text
@konstantinhaase
github.com/rkh
if response == 42
"correct!"
else
"wrong"
end
@konstantinhaase
github.com/rkh
Hi usingPlatform: platform =
(
platform Transcript
open show: 'Hello!'.
)
Slide 64
Slide 64 text
@konstantinhaase
github.com/rkh
Slide 65
Slide 65 text
@konstantinhaase
github.com/rkh
Slide 66
Slide 66 text
@konstantinhaase
github.com/rkh
Homoiconic Languages
Slide 67
Slide 67 text
@konstantinhaase
github.com/rkh
"In computer programming, homoiconicity is a
property of some programming languages, in which
the primary representation
of programs is also a
data structure in
a primitive type of the language itself, from the
Greek words homo meaning the same and icon
meaning representation.
This makes
metaprogramming
easier than in a language without this property."
Wikipedia