タグ

ブックマーク / kmizu.hatenablog.com (4)

  • Scalaの学習コストについての私見 - kmizuの日記

    2022/01/25 17:10追記 以下のツイートが別に「Scalaが主眼でない」こと自体は承知しています。一般論として、Scalaに限らず言える技術選定の話ですよね。ただ、妙な方向への読解をちょくちょく見かけたので、それに乗っかる形で現状のScalaについて率直な感想を書いておこうと思ったのでした。「この話とは別なんだけど」みたいな言葉をつけておけば良かったです。申し訳ありません。 数日前、以下のツイートに端を発して色々な意見が交わされていました。 「Scala好きなメンバーがプロダクト開発にScalaを採用して1人で開発していたが、そのメンバーが抜けてしまいScalaコードの保守ができなくて別の言語で書き直すことになった」という技術選定の失敗のお手のような事例を目の当たりにしてしまった....— コミさん (@komi_edtr_1230) 2022年1月19日 これを見て「いや

    Scalaの学習コストについての私見 - kmizuの日記
  • Scala 2.9.0のscala.sys.processパッケージが便利過ぎる件について - kmizuの日記

    先日、Scala 2.9.0 RC4がリリースされ、正式リリース(final)までもうあと少しといった感じになって来ましたが、皆様、いかがお過ごしでしょうか。訓練されたScala使いはRCには手を出さないとも言われますが、私は新し物好きなので、RCにも手を出してしまいます。 それはともかくとして、Scala 2.9.0の最大の目玉は何でしょうか?世間的(どこの世間だというツッコミはおいといて)には並列コレクションではないでしょうか。Scalaの公式サイトでも新機能の紹介で真っ先に挙げられていますし、少なくとも一番注目されているのは並列コレクションでしょう。 並列コレクションは、公式サイトも含め、英語圏のブログなどあちこちで既に紹介されているので、このエントリではあえて、その陰に隠れてあまり注目されないが、なかなか便利なscala.sys.processパッケージについて紹介します。 sca

    Scala 2.9.0のscala.sys.processパッケージが便利過ぎる件について - kmizuの日記
  • 「ここがヘンだよScala言語」についてのまとめ - kmizuの日記

    ここがヘンだよScala言語の記事に突っ込みどころが多かったので、色々書いたのですが、ちょっとコメントの書き方が挑発的過ぎたので、こちらのエントリでまとめなおします。 if式の返り値 val v1 = if (1 < 2) {"a"} println(v1) val v2 = if (1 < 2) {"a"} else {"b"} println(v2) v1はUnit、v2は"a"。else節が無い場合、「最後に評価された式を、返り値とする」というルールから外れる。 2.8.1、2.9.0等、現行の版では、v1、v2ともに"a"が返る。ルール通りの動きで問題はない。 取り消し線と訂正がありますが、それについては題とは関係無いので省きます。重要なのは、Scalaには「最後に評価された式を、返り値とする」というルールは最初から存在しないのに対して、そのようなルールが存在すると勘違いされてい

    「ここがヘンだよScala言語」についてのまとめ - kmizuの日記
  • Scala変態技法最速マスター - kmizuの日記

    Java変態文法最速マスターなんてのがかなりブクマされてるみたいだが、変態さならJavaなんてScalaの足元にも及ばないぜ!!ということで、Scala版を書いてみました。しかし、実はあまり変態ではないかもしれません。元ネタと違って、これを読めば何かがわかる、という意味の実用性はあまり無いでしょう。 implicit conversion編 基 Scalaのimplicit conversionは使いようによってはScalaの強力な型システムを台無しにしてしまう力を持っています。たとえば、 implicit def string2int(x: String): Int = Integer.parseInt(x) というimplicit conversionを定義してやると、"300" / 3が100になるなどというキモい挙動を実現することができます。また、さらにカスタマイズして、16進数

    Scala変態技法最速マスター - kmizuの日記
  • 1