突如見知らぬ言語に出会ってしまった俺達は

672ee2598bea695496f11022a9a9c4c8?s=47 moznion
July 03, 2016

 突如見知らぬ言語に出会ってしまった俺達は

YAPC Hachioji 2016の資料です

672ee2598bea695496f11022a9a9c4c8?s=128

moznion

July 03, 2016
Tweet

Transcript

  1. ಥ೗ݟ஌Β͵ݴޠʹ ग़ձͬͯ͠·ͬͨԶୡ͸ @moznion

  2. ͜Μʹͪ͸

  3. @moznion

  4. ͜͜Ͱ࣭໰

  5. ࠓ೥ೖ͔ͬͯΒ৽͍͠ݴޠ ΍ͬͯΔͧʙʙʙʙͬͯਓ

  6. ࠓ೥ೖ͔ͬͯΒ(झຯͰ) ৽͍͠ݴޠ ΍ͬͯΔͧʙʙʙʙͬͯਓ

  7. Թ౓ײΘ͔Γ·ͨ͠

  8. ಥ೗ݟ஌Β͵ݴޠʹ ग़ձͬͯ͠·ͬͨԶୡ͸ @moznion

  9. @moznion

  10. ࠓճ࿩͢͜ͱ ·ͨͦͷλʔήοτ

  11. ϓϩάϥϛϯά
 ݴޠͷֶͼํʹ͍ͭͯ ݸਓతʹࢥ͏͜ͱ ·ͨ΍͍ͬͯΔ͜ͱͷ঺հ

  12. ϓϩάϥϛϯά
 ॳֶऀͷਓ

  13. ͋Δ͍͸ποίϛΛ
 ೖΕ͍ͨਓ

  14. dan the question OK!

  15. ࠓճ࿩͞ͳ͍͜ͱ

  16. ໊෺: ҟৗͳ౒ྗ

  17. ຊ୊

  18. ͷલʹ……

  19. ͷલʹ…… ࠓ͙͢ΫϦοΫ

  20. ͳͥ৽͍͠ݴޠΛ ΍Δͷ͔ʁ

  21. None
  22. ຖ೥গͳ͘ͱ΋ҰͭͷݴޠΛֶश͢Δ: ݴޠ͕ҟͳΔͱɼಉ͡ ໰୊Ͱ΋ҧͬͨղܾํ๏͕࠾༻͞Ε·͢ɽͭ·Γɼ͍͔ͭ͘ͷ ҟͳͬͨΞϓϩʔνΛֶश͢Δ͜ͱʹΑΓɼ෯޿͍ࢥߟ͕Ͱ͖ ΔΑ͏ʹͳΔΘ͚Ͱ͢ɽ͜ΕʹΑͬͯɼ͵͔ΔΈʹ͸·ͬͯ͠ ·͏ࣄଶΛආ͚Δ͜ͱ͕Ͱ͖ΔΑ͏ʹͳΓ·͢ɽ

  23. ͳΔ΄Ͳ

  24. Ͳ͍ͬ͜ཧ༝ͳͲແ͘ ΍Δ৔߹/΍Β͞ΕΔ
 ৔߹΋͋Δ

  25. ৭ʑ͋Γ·͢ ৭ʑ΍ͬͯΈ·͠ΐ͏

  26. ஌ͱ͸ͳʹ͔……

  27. ݟ·͢

  28. Erlang: rabbitmq-server/src/rabbit_router.erl

  29. Clojure: ring/ring-core/src/ring/middleware/resource.clj

  30. Perl: Plack/lib/Plack/Request.pm

  31. C: h2o/src/main.c

  32. Ͳ͏Ͱ͔͢ (৭ʑͳײ૝͕͋Γ·͢)

  33. ݟ֮͑ͷ͋Δ΋ͷ͸ ͋·Γා͘ͳ͍

  34. ڪා = ແ஌

  35. ஌Δͱ͍͏͜ͱ͸ ڪාΛࠀ෰͢Δ͜ͱ

  36. ڪාΛࠀ෰ͯ͠ࢀΓ ·͠ΐ͏

  37. ڪාΛࠀ෰͍ͯ͘͠ͱ ͲΜͲΜݴޠΛ΍ͬͯ ͍͚Δ

  38. ݟ஌Β͵ݴޠΛֶͿ࣌Ͳ͏͢ Δ͔

  39. ৔߹Λߟ͑·͠ΐ͏

  40. ۚ͋Δ ࣌ؒ͋Δ ۚ͋Δ ࣌ؒͳ͍ ۚͳ͍ ࣌ؒ͋Δ ۚͳ͍ ࣌ؒͳ͍ ۚ ࣌ؒ

  41. ۚ͋Δ ࣌ؒ͋Δ

  42. ຊΛಡΉͷ͸ָ ࣗવͱମܥֶ͚ͮͯͿ ͜ͱ͕Ͱ͖Δ

  43. ͨͩಡΉ͚ͩͰ͸ແӹ खΛಈ͔͢ͷ͕؊ਛ

  44. खΛಈ͔͞ͳ͍ܥͷ ຊ͸୯ͳΔಡΈ෺ͳͷ Ͱ͋Μ·࢖͑ͳ͍

  45. ͳΜ΍͔΍ίϐϖͯ͠ ಈ͔ͤΔిࢠ൛͸ศར

  46. ͨͩ͠ͳΔ΂͘৽͠ ͍ຊΛ࢖͍·͠ΐ͏

  47. ۚͳ͍ ࣌ؒ͋Δ

  48. ࠷ۙ͸ྑ͍࣌୅ʂ

  49. ͪΌΜͱͨ͠ݴޠͩͱ νϡʔτϦΞϧ͕ॆ࣮ ͯ͠Δ

  50. e.g. A Tour of Go https://tour.golang.org/ The Rust Programming Language

    https://doc.rust-lang.org/book/ README.html
  51. Πϯλʔωοτ্ʹ΋ αʔυύʔςΟͳ
 ৘ใ͕๛෋ʹ͋Δ

  52. ͜͜Ͱ ikura ͞Μͷ ϗʔϜϖʔδͷਤ

  53. None
  54. ୯७ʹίϐϖͯ͠ࡁ· ͤΔͷ͸΍Ί·͠ΐ͏

  55. ෳ਺ͷ৘ใΛরΒ͠ ߹Θͤ·͠ΐ͏

  56. ՄೳͳݶΓ৽͍͠
 ৘ใιʔεʹ
 ౰ͨΓ·͠ΐ͏

  57. ܁Γฦ͠ʹͳΓ·͕͢ खΛಈ͔͠·͠ΐ͏

  58. ಈըίϯςϯπͳͲ ΋ྑͦ͞͏

  59. e.g. coursera https://www.coursera.org/ υοτΠϯετʔϧ http://dotinstall.com/

  60. ஫) > ΞυόΠε͕1ݸ͋ͬͯɼڭࡐ͕ಈըͳ ͷͰɼ෮श͠ʹ͍͘ɽ͜Ε෮शͰ͖ͳ͍͠ ͲΜͲΜ๨Ε͍ͯ͘ͷͰ͸ͬͯؾ෇͍ͯɼ 3ि໨͘Β͍͔Βɼಈըݟͳ͕ΒϝϞͱͬ ͓ͯ͘Α͏ʹͨ͠Β໾ཱͭײ͡ʹͳͬͨɽ hitode909ͷ೔ه/Courseraͷػցֶशͷίʔε׬૸ͨ͠ http://blog.sushi.money/entry/2016/04/09/101854

  61. ۚ͋Δ ࣌ؒͳ͍

  62. None
  63. ۚͰ͸Ͳ͏ʹ΋ͳΒΜ ͖͋ΒΊΖʂʂʂʂʂ

  64. ֶͿࣄ͕໨తͰͳ͍ ৔߹

  65. ਓޏͬͨ΄͏͕ྑ͍ Ͱ͢Α

  66. ͱ͍͏Θ͚Ͱ ࣗવͱۚͳ͍ϧʔτ΁ Ҡߦ͠·͢

  67. ۚͳ͍ ࣌ؒͳ͍

  68. ͳΓ;Γߏ͍ͬͯΒΕͳ͍ ਓʹ㘤͖·͠ΐ͏

  69. ਓ͸ૣ͍

  70. ͜͏͍͏࣌ʹ ίϛϡχςΟʹ ଐͯ͠Δͱྑ͍Ͱ͢ΑͶ

  71. ೖͬͯͳ͍৔߹͸ ίϛϡχςΟʹ
 ೖΓ·͠ΐ͏

  72. ͍ͣΕͷ৔߹Ͱ΋ ݴ͑Δ͜ͱ

  73. ͦͷݴޠಛ༗ͷػೳ΍ ੈք؍Λ֮͑Δ͜ͱʹ ஫ྗ͢Δ

  74. ྫ͑͹ go ͱ͔ clojure ͳΒ ฒྻϓϩάϥϜͷٕ๏ Scala ͱ͔ Haskell ͱ͔ͳΒڧྗͳܕγε

    ςϜΛجௐͱͨ͠വ਺ϓϩάϥϜͷٕ๏ Java ΍ C# ͳΒΦϒδΣΫτࢦ޲ͷٕ๏ ͳͲͳͲ
  75. ৭ʑͳੈք؍Λ஌ͬ ͓ͯ͘ͱࣅͨػೳʹ ग़ձͬͨ࣌ʹ஌ͬͨ ͔ͿΕΔ

  76. ڪා͠ͳ͘ͳΔ

  77. REPLͰษڧ͢Δͷ Λ΍ΊΔ

  78. ϓϩμΫγϣϯͰ REPL࢖ΘΜ (΋ͪΖΜ։ൃதͷಈ࡞֬ೝ ͱ͔Ͱ͸ΊͬͪΌ࢖͏͚Ͳ)

  79. ͳΜ͔ແཧ

  80. γϯλοΫεϋΠϥΠτ ͕ແ͍

  81. ࠶ݱͤ͞ϏϦςΟ
 ͷࠩ

  82. ίʔυͷશ๴Λ
 ͔ͭΈʹ͍͘ งғؾ͕Θ͔Βͳ͍

  83. IDE࢖͍·͠ΐ͏

  84. ·͋·ౖ͋Βͳ͍Ͱ

  85. ੲ͸VimҰຊͰྑ͍ͱ ࢥͬͯͨ ͓Ε͸΍ΕΔΜͩͱ ࢥͬͯͨ

  86. ੲ͸˓̋ (͜͜ʹ޷͖ͳΤ σΟλͷ໊લΛೖΕ·͠ΐ ͏)ҰຊͰྑ͍ͱࢥͬͯͨ ͓Ε͸΍ΕΔΜͩͱࢥͬͯͨ

  87. ے೑ਸഈ (Կ౓΋ಉ͡ίʔυΛ ॻ͘ͱ֮͑Δͧ) ͷ࣌୅

  88. Կ౓΋ॻ͘ඞཁ͋Δ ίʔυΛॻ͘ඞཁ͸ ແ͍ʂʂʂʂʂ IDEʹॻ͔ͤΖʂʂ

  89. IDE͕ਖ਼͍͠ίʔυ ʹಋ͍ͯ͘ΕΔͷ͕ ॏཁ

  90. ؒҧ͑ͨίʔυΛԿว ΋Կว΋ॻ͘ͷ͸֐ѱ ਖ਼͍͠ίʔυΛॻ͍ͨ ΄͏͕ྗʹͳΔ

  91. ຊ࣭Λֶͼ΍͍͢

  92. ͱ͸͍͑ ·͋VimͰ΋ྑ͍ͱ ࢥ͍·͢

  93. IDEͳ͍ݴޠͰ΋େৎ෉ (Padre͞Μ͓ݩؾͰ͔͢)

  94. ਖ਼͍͠ίʔυΛॻ͘ࣄ Λॿ͚ͯ͘ΔπʔϧΛ ࢖͏

  95. ੩తղੳ (Perl::Lint͞Μ͓ݩؾͰ͔͢)

  96. ਖ਼͍͠ίʔυελΠ ϧʹಋ͍ͯ͘ΕΔ gofmt, check style, code sniffer and etc

  97. όάͷগͳ͍ίʔυ ʹಋ͍ͯ͘ΕΔ golint, findbugs and etc

  98. ͜ΕΒ͸྆ऀ݉Ͷ͍ͯΔ৔ ߹΋͋Δ perl-critic, rubocop, js-[hl]int and etc

  99. ࢖͍ͬͯ͘͏ͪʹਖ਼͍͠ (ਖ਼ ͦ͏) ͳίʔυ͕Θ͔ͬͯ͘ Δ, ॻ͚ΔΑ͏ʹͳͬͯ͘Δ

  100. ΤσΟλʹ૊ΈࠐΜͰɼϦ ΞϧλΠϜతʹૉૣ͍ϑΟʔ υόοΫΛಘΔͱͳ͓Α͍

  101. ਖ਼͍͠ίʔυΛॻ͘ࣄΛ ॿ͚ͯ͘ΔπʔϧΛ࡞Δ ΋͘͠͸ॲཧܥΛ࡞Δ

  102. e.g. Perl࡞੒Λܾҙ ʮਂ͘ཧղ͍ͨ͠ͳΒ࡞Δʯͱ͍͏ Ϟο τʔͷ΋ͱɺֶͿͳΒ࡞ֶͬͯͼ͍ͨʂ Ͳ͏ͤͳΒɺεΫϦϓτݴޠք࠷଎ͷPerlΛ ࡞Γ͍ͨ Perlͱग़ձ͍ɺPerlΛ࡞Δ/@goccy http://www.slideshare.net/goccy/perlperl

  103. ͦ͏͍͏͜ͱΛ΍Δͱཧղ ͕ਂ·Δͱ͍͏৔߹͕ ͋Γ·͢ (Perl::Lint ͞Μ͓ݩؾͰ͔͢)

  104. ৽͍͠ݴޠΛ΍Δͱ͖ ʹඞͣॻ͘΋ͷΛ ܾΊΔ

  105. ಉ͡΋ͷΛҧ͏ݴޠͰͨ͘ ͞Μॻ͍ͯΈΔ

  106. ಉ͡΋ͷΛॻ͘͜ͱͰݴޠ ͷࠩҟ͕ݟ΍͘͢ͳΔ ಘखෆಘखΛ͔ͭΊΔΑ͏ ʹͳΔ

  107. ΰʔϧ΋໌֬ʹఆ·Δ ੒ޭମݧʹܨ͕Δ

  108. yes ίϚϯυΫϩʔϯͱ͔ ͸ख࢝Ίʹ؆୯Ͱ΍Γ΍͢ ͍

  109. ͭ·Βͳ͍ʁ

  110. Web Application Framework ͱ͔ॻ͘ͱ໘ന͍

  111. template engine ΋໘ന͍Ͱ ͢Ͷ

  112. ίϛϡχέʔγϣϯ ͠·͠ΐ͏

  113. ̍ਓͰ΍Δͱ٧·Δ

  114. ͸͍

  115. ·ͱΊ

  116. ͱʹ͔͘ॻ͖·͠ΐ͏

  117. Q?