Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プログラミング言語入門

 プログラミング言語入門

D400e6d92f9a69b60d9cfdff1dc9a98e?s=128

Kazushige Tominaga

November 30, 2017
Tweet

Transcript

  1. ϓϩάϥϛϯάݴޠೖ໳

  2. 2 Fablic, inc. Software Engineer ෌ӬҰ੒ @tooooooooomy ϓϩϑΟʔϧ @kazu9su ओʹαʔόʔαΠυͷ։ൃΛ୲౰

    rubyॳ৺ऀͰ͢
  3. 3 ϑϦϧ '3*- ʮཉ͍͠ʯ͕Έ͔ͭΔϑϦϚΞϓϦ 

  4. 4 'BCMJDͰ͸<3VCZJTU>Λੵۃ࠾༻தʂ

  5. 5 ओ࠵ IUUQTGBCMJDWJNDPOOQBTTDPN IUUQTFCJTVSCDPOOQBTTDPN

  6. 3BDD 6

  7. 7 3BDD w 3VCZZBDDͷུ

  8. 8 3BDD w 3VCZZBDDͷུ w ZBDD

  9. 9 3BDD w 3VCZZBDDͷུ w ZBDD  w :FU"OPUIFS$PNQJMFS$PNQJMFS

  10. 10 3BDD w 3VCZZBDDͷུ w ZBDD  w :FU"OPUIFS$PNQJMFS$PNQJMFS w

    3%UPPMͰ࢖༻͞Ε͍ͯΔɹ w 1BSTFS(FOFSBUPS w 1BSTF  w ਓ͕ཧղͰ͖ΔจষΛίϯϐϡʔλ͕ཧղͰ͖Δจষʹม׵͢Δ͜ͱ
  11. 1BSTF 11

  12. 12 ྫจࣈྻͷεΩϟϯ QVUT ʞ)FMMP8PSMEʟ τʔΫϯ ه߸ QVUT ࣝผࢠ )FMMP8PSME จࣈྻ

  13. 13 ྫγεςϜͷཧղ SFEVDUJPO ͷաఔ ࣝผࢠ จࣈྻ

  14. 14 ྫγεςϜͷཧղ SFEVDUJPO ͷաఔ ࣝผࢠ จࣈྻ  ˣ ࣝผࢠ Ҿ਺

  15. 15 ྫγεςϜͷཧղ SFEVDUJPO ͷաఔ ࣝผࢠ จࣈྻ  ˣ ࣝผࢠ Ҿ਺

     ˣ ؔ਺ݺͼग़͠
  16. 16 ྫγεςϜͷཧղ SFEVDUJPO ͷաఔ ࣝผࢠ จࣈྻ  ˣ ࣝผࢠ Ҿ਺

     ˣ ؔ਺ݺͼग़͠ ˣ จ
  17. 17 ྫγεςϜͷཧղ SFEVDUJPO ͷաఔ ࣝผࢠ จࣈྻ  ˣ ࣝผࢠ Ҿ਺

     ˣ ؔ਺ݺͼग़͠ ˣ จ ˣ ϓϩάϥϜ
  18. 18 ࣮૷จ๏ͷఆٛ

  19. 19 ߏจ໦ QSPHSBN TUNU &0- GVODBMM *%&/5 ʞ ʟ BSHT

    ʞ ʟ QSJNBSZ 453*/(
  20. 20 SFEVDF ؐݩ ͷྲྀΕৄࡉ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-

  21. 21 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QVUT ʞ)FMMP8PSMEʟ *%&/5

    453*/( &0-
  22. 22 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QVUT

    ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  23. 23 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QSPHSBN*%&/5

    *%&/5Λγϑτ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  24. 24 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QSPHSBN*%&/5

    *%&/5Λγϑτ QSPHSBN*%&/5b ` `Λγϑτ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  25. 25 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QSPHSBN*%&/5

    *%&/5Λγϑτ QSPHSBN*%&/5b ` `Λγϑτ QSPHSBN*%&/5b `453*/( 453*/(Λγϑτ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  26. 26 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QSPHSBN*%&/5

    *%&/5Λγϑτ QSPHSBN*%&/5b ` `Λγϑτ QSPHSBN*%&/5b `453*/( 453*/(Λγϑτ QSPHSBN*%&/5b `QSJNBSZ QSJNBSZʹؐݩ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  27. 27 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QSPHSBN*%&/5

    *%&/5Λγϑτ QSPHSBN*%&/5b ` `Λγϑτ QSPHSBN*%&/5b `453*/( 453*/(Λγϑτ QSPHSBN*%&/5b `QSJNBSZ QSJNBSZʹؐݩ QSPHSBN*%&/5b `BSH BSHʹؐݩ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  28. 28 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QSPHSBN*%&/5

    *%&/5Λγϑτ QSPHSBN*%&/5b ` `Λγϑτ QSPHSBN*%&/5b `453*/( 453*/(Λγϑτ QSPHSBN*%&/5b `QSJNBSZ QSJNBSZʹؐݩ QSPHSBN*%&/5b `BSH BSHʹؐݩ QSPHSBN*%&/5b `BSHb ` `Λγϑτ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  29. 29 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QSPHSBN*%&/5

    *%&/5Λγϑτ QSPHSBN*%&/5b ` `Λγϑτ QSPHSBN*%&/5b `453*/( 453*/(Λγϑτ QSPHSBN*%&/5b `QSJNBSZ QSJNBSZʹؐݩ QSPHSBN*%&/5b `BSH BSHʹؐݩ QSPHSBN*%&/5b `BSHb ` `Λγϑτ QSPHSBNGVODBMM GVODBMMʹؐݩ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  30. 30 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QSPHSBN*%&/5

    *%&/5Λγϑτ QSPHSBN*%&/5b ` `Λγϑτ QSPHSBN*%&/5b `453*/( 453*/(Λγϑτ QSPHSBN*%&/5b `QSJNBSZ QSJNBSZʹؐݩ QSPHSBN*%&/5b `BSH BSHʹؐݩ QSPHSBN*%&/5b `BSHb ` `Λγϑτ QSPHSBNGVODBMM GVODBMMʹؐݩ QSPHSBNTUNU TUNUʹؐݩ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  31. 31 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QSPHSBN*%&/5

    *%&/5Λγϑτ QSPHSBN*%&/5b ` `Λγϑτ QSPHSBN*%&/5b `453*/( 453*/(Λγϑτ QSPHSBN*%&/5b `QSJNBSZ QSJNBSZʹؐݩ QSPHSBN*%&/5b `BSH BSHʹؐݩ QSPHSBN*%&/5b `BSHb ` `Λγϑτ QSPHSBNGVODBMM GVODBMMʹؐݩ QSPHSBNTUNU TUNUʹؐݩ QSPHSBNTUNU&0- &0-ΛγϑτɻQSPHSBN͕֬ఆ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  32. 32 SFEVDF ؐݩ ͷྲྀΕৄࡉ ελοΫ ঢ়گ ۭ QSPHSBN QSPHSBNΛؐݩ QSPHSBN*%&/5

    *%&/5Λγϑτ QSPHSBN*%&/5b ` `Λγϑτ QSPHSBN*%&/5b `453*/( 453*/(Λγϑτ QSPHSBN*%&/5b `QSJNBSZ QSJNBSZʹؐݩ QSPHSBN*%&/5b `BSH BSHʹؐݩ QSPHSBN*%&/5b `BSHb ` `Λγϑτ QSPHSBNGVODBMM GVODBMMʹؐݩ QSPHSBNTUNU TUNUʹؐݩ QSPHSBNTUNU&0- &0-ΛγϑτɻQSPHSBN͕֬ఆ QSPHSBN QSPHSBNʹؐݩ QVUT ʞ)FMMP8PSMEʟ *%&/5 453*/( &0-
  33. ࣮૷ 33

  34. 34 ࣮૷ΞΫγϣϯͷఆٛ

  35. 35 ࣮૷ΞΫγϣϯͷ࣮૷

  36. 36 ࣮૷ύʔε εΩϟϯ

  37. 37 ͜͜·Ͱ΍Δͱʜ

  38. 38 ͜͜·Ͱ΍Δͱʜ ࣗ෼Ͱ࡞ͬͨݴޠͰ)FMMP8PSMEͰ͖Δ

  39. 39 ͜͜·Ͱ΍Δͱʜ ৽઱ খฒ

  40. 40 ࢀߟʹͨ͠ຊ 3VCZΛഒ࢖͏ͨΊͷຊແಓฤ

  41. 41 ͜ͷຊΛಡΈਐΊΔͱʜ w ม਺ఆٛ w ԋࢉࢠ w JG XIJMF w

    ؔ਺ఆٛ ͳͲ͕࣮૷Ͱ͖Δ IUUQTHJUIVCDPNLB[VTVSBDDUSBJOJOH
  42. 42 ۩ମతʹՄೳʹͳΔදݱ

  43. 43 ͚ͬ͜͏ΠέΔ΍Μʜʁ

  44. 44 ͱࢥͬͨΒ w ࣍͸Ϋϥε΄͍ͬ͢͠Ͷ w ϒϩοΫ΋΄͍͠ w ΋ͪΖΜωετ͠·͔͢ΒͶ w ͱ͍ͬͨͱ͜ΖͰܧଓཉ͍͠ͳʔͬͯݴͬͯ͢΂

    ͯͻͬ͘Γฦ͠·͔͢Ͷ ࣾ಺ͷ๭ಉ྅
  45. 45 ͓·͚ ܧଓ

  46. 46 ౰વ ·ͩ·ͩԞ͕ਂ͍

  47. 47 ࠷ۙͩͱԕ౻͞Μ͕ຊग़ͯ͠·ͨ͠Ͷ ࠓಡΜͰ·͢ RubyͰͭ͘ΔRuby

  48. 48 ·ͱΊ w 3BDDͰ؆୯ʹݴޠͷ࢓૊ΈΛֶ΂Δ w ීஈͷۀ຿ʹμΠϨΫτʹ׆͖Δ͜ͱ͸ͳ͍͔΋͠Εͳ͍͚Ͳ୯७ʹָ͍͠ͷͰΦεεϝ

  49. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠