Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Proken002
Kohei YOSHIDA
December 26, 2011
Programming
1
90
Proken002
Kohei YOSHIDA
December 26, 2011
Tweet
Share
More Decks by Kohei YOSHIDA
See All by Kohei YOSHIDA
yosida95
0
260
yosida95
2
580
yosida95
3
1.8k
yosida95
1
160
yosida95
0
640
yosida95
1
1.7k
yosida95
0
530
yosida95
0
1.5k
yosida95
6
2.7k
Other Decks in Programming
See All in Programming
makomakok
0
130
grapecity_dev
0
170
legalforce
PRO
1
680
yoshinoriiiii
0
110
bkuhlmann
4
270
tourismgeek
1
130
maito1201
1
820
sters
2
120
inoue2002
2
130
oleindesign
1
200
yasaichi
30
7.6k
bells17
0
360
Featured
See All Featured
rmw
11
810
danielanewman
200
20k
iamctodd
19
2k
paulrobertlloyd
71
3.6k
jeffersonlam
329
15k
stephaniewalter
260
11k
mza
80
4.1k
ddemaree
273
31k
frogandcode
128
20k
colly
188
14k
vanstee
117
4.8k
sferik
610
54k
Transcript
ࠓϓϩδΣΫλʔͷௐத 1
LIGHTWEIGHT LANGUAGE ͷ͢ʍΊ 1A ٢ా ߉ฏ ϥΠϒίʔσΟϯά͋ΔΑ 2
͋͐͡Μͩ 1. ͓લͩΕΑ 2. Lightweight LanguageͬͯԿऀΑ 3. PythonͬͯૉఢΜʁ 4. ͜͜·Ͱ͖͚ͯͨ͠ͲɺԿ͔࣭͋Δʁ
5. ϥΠϒίʔσΟϯάūŖŖŖŖŖŖŖŖŖŖŖ 3
͓લͩΕΑ ͍ͪͶΜ͍ͤ খֶ[56]ੜͷ࣌ʹϓϩάϥϛϯά࢝ΊΔ ͡ΊͯͷݴޠJavaScript খֶੜͷ͓࣌ۚṶ͚ͷͨΊʹPHPͰωοτγϣοϓ࡞Δ 2Pythonista PHPΛdisͬͯΔਓ Vimmer Web /
Lightweight Language / RedBull !! HaskellΛ࢝Ίͨ ← new ! 4
LIGHTWEIGHT LANGUAGE Lightweight Languageʹ͍ͭͯɺ ΣϒͰఏڙ͞ΕΔϑϦʔඦՊ ࣄయɺʮΟΩϖσΟΞʯͰௐ ͨΑɻ 5
ܰྔϓϩάϥϛϯάݴޠ ʢLightweight Language͔Βసૹʣ ܰྔϓϩάϥϛϯάݴޠʢ͚͍Γΐ͏ϓϩάϥϛϯά͛Μ͝ɺLightweight Language,LLʣͱɺຊʹ͓͍ͯεΫϦϓτݴޠΛࢦ͢δϟϯά ϦογϡͰɺऔΓճ͠ʹ༏Εɺίʔυͷ࡞मਖ਼͕༰қͱݟͳ͞ΕΔϓϩάϥϛϯάݴޠͷ͜ͱΛࢦ͢ɻ CGIWebΞϓϦέʔγϣϯͷຄڵʹ͍ɺεΫϦϓτݴޠ͕৽ن։ൃͷओʹ༂Γग़͕ͨɺຊʹ͓͍ͯεΫϦϓτݴޠͱ͍͏දݱ͕ෆద ͩͱߟ͑ɺܰྔϓϩάϥϛϯάݴޠͱݺͿਓʑ͕ݱΕΔΑ͏ʹͳͬͨɻΏ͑ʹɺҰൠʹLLʹྨ͞ΕΔPerlɺPythonɺPHPɺRubyͳͲͷϓϩ άϥϛϯάݴޠͷυΩϡϝϯτʹɺεΫϦϓτݴޠͱهड़͞Ε͍ͯΔࣄ͕ଟ͍ɻ ͳ͓ɺຊʹ͓͚ΔܰྔϓϩάϥϛϯάݴޠͷӳޠදهLightweight
Languageʢ୯ܗʣͰ͋ΓɺӳޠݍͰݟΒΕΔLightweight Languages ʢෳܗʣ·ͨLightweight programming languagesͰͳ͍ɻ ࣍ [ඇදࣔ] 1 1 ܰྔϓϩάϥϛϯάݴޠͷྺ࢙ 2 2 ܰྔϓϩάϥϛϯάݴޠͷྫ 3 3 ܰྔϓϩάϥϛϯάݴޠͷϦιʔεফඅྔ 4 4 ӳޠݍʹ͓͚ΔLightweight programming language 5 5 ؔ࿈߲ ܰྔϓϩάϥϛϯάݴޠͷྺ࢙ [ฤू] εΫϦϓτݴޠ1960͔Βͷྺ࢙͕͋Δ͕ɺLLͱ͍͏୯ޠͷॳग़2001ͷLL1: Lightweight Languages WorkshopͩͱࢥΘΕΔɻ2002 ʹIBM developersWorksͷهࣄʰIBM Lightweight Services, Part 1: Server-side scriptingʱʹɺຊจʹઆ໌Ͱa lightweight languageͱ͍͏ද ه͕͕͋ͬͨɺԤถͰLLͱ͍͏୯ޠఆண͠ͳ͔ͬͨɻ ຊͰ2004ʹLightweight language magazine͕ൃച͞ΕɺLLͱ͍͏୯ޠ͕ࢄݟ ͞ΕΔΑ͏ʹͳͬͨɻ2003Ҏલ΄ͱΜͲΘΕ͍ͯͳ͍ɻओཁͳΠϯλʔωοτɾϝσΟΞʹܰྔϓϩάϥϛϯάݴޠͱ͍͏දݱ͕ݱΘ ΕΔͷಉ࣌ظ͔ΒͰ͋Δɻ2004ʹϚΠίϛδϟʔφϧɺ2007ʹ@ITCodeZineʹܰྔϓϩάϥϛϯάݴޠͱ͍͏දݱ͕ݱΘΕ͍ͯΔɻ ܰྔϓϩάϥϛϯάݴޠͷྫ [ฤू] ݱࡏɺຊͰҰൠʹLLͱݴͬͨ߹ɺ͓͓ΉͶҎԼΑ͏ͳεΫϦϓτݴޠΛࢦ͢ɻ ▪ AWK 6
ཁ͢Δʹ…… ɾຊޠͰܰྔϓϩάϥϛϯάݴޠ ɾεΫϦϓτݴޠ ɾϓϩάϥϚͷෛ୲ͷܰྔԽ ɾಈ࡞͕ܰྔʢϦιʔεΛ৯Θͳ͍ʣͳΘ͚Ͱͳ͍ ɾಈతܕ͚ݴޠͰ͋Δ͜ͱ͕ଟ͍ ɾΠϯλϓϦλ → ίϯύΠϧෆཁ ɾओʹWebͰΘΕͯΔ
ɾJavaScript, Perl, PHP, Python, Ruby 7
ϝϦοτ ؆୯ʹهड़Ͱ͖Δ ίϯύΠϧෆཁ ΠϯλϥΫςΟϒγΣϧ [CGT]UIΞϓϦ͕ࢥ͍ͷ··(※ͨͩ͠ϓϩάϥϚ࣍ୈ) σϝϦοτ ࣮ߦ͕͍ ܕϝϞϦཧͳͲͷ͕ࣝܽམ͢ΔՄೳੑ 8
PYTHONͬͯૉఢΜʁ JavaScript:ϒϥβαΠυ, ࠷ۙαʔόʔαΠυͰΞπΠ Perl:ෳࡶಡ, ݴޠͷ։ൃଓ͍͍ͯΔ͕མͪ PHP:ߴػೳςϯϓϨʔτΤϯδϯҎ্ͰҎԼͰͳ͍ Ruby: Α͘Pythonͱରൺ͞ΕΔ, ຊ 9
օ͞Μɺ͝ଘ͔ͱࢥ͍·͕͢ 10
Pythonͱ…… ΦϥϯμਓͷGuido van Rossum͕։ൃ ֦ுࢠ.py[cw]? Lightweight Languageͷද֨ WebʹݶΒͣɺ׆༂ൣғ͕͍ Google3େݴޠͷ1ͭ χγΩϔϏͷΞΠίϯ͕ಛత
ւ֎Ͱϝδϟʔ,ɹຊͰ࠷ۙීٴͷஹ͠ υϥϚʮϒϥοσΟɾϚϯσΠʯϋοΫγʔϯͰ׆༂ 11
Pythonͱ…… ΠϯσϯτͰίʔυϒϩοΫΛද͢ ΫϥεϕʔεͷΦϒδΣΫτࢦݴޠ ๛ͳύοέʔδ HaskellʹӨڹΛड͚ͨඒ͍͠ߏจ ఏڙ͞ΕΔػೳ࠷খݶ →తͱίʔυ͕1:1ͰରԠ͢ΔͨΊඒ͍͠ →ເແݶେ ※͋͘·Ͱݸਓͷओ؍ʹجͮ͘ҙݟͰ͢ɻࠓͷ࣌ؒफڭઓ૪ड͚͚͍ͯ·ͤΜɻ 12
Hello, Python!! ͠ࠓ͋ͳͨͷखݩʹMac, LinuxϚγϯ͕͋ΔͳΒ…… ͔Β࢝·Δ࿀͕͋Δ……ͣʂʂ $ python >> print(‘Hello, Python’)
13
͜͜·Ͱ͖͚ͯͨ͠Ͳɺ Կ͔࣭͋Δʁ 14
ϥΠϒίʔσΟϯάūŖŖŖŖŖŖ 15