Slide 1

Slide 1 text

৽͘͠ݴޠΛֶͿࢲͷ΍Γํ 5PNPIJTB0EBŠ(.01FQBCP *OD 'VLVPLBST+BO

Slide 2

Slide 2 text

Fukuoka.rs #1 !MJOZPXT CMPHUPNPIJTBPEBDPN (.0ϖύϘ ϓϦϯγύϧΤϯδχΞ 2

Slide 3

Slide 3 text

Fukuoka.rs #1 3 8%#13&44WPM )BTIJ$PSQ7BVMUͷهࣄدߘ ෱Ԭͷ(PMBOHίϛϡχςΟ 'VLVPLBHPͷओ࠵ͷਓ MJOVYϢʔβͷ໊લղܾΛ (JU)VC͔ΒϚοϐϯά͢Δ ιϑτ΢ΣΞͷ։ൃ

Slide 4

Slide 4 text

Fukuoka.rs #1 QSJOUMO )FMMP3VTUBDFBOT 4

Slide 5

Slide 5 text

Fukuoka.rs #1 3VTUͱࢲ w /P3VOUJNFɺ/P($ ͢͝ʔʔʔ͍ w ͳ͔ͳ͔ίϯύΠϧ௨Βͳ͍ͬͯฉ͘ w (P࢖ͬͯͯࠔΔ͜ͱͳ͍ΑʁԿ͕خ͍͠ͷʁ w ͣͬͱ͜ͷௐࢠͳͷͰɺൃදυϦϒϯͰษڧΛ։࢝͠Α͏ʂ w ΜͰɺؾ͍ͮͨΒਖ਼݄΋ऴΘͬͯษڧձͷिؒલ 5

Slide 6

Slide 6 text

Fukuoka.rs #1 ͋͞ษڧΛ࢝ΊΔͧ w ͱΓ͋͑ͣ؀ڥͷߏஙʢ3VTUVQೖΕͨΓɺWJNQMVHJO୳ͨ͠Γʜʣ w ͱΓ͋͑ͣ3VTUͷ5IF#PPLΛಡΈ࢝ΊΔ w ͙͢ʹ಄ʹೖͬͯ͜ͳ͘ͳͬͨͷͰखΛಈ͔࢝͠ΊΔ w ϦϙδτϦ࡞ͬͯࣸܦHJUIVCDPNMJOZPXTSVTUMFBSOJOH w ͦͯ͠๞͖ͯɺHJUIVCDPNͰ⭐ͷ୔ࢁ͍ͭͨ3VTUϦϙδτϦΛோΊΔ w ऴྃʜ 6

Slide 7

Slide 7 text

Fukuoka.rs #1 aϞνϕʔγϣϯ͕ଓ͔ͳ͍κ 7

Slide 8

Slide 8 text

Fukuoka.rs #1 ϞνϕʔγϣϯΛ୳ཱྀ͢ w Α͏͠ɺϞνϕʔγϣϯΛͻͶΓग़ͧ͢ w 3VTUͬͯԿ͕͍͍ͷʂʢ࠶ʣΦϑΟγϟϧαΠτʹ͋Δ͸ͣ w ͔͍ͭͲ͜Ζ͸Ͳ͜ʁʁʢ੾࣮ʣ͜Ε΋ɺΦϑΟγϟϧαΠτʹ͋Δ͸ͣ w ࣗ෼ͩͬͨΒͲ͏࢖͏ 8

Slide 9

Slide 9 text

Fukuoka.rs #1 3VTUͷಛ௃ w ͱͯ΋ߴ଎ͰϝϞϦޮ཰͕Α͍ͷͰϋΠύϑΥʔϚϯεɺͦͯ͠૊ΈࠐΈ ͱ͔؆୯ʹଞݴޠͱ౷߹Ͱ͖Δ w ๛෋ͳܕͱ0XOFSTIJQϞσϧʹΑΓϝϞϦ΍εϨου͕҆શͰ͋Δ͜ͱΛ อূ͢Δɺ͔ͩΒଟ͘ͷछྨͷόάΛίϯύΠϥͰഉআͰ͖Δ w ๛෋ͳυΩϡϝϯτɺݡ͍ίϯύΠϥɺ౷߹͞ΕͨύοέʔδπʔϧͰੜ ࢈ੑߴ͍ 9

Slide 10

Slide 10 text

Fukuoka.rs #1 3VTUͷΩϟονίϐʔ ৴པੑ΍ޮ཰ੑͷߴ͍ιϑτ΢ΣΞΛ ୭΋͕ॻ͚ΔྗΛ༩͑ΔΑʂ ·͔͡ʜ 10

Slide 11

Slide 11 text

Fukuoka.rs #1 3VTUWT(P 11 Rust Go Performance Great Good Simple and Readable Code OK Great Concurrency Yes Yes Forcing error checking Yes No

Slide 12

Slide 12 text

Fukuoka.rs #1 ϚγϯϦιʔεΛ࢒Βͣ࢖͍੾Δ·Ͱ ύϑΥʔϚϯεΛॏࢹ͍ͨ͠ͷͳΒ3VTUʂ 12

Slide 13

Slide 13 text

Fukuoka.rs #1 3VTUͷ͔͍ͭͲ͜Ζ w ύϑΥʔϚϯεॏࢹͰ҆શͳιϑτ΢ΣΞͷ։ൃͰ͋Ε͹Ұ୒Ͱ͠ΐ͏ʂ ʢύϑΥʔϚϯεͬͯ͋ͱ͔Βཁٻ͞ΕΔʁʣ w 3VTUͰͦΕͳΓʹੜ࢈ੑߴΊΔʹ͸࿅౓͕ඞཁͦ͏ͳͷͰɺڭҭମ੍΋͋ Δ։ൃɺ·ͨ͸ख़࿅ूஂͰͷ։ൃ w ະख़ऀ͸ɺ044ͱ͔ɺԶಘ$-*πʔϧͱ͔͸ͽͬͨΓͳͷͰ͸ʁ 13

Slide 14

Slide 14 text

Fukuoka.rs #1 ఆΊͨΰʔϧ w ·ͣಈ͘΋ͷΛ࡞Ζ͏ w ࣮૷ͷਖ਼͠͞ɺεϚʔτ͞͸ؾʹ͠ͳ͍ w ࣮૷͍ͯ͘͠தͰɺͭ͗ʹͭͳ͕Δ՝୊Λݟ͚ͭΔ w ΰʔϧΛ໌֬ʹ͢Δͱ΍Δ͜ͱ͕ఆ·ͬͯ΍Δؾ͕ग़Δ w Α͠ʂʂʂʂʂʂʂʂʂʂʂ 14

Slide 15

Slide 15 text

Fukuoka.rs #1 15

Slide 16

Slide 16 text

Fukuoka.rs #1 ࡞ͬͨ$-* w (FP*1ͷ஍ཧ৘ใΛ*1Ͱݕࡧͯ͠දࣔ͢Δ͘Μ IUUQTHJUIVCDPNMJOZPXTHMJQ w XFFLͰ΋ಈ͘΋ͷ͸Ͱ͖ͨʂ w ͦͯ͠ɺDSBUFTJPͰύοέʔδΛެ։Ͱ͖ͨʂ 16

Slide 17

Slide 17 text

Fukuoka.rs #1 ͭ·͍ͣͨͱ͜Ζ w ϑΝΠϧ෼ׂͨ͠ࡍͷNPEVMFͷ֓೦ w ϥΠϒϥϦͱ$-*ͷ྆ํΛఏڙ͢ΔύοέʔδͷσΟϨΫτϦߏ੒ w ΤϥʔνΣοΫڧ੍ͷͨΊͷΤϥʔॲཧ w VOXSBQ͹͔ͬΓʹͳͬͯɺԿͳͷ͜Εʁʁʁ w JGͷதͰNVUBCMFͳม਺ߋ৽ͰౖΒΕΔ 17

Slide 18

Slide 18 text

Fukuoka.rs #1 18

Slide 19

Slide 19 text

Fukuoka.rs #1 ݟ͖͑ͯͨ՝୊ w ςετॻ͍ͯͳ͍ͷʢDPWFSBHF΋ͱΔͧʣ w ͏·͘ॻ͚ͯͳ͍ͷʢHFOFSJDT΍USBJU࢖͑͹៉ྷʹͳΔ͸ͣʣ w ͦ΋ͦ΋ɺ΍ͬͯΔ͜ͱ͋ͬͯΔʁʁ w ഑෍ʹDBSHPJOTUBMM͡Όͳͯ͘$SPTT$PNQJMJOH͓͖͍ͯͨ͠΍Μ w ฒߦͯ͠ɺ଍Γͯͳ͍஌ࣝΛʮ5IF#PPLΛ໢ཏʯʮຊΛಡྃʯͰಘΔ 19

Slide 20

Slide 20 text

Fukuoka.rs #1 ։ൃυϦϒϯͷԿ͕ྑ͍͔ w ࣗ෼͝ͱʹͳΔͷͰ಴࠳͠ʹ͍͘໷ͳ΂ͯ͠΍ͬͯ·͏ w ͠ΐ͏΋ͳ͍͜ͱͰΑͭ͘·ͣ͘ϑϥετϨʔγϣϯཷ·Δ w ମܥతʹֶͿҙཉ͕༙͘ʂ w ΍ͬͨ݁Ռ͕࢒Δ΍͹͍΋ͷ͕ग़དྷͯஏ͔͍ͣ͠ w ΍͹͍ίʔυΛͪΌΜͱ͢Δҙཉ͕༙͘ʂ- 20

Slide 21

Slide 21 text

Fukuoka.rs #1 aͳΜ͔ͩΜͩ݁Ռతʹྑ͍ ☺ 21

Slide 22

Slide 22 text

Fukuoka.rs #1 ·ͱΊ ৽͘͠ݴޠΛֶͿͨΊʹҎԼͷखॱͰ͢͢Ί·ͨ͠ɻ w ·ͣ͸ֶͿཧ༝Λ୳͢ɺͳ͚Ε͹࡞Δ w ։ൃυϦϒϯͰखΛಈ͔͠ͳ͕ΒֶͿʢ໌֬ͳΰʔϧʣ w ڵຯ͕༙͍͖ͯͨΒମܥతʹֶͿ w ͦͯ͠·ͨ࡞Δʂ 22

Slide 23

Slide 23 text

Fukuoka.rs #1 'VLVPLBSTͷΈͳ͞Μ 3VTUڭ͍͍͍͍͑ͯͩ͘͞ ίʔυϨϏϡʔر๬ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 23

Slide 24

Slide 24 text

Fukuoka.rs #1 3FGFSFODFT w 5IF#PPLIUUQTEPDSVTUMBOHPSHCPPL w 3VTUIUUQTXXXSVTUMBOHPSH w 4IPVME*3VTU PS4IPVME*(PIUUQTDPEFCVSTUJPTIPVMEJSVTUPSTIPVMEJ HPBFFB w 3JQ(SFQIUUQTHJUIVCDPN#VSOU4VTIJSJQHSFQ w #BUIUUQTHJUIVCDPNTIBSLEQCBU w ϓϩάϥϛϯά3VTUIUUQTXXXPSFJMMZDPKQCPPLT 24