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
190
Continuous Integration for Pharo Smalltalk
newapplesho
0
170
Elasticsearch for Pharo Smalltalk
newapplesho
0
170
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
120
Other Decks in Programming
See All in Programming
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
500
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
400
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
340
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
140
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.7k
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
230
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4k
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
180
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
200
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
260
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
340
Design in an AI World
tapps
1
240
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
840
How to train your dragon (web standard)
notwaldorf
97
6.7k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Code Reviewing Like a Champion
maltzj
528
40k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
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