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
今日から使おう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
170
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
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
220
Go 1.27 における memory allocation の高速化
andpad
0
330
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
400
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
2
1.2k
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
1
2k
T3DD26: From RAGs to Riches
martinhelmich
0
100
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.1k
仕様駆動開発の消費期限
watany
20
9k
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
720
「人を評価する AI」の設計と実装
ryoyanara
0
240
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
640
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
380
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
300
Chasing Engaging Ingredients in Design
codingconduct
0
280
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.5k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
560
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
290
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Navigating Weather and Climate Data
rabernat
0
490
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
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