Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Object-Oriented Programming Basics with Smalltalk
Search
Larry Staton Jr.
January 07, 2016
Programming
0
520
Object-Oriented Programming Basics with Smalltalk
Presented at CodeMash 2016
Larry Staton Jr.
January 07, 2016
Tweet
Share
More Decks by Larry Staton Jr.
See All by Larry Staton Jr.
A Tale of Two Teams
statonjr
0
52
Hypermedia with Transit
statonjr
0
75
Hazel & Keyboard Maestro: A Perfect Mac Marriage
statonjr
1
690
Zooming Out
statonjr
0
60
HTTP 101
statonjr
1
270
Hypermedia APIs with Webmachine and ROAR
statonjr
2
510
PUT /time
statonjr
1
75
Other Decks in Programming
See All in Programming
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
290
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
470
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
190
Kiroで始めるAI-DLC
kaonash
2
620
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
AI時代のUIはどこへ行く?
yusukebe
18
9.1k
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
24
12k
1から理解するWeb Push
dora1998
7
1.9k
為你自己學 Python - 冷知識篇
eddie
1
350
楽して成果を出すためのセルフリソース管理
clipnote
0
190
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
2
270
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Building an army of robots
kneath
306
46k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Into the Great Unknown - MozCon
thekraken
40
2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
BBQ
matthewcrist
89
9.8k
Designing for Performance
lara
610
69k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
SMALLTALK OBJECT-ORIENTED PROGRAMMING BASICS
@statonjr OOP Basics with Smalltalk 100 Dealerships 10,000+ Employees
@statonjr OOP Basics with Smalltalk OVERVIEW
@statonjr OOP Basics with Smalltalk What is OBJECT-ORIENTED PROGRAMMING?
None
@statonjr OOP Basics with Smalltalk 1966
@statonjr OOP Basics with Smalltalk 1970
@statonjr OOP Basics with Smalltalk 1972
@statonjr OOP Basics with Smalltalk Six Main Ideas of Smalltalk
@statonjr OOP Basics with Smalltalk Everything is an object
@statonjr OOP Basics with Smalltalk Objects communicate by sending and
receiving messages
@statonjr OOP Basics with Smalltalk Objects have their own memory
@statonjr OOP Basics with Smalltalk Every object is an instance
of a class
@statonjr OOP Basics with Smalltalk The class holds the shared
behavior for its instances
@statonjr OOP Basics with Smalltalk To eval a program list,
control is passed to the first object and the remainder is treated as its message
@statonjr OOP Basics with Smalltalk 1976
@statonjr OOP Basics with Smalltalk
@statonjr OOP Basics with Smalltalk Everything is an object
@statonjr OOP Basics with Smalltalk Data Code
@statonjr OOP Basics with Smalltalk Data Code Methods
@statonjr OOP Basics with Smalltalk Data Code Methods Variables
GENERALLY, WE DON'T WANT THE PROGRAMMER TO BE MESSING AROUND
WITH STATE, WHETHER SIMULATED OR NOT. Alan Kay THE EARLY HISTORY OF SMALLTALK
@statonjr OOP Basics with Smalltalk Objects communicate by sending and
receiving messages
@statonjr OOP Basics with Smalltalk SENDER RECEIVER Message Return Value
@statonjr OOP Basics with Smalltalk Every object is an instance
of a class
@statonjr OOP Basics with Smalltalk Class Instances
@statonjr OOP Basics with Smalltalk Class Instance Class Methods Class
Variables Instance Methods Instance Variables Instance Methods Instance Variables
@statonjr OOP Basics with Smalltalk The class holds the shared
behavior for its instances
@statonjr OOP Basics with Smalltalk COMPOSITION
@statonjr OOP Basics with Smalltalk INHERITANCE
@statonjr OOP Basics with Smalltalk name age grade Person Student
@statonjr OOP Basics with Smalltalk POLYMORPHISM
@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX
@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX
@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX Tokens: Identifiers, Numbers,
‘Strings’, “Comments”, Binary Operators, Keywords, Special Tokens
@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX Special Tokens: #:^’|”;()[]
Tokens: Identifiers, Numbers, ‘Strings’, “Comments”, Binary Operators, Keywords, Special Tokens
@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX Special Tokens: #:^’|”;()[]
Tokens: Identifiers, Numbers, ‘Strings’, “Comments”, Binary Operators, Keywords, Special Tokens Reserved Words: nil false true self super
@statonjr OOP Basics with Smalltalk SMALLTALK SYNTAX Special Tokens: #:^’|”;()[]
Tokens: Identifiers, Numbers, ‘Strings’, “Comments”, Binary Operators, Keywords, Special Tokens Reserved Words: nil false true self super Syntactic Forms: Unary messages, Binary messages, Keyword messages, Block closures, Return Value, Method definition, Assignment, Cascade
@statonjr OOP Basics with Smalltalk DEMO
@statonjr OOP Basics with Smalltalk RESOURCES http://pharo.org http://pharobyexample.org Smalltalk-80: The
Language and Its Implementation http://files.pharo.org/books/ ProfStef go