Erlang and Elixir Fest 2018 Keynote

Erlang and Elixir Fest 2018 Keynote

16-JUN-2018 Akihabara Convention Hall / my history of involving in Erlang and Elixir communities and why Erlang and Elixir are attractive systems (presentation in Japanese)
Erlang and Elixir Fest 2018 キーノート
Note: revised to include the last-minute modification and to avoid possible national flag rule violation against the flag of Sweden.

Fc3b290038a97f5df6fec7660c357ef4?s=128

Kenji Rikitake

June 16, 2018
Tweet

Transcript

  1. ErlangͱElixir͕ಥ͖෇͚Δ΋ͷ ͋Δ͍͸ੑೳͱ҆શͷऴΘΓͳ͖ઓ͍ʹ͍ͭͯ Erlang/OTPͱͷ͜ͷ10೥ΛৼΓฦΓͭͭߟ͑Δ Kenji Rikitake / Erlang and Elixir Fest

    2018 16-JUN-2018 1
  2. ྗ෢ ݈࣍ Γ͖͚ͨ ͚Μ͡ 2018೥6݄16೔ Erlang and Elixir Fest 2018

    ळ༿ݪίϯϕϯγϣϯϗʔϧ @jj1bdx Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 2
  3. [PR] ͓࢓ࣄืूதͰ͢ 53ࡀ / ϓϩάϥϛϯάྺ44೥ ιϑτ΢ΣΞΤϯδχΞྺ28೥໨ Erlang/OTPྺ11೥໨ ྗ෢݈ٕ࣍ज़࢜ࣄ຿ॴ ॴ௕ ϖύϘݚڀॴ

    ٬һݚڀһ ઌ݄·Ͱ7ϲ݄C++ͱC#ͱsvnͱVisual Studioͷ࢓ࣄͯ͠·ͨ͠ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 3
  4. ͜ͷ10೥ΛৼΓฦΔ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    4
  5. Erlang/OTPͱͷग़ձ͍ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    5
  6. 2008೥2݄ Cݴޠʹઈ๬͍ͯͨ͠ ౦ژ ೔ຊڮ ؙળ खʹͱͬͯΈͨ ໘ന͍ ͙͢ʹ௨ൢͰങͬͯಡΜͩ Kenji Rikitake

    / Erlang and Elixir Fest 2018 16-JUN-2018 6
  7. Erlang/OTPίϛϡχςΟ΁ ࠷ॳ͸FreeBSDͰͷ͏Δ͏ඵύον͔Β ͦͷ͏ͪWindowsͱࠞͥͨΓ͍Ζ͍Ζ࣮ݧ ౰࣌͸ηΩϡϦςΟؔ࿈ͷݚڀΛ͍ͯͨ͠ SSHͷRPCͱ͔ࢥ͍ͭ͘ …ൃදͰ͖ͦ͏ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 7
  8. 2010೥3݄ Erlang Factory SF Bay 2010 Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 8
  9. ௕͍෇͖߹͍͕࢝·Δ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    9
  10. 2011೥9݄ ౦ژͰ Erlang Workshop ࣮ߦҕһ௕Λ΍Γ੾Δ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 10
  11. ࣮͸2011೥ʹ ͍͢͝Eຊ ͦͯ͠ Erlang In Anger …ͷݪయͱͳΔϓϨθϯ͕ αϯϑϥϯγείͰߦΘΕͨ Kenji Rikitake

    / Erlang and Elixir Fest 2018 16-JUN-2018 11
  12. ໘ന͘ͳ͖ͬͯͨ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    12
  13. Elixirͱͷग़ձ͍ * * Elixirͷϩΰ͸PlataformatecͰ঎ඪొ࿥࡞ۀதͷͨΊڐՄͳ͘࢖͏͜ͱ͸Ͱ͖·ͤΜɻ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 13
  14. 2014೥3݄ Erlang Factory SF Bay 2014 Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 14
  15. José Valim Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 15
  16. Dave Thomas Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 16
  17. িܸతͳߨԋ ݁ߏͳ෺ٞΛৢͯ͠େมͩͬͨΈ͍ͨͰ͕͢ Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 17
  18. Catalyze changes มԽͷ৮ഔͱͳΕ Kenji Rikitake / Erlang and Elixir Fest

    2018 16-JUN-2018 18
  19. ߨԋ಺༰ʢͷཁࢫʣ Erlang͸ಡΈʹ͍͘! Ϩίʔυ͕೉͍͠! υΩϡϝϯτ͕ͳ͍! ͳΜͱ͔͠Α͏ͥ! Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 19
  20. ༗ݴ࣮ߦ Dave Thomas͸ Elixirͱؔ࿈ٕज़ͷ ϓϩϞʔγϣϯʹ ਚྗ ࣗ෼Ͱ1࡭ PragProgͰ7࡭ Kenji Rikitake

    / Erlang and Elixir Fest 2018 16-JUN-2018 20
  21. 2016೥ ϓϩάϥϛϯά Elixir೔ຊޠ൛ొ৔ RubyίϛϡχςΟ ͷਓୡΛͪ´ ͱݟ͔͚ΔΑ͏ʹ ͳͬͨ Kenji Rikitake /

    Erlang and Elixir Fest 2018 16-JUN-2018 21
  22. 2018೥ 2݄ʹେࣄ݅ Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 22
  23. erlang-questions ϝʔϦϯάϦετʹͯ ͜ͱ΋͋Ζ͏ʹࠩผ༻ޠΛ ࣗ෼ͷϨϙδτϦʹ෇͚ͯ ͠·ͬͨਓ͕͍ͨ ͍͢͝EຊͱErlang In Angerͷ ஶऀ͕߅ٞ Kenji

    Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 23
  24. େ࿦૪ ऩर͢Δͷ͕େมͩͬͨΒ͍͠Ͱ͢ Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 24
  25. 2018೥5݄31೔ʙ6݄1೔ ε΢ΣʔσϯͷετοΫϗϧϜʹͯ Code BEAM STO 2018 Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 25
  26. ձٞͷςʔϚʢͷҰ෦ʣ Open Erlang 20प೥ BEAMίϛϡχςΟͷ༥߹ ೔ৗͱͯ͠ͷμΠόʔγςΟ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 26
  27. ௕͍લৼΓΛऴΘΓ·͢ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    27
  28. ErlangͱElixir ͦͯͦ͠ͷଞͷLFE, efene, Alpaca, clojerl, luerl, etc. Ͳ͕͓͍͍͜͠ͷ? Kenji Rikitake

    / Erlang and Elixir Fest 2018 16-JUN-2018 28
  29. ྗ෢ͷߟ͑ΔϝϦοτ Immutability σΟʔϓίϐʔ ࢀরΛ࢖Θͳ͍ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 29
  30. ैདྷͷݴޠ ม਺͸࠶ར༻ ࢀর͔͠ίϐʔ͠ͳ͍ Ͱ͖ΔݶΓ࣮ମΛڞ༗ ↑͢΂ͯόάͷݩ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 30
  31. ैདྷͷݴޠͷݪଇ ۃྗίϐʔͨ͘͠ͳ͍ ۃྗϝϞϦΛઅ໿͍ͨ͠ ҆શΑΓ΋ޮ཰ ୅ೖͷཤྺΛऔΕͳ͍ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 31
  32. C++Ͱࠔͬͨ͜ͱ ม਺͸஋? ࢀর? const෇͖? ͳ͠? ίϯετϥΫλ͸͍ͭಈ͘? std::unique_ptr<> ͋Δ͍͸ shared_ptr<> →ෳ਺ͷໃ६͢ΔηϚϯςΟΫε͕ಉ࣌ʹଘࡏ

    Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 32
  33. Erlang΍ElixirͰ͸ࠔΓ·ͤΜ ม਺͸͢΂࣮ͯମ Ұ౓֬ఆ࣮ͨ͠ମ͸ෆม ୅ೖ͸ඞͣ৽͍࣮͠ମΛ࡞Δ ࢀরΛߟ͑ͳ͍͍͔ͯ͘Βָ ʢETSͱ͔ϓϩηεࣙॻͱ͔࢖͏ͱେมͰ͕͢ʣ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 33
  34. Erlang΍Elixirͷݪଇ ඞཁͳΒͲΜͲΜίϐʔ ϝϞϦઅ໿͸GCͰ ޮ཰ΑΓ΋҆શ ୅ೖͷཤྺΛऔΕΔ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 34
  35. JavaScriptͷྫ // var a = {first: 1, second: 2} //

    b = a // ࢀরͷΈͷڞ༗ { first: 1, second: 2 } // a.second = 3 3 // b // ཁૉͷ࣮ମ͸ڞ༗ { first: 1, second: 3 } // b == { first: 1, second: 3 } false // ͳͥ? // ӈଆ͸ίϯετϥΫλͳͷͰҰக͠ͳ͍ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 35
  36. Erlang/OTPͷྫ %%% ୅ೖ͢Δ࣮ମ͸ৗʹ৽ͭ͘͘͠ΒΕΔ %%% ࠶୅ೖ͸ͦ΋ͦ΋Ͱ͖ͳ͍ % A1 = {1,2,3}. {1,2,3}

    % B1 = A1. {1,2,3} % ίϐʔ͕Ͱ͖Δ % A2 = setelement(3,A1,4). {1,2,4} % B1 =:= {1,2,3}. true Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 36
  37. Erlang΍ElixirͷσϝϦοτ ͱͯ΋஗͍ ൃ૝ͷస׵͕ඞཁ Ruby΍PHPͷΑ͏ʹ͸ॻ͚·ͤΜ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 37
  38. Erlangͷ։ൃऀͷҰਓ Joe Armstrong͸ Ͳ͏ߟ͍͑ͯΔͷ͔ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 38
  39. Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 39

  40. Erlang/ElixirͰେࣄͳ͜ͱ ܰྔฒߦϓϩηε ΤϥʔϋϯυϦϯά ʢͱɺimmutabilityͩͱɺྗ෢͸ࢥ͍ͬͯ·͢ʣ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 40
  41. ܰྔฒߦϓϩηε 1 ॲཧաఔ͸ͦΕͧΕϓϩηεʹׂΓ౰ͯΒΕͯฒߦʹॲཧ ೖྗ ॲཧ ग़ྗ ೖྗ1 → ॲཧ1 →

    ग़ྗ1 ೖྗ2 → ॲཧ2 → ग़ྗ2 ೖྗ3 → ॲཧ3 → ग़ྗ3 ೖྗ4 → ॲཧ4 → ग़ྗ4 1 Francesco Cesarini, Simon Thompson, "Erlang Programming", O'Reilly Media, 2009, p. 112, Figure 4-14 ΑΓྗ෢݈࣍ʹΑͬͯ࠶ߏ੒ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 41
  42. ܰྔϓϩηεͷίϯτϩʔϧ 2 ࡞Δͷ͸spawnҰൃ མͱ͢ͷ͸link΍monitorͰOK ͖Ε͍ʹམͱ͢ͷ͸େม ϓϩηεΩϡʔ͕٧·Δͱऴྃ ॲཧ͕஗͍ͷͰ஫ҙ 2 ࡢ೥ͷElixir Conf

    Japan 2017ͷ@voluntasʹΑΔߨԋʮͳͥ Erlang/OTP Λ࢖͍ଓ͚Δͷ ͔ʯΛࢀর Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 42
  43. ErlangͷΤϥʔϋϯυϦϯά ϦϯΫ (link) Ϟχλʔ (monitor) Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 43
  44. Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 44

  45. Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 45

  46. Erlang/Elixirͷࠓޙ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018

    46
  47. جຊཧ೦ Lagom är bäst ΄Ͳ΄Ͳͳͷ͕Ұ൪ྑ͍ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 47
  48. ΄Ͳ΄Ͳɺͱ͸ ҆શ͸ߴ଎Խʹ༏ઌ खΛൈ͔ͣʹߴ଎Խ έϯΧ͠ͳ͍/ͤ͞ͳ͍ίϛϡχςΟ ٸ͕ͣͰ͖Δ͜ͱΛண࣮ʹ΍͍ͬͯ͘ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 48
  49. ૊ΈࠐΈ෼໺΁ͷԠ༻ GRiSP / Nerves / ֤छ૊ΈࠐΈϘʔυͰͷ࣮ߦ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 49
  50. ࠓޙͷൃలͷ༧૝ େن໛(>1000ϊʔυ)Ϋϥελ ϒϩοΫνΣʔϯ (Aeternity) Erlang/ElixirҎ֎ͷ֤छݴޠ Gradual Type System Language Server

    Protocol Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 50
  51. Erlang/ElixirίϛϡχςΟ ଞͷݴޠʹ͘Β΂Δͱখ͞ͳίϛϡχςΟͰ͢ ͍͢͝ਓͩΒ͚ͰษڧͰ͖·͢ Elixirͷ͓͔͛Ͱ৽͍͠ਓ΋૿͑·ͨ͠ ೉͍͠ݴޠγεςϜͳͷͰϨϕϧ͕ߴ͍Ͱ͢ ඈͼࠐΜͰ͍͘ͱ਌੾ʹͯ͘͠Ε·͢ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 51
  52. ੑೳΑΓ΋҆શΛ ༏ઌͰ͖ΔਓͳΒ͹ Erlang΍Elixirʹ ޲͍͍ͯΔͱࢥ͍·͢ Kenji Rikitake / Erlang and Elixir

    Fest 2018 16-JUN-2018 52
  53. ࠷ޙʹࡢ೥ʹҾ͖ଓ͖ ͓ئ͍ Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 53
  54. ίϛϡχςΟʹ ೔ຊͷਓ͕ ͍·ͤΜ Kenji Rikitake / Erlang and Elixir Fest

    2018 16-JUN-2018 54
  55. ೔ຊࠃ֎Ͱ ӳޠͷ ੒ՌൃදΛ! Kenji Rikitake / Erlang and Elixir Fest

    2018 16-JUN-2018 55
  56. ΑΖ͘͠ ͓ئ͍͠·͢! Kenji Rikitake / Erlang and Elixir Fest 2018

    16-JUN-2018 56
  57. ँࣙ ͜ͷߨԋ͸ GMOϖύϘגࣜձࣾ ϖύϘݚڀॴͷ ͝ࢧԉͰ࣮ݱ͠·ͨ͠ ͋Γ͕ͱ͏͍͟͝·͢ Kenji Rikitake / Erlang

    and Elixir Fest 2018 16-JUN-2018 57
  58. [PR] ྗ෢݈ٕ࣍ज़࢜ࣄ຿ॴͰ͸ ͓࢓ࣄืूதͰ͢ ͝૬ஊ׻ܴக͠·͢ ͥͻ࠙਌ձͰ͓੠͕͚͍ͩ͘͞ Kenji Rikitake / Erlang and

    Elixir Fest 2018 16-JUN-2018 58
  59. ͓͠·͍ ͋Γ͕ͱ͏͍͟͝·ͨ͠ ࣭͝໰ΛͲ͏ͧ Kenji Rikitake / Erlang and Elixir Fest

    2018 16-JUN-2018 59
  60. ࣸਅ౳ΫϨδοτ • Title: Samuel Wong on Unsplash.com • José Valim:

    By Augie De Blieck from USA (elixirconf-47), CC BY 2.0, via Wikimedia Commons • Dave Thomas: By James Davidson (Flickr: Dave Thomas) CC BY 2.0, via Wikimedia Commons • Pragmatic Bookshelf Elixir/OTP/Phoenix books page • ϦϯΫʹΑΔྫ֎γάφϧૹ৴ྫ • ϞχλʔʹΑΔྫ֎ϝοηʔδૹ৴ྫ: ྗ෢݈࣍ɺʮErlangͰֶͿฒߦϓϩάϥϛϯάୈ8ճʯɺ Software Design 2015೥11݄߸ɺٕज़ධ࿦ࣾɺp. 124ͷਤΛ࠶ߏ੒ɻ • ε΢Σʔσϯࠃض: By Jon Harald Søby and others. Public domain, via Wikimedia Commons • ϖύϘݚڀॴϩΰ: GMOϖύϘגࣜձࣾ • εϥΠυதͷॻ੶ͷදࢴͱதදࢴʹ͍ͭͯ͸ΦʔϜࣾɺNo Starch Press, Pragmatic Bookshelfͷ ॻ੶৘ใΛઐΒॻ੶঺հͷ໨తͰ࢖༻͍ͯ͠·͢ɻ • ্هʹ஫ऍͷͳ͍ࣸਅɺਤɺֆʹ͍ͭͯ͸ྗ෢݈͕࣍ࡱӨɺฤूɺ੍࡞͍ͯ͠·͢ɻ Kenji Rikitake / Erlang and Elixir Fest 2018 16-JUN-2018 60