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
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
130
Playwrightはどのようにクロスブラウザをサポートしているのか
yotahada3
7
2.3k
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
780
実践AIチャットボットUI実装入門
syumai
7
2.5k
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.5k
Catch Up: Go Style Guide Update
andpad
0
170
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
450
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
950
Let's Write a Train Tracking Algorithm
twocentstudios
0
220
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.3k
XP, Testing and ninja testing ZOZ5
m_seki
2
300
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.9k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
A Modern Web Designer's Workflow
chriscoyier
697
190k
How to Think Like a Performance Engineer
csswizardry
27
2k
GitHub's CSS Performance
jonrohan
1032
460k
Navigating Team Friction
lara
189
15k
What's in a price? How to price your products and services
michaelherold
246
12k
Rails Girls Zürich Keynote
gr2m
95
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
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