ࠓϓϩδΣΫλʔͷௐத1
View Slide
LIGHTWEIGHT LANGUAGEͷ͢ʍΊ1A ٢ా ߉ฏϥΠϒίʔσΟϯά͋ΔΑ2
͋͐͡Μͩ1. ͓લͩΕΑ2. Lightweight LanguageͬͯԿऀΑ3. PythonͬͯૉఢΜʁ4. ͜͜·Ͱ͖͚ͯͨ͠ͲɺԿ͔࣭͋Δʁ5. ϥΠϒίʔσΟϯάūŖŖŖŖŖŖŖŖŖŖŖ3
͓લͩΕΑ͍ͪͶΜ͍ͤখֶ[56]ੜͷ࣌ʹϓϩάϥϛϯά࢝ΊΔ͡ΊͯͷݴޠJavaScriptখֶੜͷ͓࣌ۚṶ͚ͷͨΊʹPHPͰωοτγϣοϓ࡞Δ2PythonistaPHPΛdisͬͯΔਓVimmerWeb / Lightweight Language / RedBull !!HaskellΛ࢝Ίͨ ← new !4
LIGHTWEIGHT LANGUAGELightweight 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 language5 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ͱݴͬͨ߹ɺ͓͓ΉͶҎԼΑ͏ͳεΫϦϓτݴޠΛࢦ͢ɻ■ AWK6
ཁ͢Δʹ……ɾຊޠͰܰྔϓϩάϥϛϯάݴޠɾεΫϦϓτݴޠɾϓϩάϥϚͷෛ୲ͷܰྔԽɾಈ࡞͕ܰྔʢϦιʔεΛ৯Θͳ͍ʣͳΘ͚Ͱͳ͍ɾಈతܕ͚ݴޠͰ͋Δ͜ͱ͕ଟ͍ɾΠϯλϓϦλ → ίϯύΠϧෆཁɾओʹWebͰΘΕͯΔɾJavaScript, Perl, PHP, Python, Ruby7
ϝϦοτ؆୯ʹهड़Ͱ͖ΔίϯύΠϧෆཁΠϯλϥΫςΟϒγΣϧ[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