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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Larry Staton Jr.
January 07, 2016
Programming
560
0
Share
Object-Oriented Programming Basics with Smalltalk
Presented at CodeMash 2016
Larry Staton Jr.
January 07, 2016
More Decks by Larry Staton Jr.
See All by Larry Staton Jr.
A Tale of Two Teams
statonjr
0
58
Hypermedia with Transit
statonjr
0
83
Hazel & Keyboard Maestro: A Perfect Mac Marriage
statonjr
1
700
Zooming Out
statonjr
0
67
HTTP 101
statonjr
1
290
Hypermedia APIs with Webmachine and ROAR
statonjr
2
540
PUT /time
statonjr
1
82
Other Decks in Programming
See All in Programming
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.4k
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1.1k
AIとRubyの静的型付け
ukin0k0
0
500
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
170
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
770
今さら聞けないCancellationToken
htkym
0
210
New "Type" system on PicoRuby
pocke
1
410
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.2k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
320
Swiftのレキシカルスコープ管理
kntkymt
0
210
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
690
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Making Projects Easy
brettharned
120
6.7k
Practical Orchestrator
shlominoach
191
11k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
950
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
310
Ruling the World: When Life Gets Gamed
codingconduct
0
240
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
Designing for Timeless Needs
cassininazir
1
240
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
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