Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
今日から使おうSmalltalk
Search
newapplesho
November 29, 2010
Programming
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
今日から使おうSmalltalk
第26回 Smalltalk勉強会資料
newapplesho
November 29, 2010
More Decks by newapplesho
See All by newapplesho
OpenRestyについて
newapplesho
0
130
Continuous Integration for Pharo Smalltalk Part 2 (Travis CI)
newapplesho
0
220
今時なウェブ開発をSmalltalkでやってみる?
newapplesho
0
200
Continuous Integration for Pharo Smalltalk
newapplesho
0
180
Elasticsearch for Pharo Smalltalk
newapplesho
0
180
SourceCode Management with Pharo Smalltalk - Pharo Smalltalkソースコード管理方法
newapplesho
0
160
RUNNING Smalltalk - 実践Smalltalk
newapplesho
0
140
AWS SDK for Smalltalk
newapplesho
0
140
How Smalltalker Works
newapplesho
0
130
Other Decks in Programming
See All in Programming
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
170
AWSに止められる覚悟してますか?
morizo_1984
2
530
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
650
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
550
sbt 2.0: takeoff
eed3si9n
0
130
Are APIs Still Relevant in the AI Era?
soyuka
0
450
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
3k
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
480
Jetpack Compose Mechanisms
skydoves
2
710
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
760
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
580
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
The Invisible Side of Design
smashingmag
301
52k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Rails Girls Zürich Keynote
gr2m
96
14k
Chasing Engaging Ingredients in Design
codingconduct
0
350
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
300
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Skip the Path - Find Your Career Trail
mkilby
1
250
The Curious Case for Waylosing
cassininazir
1
560
Agile that works and the tools we love
rasmusluckow
331
22k
Transcript
ࠓ͔Β͓͏Smalltalk ୈ26ճ Smalltalkษڧձ ٢ాɹᠳ 1
ୈճ4NBMMUBMLษڧձ SmalltalkͷΠϯετʔϧ 4RVFBLKB "MMJOPOF ͕͓͢͢Ί .BD -JOVY 8JOEPXTશͯʹରԠ IUUQTXJLJTEEPKQVNFKBWB [JQϑΝΠϧΛղౚ͙ͯ͢͠ʹ͑Δ
͍ํڥฤΛࢀর 2
ୈճ4NBMMUBMLษڧձ Smalltalk͕͔Βͳ͍ จ๏ ։ൃڥ array := Array with:-1 with:1 with:100.
array inject: Float infinity negated into:[:v1 :v2 | v1 max: v2 ]. 3
ୈճ4NBMMUBMLษڧձ SmalltalkͷϓϩάϥϛϯάͷྲྀΕ Workspace,SytemBrowserΛىಈ ϓϩάϥϜΛهड़ ϓϩάϥϜ࣮ߦ ։ൃڥฤ จ๏ฤ ։ൃڥฤ 4
جຊจ๏ฤ ୈ26ճ Smalltalkษڧձ ٢ాɹᠳ 5
ୈճ4NBMMUBMLษڧձ ίϝϯτ μϒϧΫΦʔςʔγϣϯͰғΉ "0 notNil" μϒϧΫΦʔςʔγϣϯΛίϝϯτʹؚΊΔ߹ "͜ͷΑ͏ʹʮ""ʯճهड़͠·͢" 6
ୈճ4NBMMUBMLษڧձ จͷ۠Γͱೖ จͷ۠Γ ೖ BTTJHONFOU . := ϐϦΦυ ίϩϯɼΠίʔϧ ੲͷ4NBMMUBMLͷίʔυͰΞϯμʔόʔ
_ 7
ୈճ4NBMMUBMLษڧձ Ϧςϥϧʢࣈʣ 5. 1.414. -1. 122244567. 10e7. 2r100. "ਐ "
8r12. "ਐ" 16rFF. "ਐ" 8
ୈճ4NBMMUBMLษڧձ จࣈ จࣈྻ Ϧςϥϧʢจࣈͱจࣈྻʣ $a "จࣈͷલʹΛ͚·͢" $b $- 'Smalltalk' "γϯάϧΫΦʔςʔγϣϯͰғΉ"
"ʮ'ʯΛจࣈྻʹؚΊΔ߹ճଓ͚ͯॻ͘ " " จࣈྻ݁߹ʮ,ʯ " 9
ୈճ4NBMMUBMLษڧձ Ϧςϥϧ γϯϘϧ ྻ #apple. #pineapple. γεςϜʹ͔̍ͭ͠ଘࡏ͠ͳ͍จࣈྻ #($a 'smalltalk' 42.19).
#(#(1 2) 3). #(a b c) ===> #(#a #b #c) ཁૉͷΦϒδΣΫτ౷Ұ͠ͳ͍͍ͯ͘ 10
ୈճ4NBMMUBMLษڧձ ٖม true false nil self super thisContext ࣗΛද͢ ϝιουͷݕࡧͷࡍɼεʔύʔΫϥεͷͷΛද͢
࣮ࣗߦதͷίϯςΩετ(γεςϜͷ࣮ߦঢ়ଶ)Λද͢ 11
ୈճ4NBMMUBMLษڧձ ϝοηʔδࣜ 3 negated -3 ΦϒδΣΫτ ϝοηʔδ ΦϒδΣΫτʹϝοηʔδΛૹΔ SmalltalkͷϓϩάϥϜ ୯߲ϝοηʔδࣜ
߲ϝοηʔδࣜ Ωʔϫʔυϝοηʔδࣜ 12
ୈճ4NBMMUBMLษڧձ ୯߲ϝοηʔδ(Unary messages) 4 sqrt. "ฏํࠜ" 12 i. "ڏ" 1
asFloat. "ුಈখͱ͢Δ" #(1 2 3) first. "࠷ॳͷཁૉΛऔΓग़͢" ҾΛऔΒͳ͍ϝοηʔδ 13
ୈճ4NBMMUBMLษڧձ 2߲ϝοηʔδ(Binary Messages) 4 + 1. 10 / 2. 8
// 3. 1 < 2. 'Small','talk'. ه߸ c d !ΛΈ߹Θ໊ͤͨલΛ ͭϝοηʔδ ओʹֶͷ2߲ԋࢉࢠ(2ͭͷσʔλʹର͢Δԋࢉ)Λ දͨ͢Ίͷͷ 14
ୈճ4NBMMUBMLษڧձ Ωʔϫʔυϝοηʔδ(Keyword Messages) ̏൪ͷཁૉΛऔΓग़͢ #($z $y $x) at: 3. ͔ΒͷؒͷͳΒUSVFΛฦ͢
11 between: 10 and: 100. 11.between(10,100) ൪ͷཁૉΛIFMMPʹஔ͖͑Δ #($a $b $c) at: 2 put: 'hello'. 1 to: 10 by: 2 do:[:v | Transcript cr; show:v ]. ҾΛऔΔϝοηʔδͷ͏ͪ ɹ߲ϝοηʔδҎ֎ ϝοηʔδͷऴΘΓʹίϩϯ ͕ඞͣ͘ 15
ୈճ4NBMMUBMLษڧձ ϝοηʔδͷ༏ઌॱҐ ࢛ଇԋࢉͷ༏ઌॱҐ͕ͳ͍ɽ ༏ઌॱҐΛ͚ΔʹׅހΛ͚Δɽ ୯߲߲Ωʔϫʔυ جຊࠨ༏ઌॱ ୯߲ɼ߲̎ɼΩʔϫʔυϝοηʔδ͕ɼ ̍ͭͷจʹؚ·Ε͍ͯͨ߹ʹҎԼͷ༏ઌॱҐͰ࣮ߦ 16
ୈճ4NBMMUBMLษڧձ ϝοηʔδͷ༏ઌॱҐʢྫʣ جຊࠨ༏ઌ ୯߲߲Ωʔϫʔυ 3 + 4 sqrt (3 +
4) sqrt 1 2 2 1 17
ୈճ4NBMMUBMLษڧձ ࿅श 3 + 4 * 5. 3 + 4
sqrt. 50 + 4 sqrt between: 10 and: 100. ࣮ߦॱংͱ࣮ߦ݁ՌΛߟ͑·͠ΐ͏ 18
ୈճ4NBMMUBMLษڧձ ϒϩοΫ block := [:x :y | x + y].
block value: 1 value: 2. block valueWithArguments: #(3 4) ओʹ੍ޚߏʹ༻͍ΒΕΔ ҙͷ࣌Ͱ࣮ߦՄೳͳϓϩάϥϜͷݻ·Γ •function(x){x + 1}ͷΑ͏ͳͷ •(lambda (x) (+ x 1)) ࣮ߦ͢ΔࡍʹɼҾͷʹԠͯ͡ WBMVFɼWBMVFΛૹ৴͢Δ 19
ୈճ4NBMMUBMLษڧձ Χεέʔυ Transcript show: 'Hello '; cr; show:'Squeak'. Transcript show:
'Hello '. Transcript cr. Transcript show: 'Squeak'. ઌ಄ΦϒδΣΫτʹରͯ͠ϝοηʔδΛ࿈ଓతʹ ૹ৴͢Δࡍʹ༻͍Δ ; ηϛίϩϯΛ༻͍Δ 20
ୈճ4NBMMUBMLษڧձ Ϧλʔϯ ^ Λฦ͢ ΩϟϨοτ ^ 1 + 2. ^
true. 21
ୈճ4NBMMUBMLษڧձ ੍ޚจʢ݅ذʣ Float infinity > 0 ifTrue:[ Transcript show:'Yes!'. ]
ifFalse:[ Transcript show: ' NO... ' ]. 22
ୈճ4NBMMUBMLษڧձ ੍ޚจʢ܁Γฦ͠ʣ 1 to: 10 by: 2 do:[:v | Transcript
cr;show:v ]. | i | "Ұ࣌ม" i := 1. [i < 10] whileTrue:[:v | Transcript cr; show:v. i := i + 2. ]. for(int i=1; i<=10; i=i+2) int i=1; while(i<10;){ i=i+2; } 23
ୈճ4NBMMUBMLษڧձ ੍ޚจʢ܁Γฦ͠ʣ #(1 2 3) do:[:v | Transcript cr; show:v
]. 3 timesRepeat:[ Transcript show:‘Hello’]. 24
ୈճ4NBMMUBMLษڧձ SmalltalkͷϙΠϯτ ม໊ʹΞϯμʔόʔμϥʔ͑ͳ͍ ٖมʹೖͰ͖ͳ͍ ࢉज़ԋࢉͷ࣌༏ઌॱҐΛҙ͢Δ XIJMF5SVFϒϩοΫΦϒδΣΫτʹૹΔ ྻͷఴࣈ͔Β͡·Δ 25
։ൃڥฤ ୈ26ճ Smalltalkษڧձ ٢ాɹᠳ 26
ୈճ4NBMMUBMLษڧձ ϫʔϧυϝχϡʔʢWorld menuʣ എܠʢϫʔϧυʣΛΫϦοΫ ։͖ํ 27
ୈճ4NBMMUBMLษڧձ Smalltalkͷ։ൃڥ ϫʔΫεϖʔεʢ8PSLTQBDFʣ τϥϯεΫϦϓτʢ5SBOTDSJQUʣ γεςϜϒϥβʢ4ZTUFN#SPXTFSʣ ΠϯεϖΫλʢ*OTQFDUPSʣ ϝιουϑΝΠϯμʢ.FUIPE'JOEFSʣ σόοΨʢ%FCVHHFSʣ ֮͑ͯཉ͍͠πʔϧ 28
ୈճ4NBMMUBMLษڧձ ϫʔΫεϖʔεʢWorkspaceʣ ϓϩάϥϜΛهड़͢ΔͨΊͷΤσΟλ ։͖ํ ϫʔϧυϝχϡʔ 8PSMENFOV ͷ։͘ ։͘ϝχϡʔ ϫʔΫεϖʔε 8PSLTQBDF
29
ୈճ4NBMMUBMLษڧձ τϥϯεΫϦϓτʢTranscriptʣ ࣮ߦ݁ՌΛग़ྗ͢ΔͨΊͷΟϯυ ։͖ํ ϫʔϧυϝχϡʔ 8PSMENFOV ͷ։͘ ։͘ϝχϡʔ τϥϯεΫϦϓτ 5SBOTDSJQU
30
ୈճ4NBMMUBMLษڧձ ͍ͨͯͨ͘·Βͳ͍ਓͷͨΊʹ Hello SmalltalkΛදࣔͯ͠Έ·͠ΐ͏ ඞཁͳπʔϧ ϫʔΫεϖʔε τϥϯεΫϦϓτ Transcript show: 'Hello
Smalltalk'. ϫʔΫεϖʔεʹҎԼͷίʔυΛهड़ τϥϯεΫϦϓτʹHello SmalltalkΛग़ྗ͢Δ 31
ୈճ4NBMMUBMLษڧձ ϓϩάϥϜͷ࣮ߦํ๏ do it ࣮ߦ͢ΔϓϩάϥϜ Λબͯ͠"-5ʢӈΫ ϦοΫʣ ΫϦοΫ ʮࣜΛධՁʯΛબ ͍ํ
32
ୈճ4NBMMUBMLษڧձ ϓϩάϥϜ݁Ռͷग़ྗํ๏ print it Transcriptʹग़ྗ 1 + 3. Transcript show:
1 + 3. ʮࣜΛදࣔʯΛબ 33
ୈճ4NBMMUBMLษڧձ γεςϜϒϥβ ΫϥεݕࡧɼΫϥεఆٛΛߦͳ͏ ։͖ํ ϫʔϧυϝχϡʔ 8PSMENFOV ͷ։͘ ։͘ϝχϡʔ γεςϜϒϥβʢ#SPXTFSʣ 34
ୈճ4NBMMUBMLษڧձ ΠϯεϖΫλ ΦϒδΣΫτΛௐΔπʔϧ YΛΠϯεϖΫλͰ֬ೝ ΦϒδΣΫτΛબɼ"-5ʢӈΫϦοΫʣԡ͠ ͳ͕ΒΫϦοΫɽ ʮࣜΛΠϯεϖΫτʯΛબ 35
ୈճ4NBMMUBMLษڧձ ΠϯεϖΫλΛͬͯΈΑ͏ "ྻͷཁૉΛϥϯμϜͰऔΓग़͢" x := #(#(7 9) #(3 1)) atRandom.
x. "ΠϯεϖΫτ" x inspect. "Do It" ͲͪΒͷྻ͕Yʹೖ͞Ε͔ͨௐͯΈΔ ·ͨ 36
ୈճ4NBMMUBMLษڧձ ϝιουɾϑΝΠϯμʢMethod Finderʣ ϝιουݕࡧΛ͢Δπʔϧ ϫʔϧυϝχϡʔ 8PSMENFOV ͷ։͘ ։͘ϝχϡʔ ϝιουɾϑΝΠϯμ NFUIPEpOEFS
37
ୈճ4NBMMUBMLษڧձ ϊʔςΟϑΝΠΞ σόοΧΛ։͘ Τϥʔͷࡍʹ։͘ܯࠂදࣔ ࠷ॳɼதࢭϘλϯʢ"CBOEPOʣͰߏΘͳ͍ 38
ୈճ4NBMMUBMLษڧձ σόοΨʢDebuggerʣ ͍ํʮࣗ༝ࣗࡏ4RVFBLϓϩάϥϛϯάʯΛࢀߟʹ͍ͯͩ͘͠͞ 39
ୈճ4NBMMUBMLษڧձ γϣʔτΧοτ .BD 8JOEPXT ϫʔΫεϖʔε Λ։͘ $.% L "-5 L
τϥϯεΫϦϓτ Λ։͘ $.% U "-5 U γεςϜϒϥβ Λ։͘ $.% C "-5 C EPJU $.% E "-5 E QSJOUJU $.% Q "-5 Q $.% "-5 ϐϦΦυʢ.ʣ ڧ੍ऴྃ ׂΓࠐΈ 40
ୈճ4NBMMUBMLษڧձ ऴྃํ๏ ϫʔϧυϝχϡʔͷʮอଘͯ͠ऴྃʯ·ͨʮऴྃʯ ࣮ߦதͷϓϩάϥϜʢϓϩάϥϜͷ࣮ߦঢ়ଶʣΛ ΠϝʔδʹอଘͰ͖Δ ࠶ͼىಈͨ͠ࡍʹɼલճͷঢ়ଶ͕࠶ݱ͞ΕΔ 41
ୈճ4NBMMUBMLษڧձ Πϝʔδͷอଘʹ͍ͭͯ छྨ ༰ อଘ TBWF ݱࡏͷঢ়ଶΛݱࡏ༻͍ͯ͠ΔΠϝʔδʹอଘ ผ໊อଘ TBWFBT ผͷΠϝʔδʹอଘʹঢ়ଶΛอଘɽΠϝʔδ໊
Λܾఆ͢Δɽอଘޙɼ৽ͨʹ࡞ͨ͠Πϝʔ δը໘͕දࣔ ৽͍͠൛ͱͯ͠อଘ TBWFBTOFXWFSTJPO ࣗಈతʹΠϝʔδ໊ʹόʔδϣϯ൪߸͕Ճ͞ ΕΔ อଘͯ͠ऴྃ TBWFBOERVJU ݱࡏͷঢ়ଶΛݱࡏ༻͍ͯ͠ΔJNBHFʹ อଘͯ͠ऴྃ Πϝʔδͱ4NBMMUBMLͷΦϒδΣΫτΛ ϑΝΠϧʹμϯϓͨ͠ͷ 42
Կ͔࡞Γ·͠ΐ͏ BMIܭࢉπʔϧΛ࡞Ζ͏ 43
ୈճ4NBMMUBMLษڧձ BMI #.*ମॏ<LH>× <N>º<N> ඪ४ମॏºY ຊංຬֶձʹΑΔͱ #.*͕ͷ߹͕ඪ४ମॏ #.*͕Ҏ্ͷ߹Λංຬ #.*͕ະຬͰ͋Δ߹Λͤ 9//2.
“” 9\\2. “༨Γ” 44
ୈճ4NBMMUBMLษڧձ UIΛͬͨπʔϧʹ͢ΔͨΊʹ h := FillInTheBlank request:'(cm)?' initialAnswer:'0'. “ΓByteStringͳͷͰ ม͢Δ” h
asInteger . 45
ୈճ4NBMMUBMLษڧձ UIΛͬͨπʔϧʹ͢ΔͨΊʹ Utilities informUser: 'ܭࢉத' ! during: [(Delay forSeconds: 1)
wait]. ඵؒ4RVFBLͷը໘্ʹܭࢉதͱදࣔ͢Δ 46
ୈճ4NBMMUBMLษڧձ | h w bmi sw | h := FillInTheBlank
request: '(cm)?' initialAnswer: '0'. h asInteger <= 0 ifTrue:[ ^false ]. w := FillInTheBlank request: 'ମॏ(kg)?' initialAnswer: '0'. h asInteger <= 0 ifTrue:[ ^false ]. bmi := w // ( ( h*h ) //10000 ). sw := ( h*h*22 ) // 10000 Utilities informUser: 'ܭࢉத' ! during: [(Delay forSeconds: 1) wait ]. Ұ෦ 47
ʢ͓·͚ʣ ΫϥεͱΠϯελϯεฤ ୈ26ճ Smalltalkษڧձ ٢ాɹᠳ 48
ୈճ4NBMMUBMLษڧձ ΫϥεΧςΰϦ࡞ Ϋϥε໊࡞ ϝιουΧςΰϦ࡞ ϝιου࡞ Ϋϥεఆٛ ΫϥεఆٛΫϥεϒϥβΛ༻͍Δ 49
ୈճ4NBMMUBMLษڧձ Ϋϥεఆٛ - ΫϥεΧςΰϦ࡞ "-5 ӈΫϦοΫ Λ ԡ͠ͳ͕ΒΫϦοΫ ʮ߲ΛՃʯΛબ 50
ୈճ4NBMMUBMLษڧձ Ϋϥεఆٛ εʔύʔΫϥε໊TVCDMBTTΫϥε໊ JOTUBODF7BSJBCMF/BNFTΠϯελϯεม໊Πϯελϯεม໊ DMBTT7BSJBCMF/BNFTΫϥεม໊Ϋϥεม໊ QPPM%JDUJPOBSJFTϓʔϧࣙॻ໊ DBUFHPSZΫϥεΧςΰϦ ඞͣεʔύʔΫϥεΛ࣋ͭ ΫϥεϒϥβͷίʔυϖΠϯʹهड़ 51
ୈճ4NBMMUBMLษڧձ Ϋϥεఆٛ Ϋϥεఆٛͷྫ 52
ୈճ4NBMMUBMLษڧձ Ϋϥεఆٛͷө accept γϣʔτΧοτ$.% "-5 T wهड़ͨ͠ఆٛΛอଘʢมߋ௨ʣ wΫϥεఆٛɼϝιουఆٛΛՃɾมߋͷࡍߦͳ͏ w"-5
ӈΫϦοΫ ྃղͰߦͳ͏ ॳΊͯͷBDDFQUͷࡍʹӈͷϑΥʔϜ ͕දࣔ͞ΕΔͷͰΠχγϟϧΛೖྗ 53
ୈճ4NBMMUBMLษڧձ ϝιουͷఆٛ messageSelectorAndArgumentNames "comment stating purpose of message" | temporary
variable names | statements ϝιουͷςϯϓϨʔτͷҙຯ ̍ߦϝιου໊ ̎ߦίϝϯτ ̐ߦҰ࣌มͷఆٛ ̑ߦҎ߱ϝιουͷಈ࡞هड़ 54
ୈճ4NBMMUBMLษڧձ Πϯελϯεͷੜ x := Human new. ΫϥεʹOFXϝοηʔδΛૹ৴ 55
ʢ͓·͚ʣجຊΫϥεฤ ୈ26ճ Smalltalkษڧձ ٢ాɹᠳ 56
ୈճ4NBMMUBMLษڧձ جຊΫϥεͷհ Number Block CollectionΫϥε ΠςϨʔλ Bag, Set Array, OrderedCollection
Dictionary จࣈྻʢStringʣ Stream ଞʹ৭ʑͳΫϥε͕͋Γ·͢ 57
ʢ͓·͚ʣԠ༻ฤ ୈ26ճ Smalltalkษڧձ ٢ాɹᠳ 58
ୈճ4NBMMUBMLษڧձ Workspaceͷ༰ͷอଘ ΛΫϦοΫ͠ɼTBWFDPOUFOUTUPpMFΛબ 59
ୈճ4NBMMUBMLษڧձ ιʔεͷཧํ๏ʢSqueakʣ image͝ͱ csϑΝΠϧʢࠓճհ͠ͳ͍ʣ stϑΝΠϧ Monticelloʢࠓճհ͠ͳ͍ʣ Metacelloʢୈճ4NBMMUBMLษڧձʣ 60
ୈճ4NBMMUBMLษڧձ Πϝʔδ୯ҐͷόοΫΞοϓ JNBHFϑΥϧμΛίϐʔ 61
ୈճ4NBMMUBMLษڧձ stϑΝΠϧͰͷอଘ ϓϩδΣΫτ໊ɼΫϥε໊·ͨϝιου ໊ͰӈΫϦοΫ͠ϑΝΠϧΞτ 62
ୈճ4NBMMUBMLษڧձ stϑΝΠϧͷಡΈࠐΈ ։͖ํ ϫʔϧυϝχϡʔ 8PSMENFOV ͷ։͘ ։͘ϝχϡʔ ϑΝΠϧɾϦετ ϑΝΠϧɾϦετ͔ΒTUϑΝΠϧΛಡΈࠐΉ 63
ୈճ4NBMMUBMLษڧձ stϑΝΠϧͷಡΈࠐΈ ϑΝΠϧɾϦετΑΓTUϑΝΠϧΛࢦఆ͠ɼ ϑΝΠϧΠϯ͢Δ 64
ୈճ4NBMMUBMLษڧձ Monticello '51ɼ)551αʔόʹอଘ͢Δ͜ͱ͕Մೳ 65
͓ΘΓʹ 66
ୈճ4NBMMUBMLษڧձ ݱࡏνϡʔτϦΞϧ࡞த 4RVFBLΠϯετʔϧ 4RVFBLͷجຊૢ࡞ جຊจ๏ Ϋϥεఆٛ
جຊΫϥε /VNCFS #MPDL $PMMFDUJPOΫϥε ΠςϨʔλ จࣈྻʢ4USJOHʣ 4USFBN σόοΫ ྫ֎ॲཧ πʔϧ ୳ࡧͷཱྀ εϨουॲཧ .PSQI ύοέʔδཧ 8FC 4FBTJEF *MJBE .BHNB +40/ 9.- ਖ਼نදݱ 5SBJUT ଞʹཁ͕͋ΕͲ͏ͧ 67
SmalltalkΛͬͱษڧ͍ͨ͠ਓͷͨΊʹ 68
ୈճ4NBMMUBMLษڧձ ͓͢͢Ίࢀߟจݙ ࣗ༝ࣗࡏ4RVFBLϓϩάϥϛϯά 4NBMMUBMLͰֶͿΦϒδΣΫτࢦϓϩάϥϛϯάͷຊ࣭ 4RVFBLCZ&YBNQMFIUUQXXXTRVFBLCZFYBNQMFPSH 4NBMMUBMLΠσΟΦϜ
έϯτɾϕοΫͷ4NBMMUBMLϕετϓϥΫςΟεɾύλʔϯ ॻ੶ 69
ୈճ4NBMMUBMLษڧձ ͓͢͢Ίจݙ $JODPN4NBMMUBML%BJMZʢಈըʣIUUQ XXXDJODPNTNBMMUBMLDPNVTFSCMPHTDJODPNCMPH7JFX DPOUFOUTNBMMUBML@EBJMZ 4NBMMUBMLͷUখจࣈͰ͢ɹIUUQEIBUFOBOFKQTVNJN Ͳ͏ॻ͘ʁPSHIUUQKBEPVLBLVPSH αΠτ 70
ୈճ4NBMMUBMLษڧձ ML 4RVFBLKBIUUQXXXTNBMMUBMLKQNBJMNBO MJTUJOGPTRVFBLKB 4.-IUUQXXXTNBMMUBMLKQ4.- 4RVFBLEFWIUUQ MJTUTTRVFBLGPVOEBUJPOPSHNBJMNBOMJTUJOGP TRVFBLEFW 1IBSPIUUQMJTUTHGPSHFJOSJBGSDHJCJO NBJMNBOMJTUJOGPQIBSPVTFST
71