Slide 1

Slide 1 text

Scala vs Ruby 2015-06-25 ୈ2ճSpeeeTechParty LT ੢Ԭ׮݉ @nisshieeorg

Slide 2

Slide 2 text

ࣗݾ঺հ • ੢Ԭ׮݉ʢʹ͓͔͠ ͻΖ͔ͣʣ • @nisshieeorg • ޷͖ͳݴޠɿScala • Scalaྺɿ4೥ • Ruby(Rails)ྺɿ1ϲ݄൒

Slide 3

Slide 3 text

ScalaͱRubyΛൺֱͯ͠ΈΔ RubyΛॻ͘͜ͱʹͳͬͨͷͰɾɾɾ

Slide 4

Slide 4 text

΋ͪΖΜؔ਺ܕͱOOPͷҧ͍ ͱ͔͸͋ΔΜ͚ͩͲɺ Ұ൪ҧͬͨͷ͸ɾɾɾ

Slide 5

Slide 5 text

҆৺ײͷ࡞Γํͷҧ͍ • Scala͸ʮίϯύΠϧ͕௨Ε͹͍͍ͩͨ߹ͬͯΔʯͱ ͍͏҆৺ײ ➡ ίϯύΠϧ͸ςετ ➡ ੩తܕ෇͚ؔ਺ܕݴޠͷύϫʔ • Ruby͸ςετͰ҆৺ײΛ࡞Δ ➡ ѹ౗తʹςετ͕ॻ͖΍͍͢ ➡ ಈతܕ෇͚+ΦʔϓϯΫϥεͷύϫʔ

Slide 6

Slide 6 text

def fizzbuzz(i: Int): String = (i % 3, i % 5) match { case (0, 0) => "FizzBuzz" case (0, _) => "Fizz" case (_, 0) => "Buzz" case _ => i.toString } // ίϯύΠϧOK ! def fizzbuzz(i: Int): String = (i % 3, i % 5) match { case (0, _) => "Fizz" case (_, 0) => "Buzz" case (0, 0) => "FizzBuzz" case _ => i.toString } [error] /src/main/scala/App.scala:5: unreachable code [error] case (0, 0) => "FizzBuzz" ScalaͷίϯύΠϧ࣌νΣοΫೳྗʢҰྫʣ ※ "-Xfatal-warnings"ίϯύΠϥΦϓγϣϯ࢖༻

Slide 7

Slide 7 text

ScalaͱRubyͬͯ݁ߏࣅͯΔ ʢҙ֎ʂʣ

Slide 8

Slide 8 text

OSSίϛϡχςΟ͕׆ൃ • ͳͷͰɺόʔδϣϯ໰୊͕ى͖Δ͆ • ґଘͷґଘͷόʔδϣϯࠩͰࢮ͵

Slide 9

Slide 9 text

ΞυϗοΫͳػೳ௥Ճ • Ұੲલ͸ΦʔϓϯΫϥε(Ruby)ͷಛݖͩͬͨ • Scala΋Ͱ͖ΔΑʂ → ܕΫϥε (+ ϚΫϩ) • ϥΠϒϥϦͷػೳ͕ίʔυʹγʔϜϨεʹ༥ ߹͢Δ • ϦϑΝϨϯε͕ݟ೉͍͆

Slide 10

Slide 10 text

Ͳͬͪ΋ָ͍͠(*°∀°)=3

Slide 11

Slide 11 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠