なんか型クラスとか言うと型の怖いひとたちが怖い話をワイワイしてるイメージがありますよね。わたしはあります。「で、それって何がうれしいのよ」とか、そういう話はあまりされていないような印象がありますね(あくまで印象です)。その上 "Scala の implicit parameter は型クラスの一種" とか言われると「暗黙的な引数がなんで型クラスの一種なんや!!!意味がわからん!!!!」となります。わたしはなりました。 というわけでそのへんについて勉強したので書きます。 そもそも型クラスってなんや Haskellとかにあるやつですね。アドホック多相を実現するもの、らしいです。すごい、いきなり意味がわからない。 というわけで、まずは「アドホック多相ってなんなの」という話からして行きます。 さて、まずは「多相」から行きましょう。この文脈で言う多相とは、簡単に言えば「引数にいろんな型を取れる」とい
Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) [translated by Yuta Okamoto (@okapies) and Satoshi Kobayashi (@scova0731)] Table of Contents 序章 書式: ホワイトスペース, 命名, インポート, 中カッコ, パターンマッチ, コメント 型とジェネリクス: 戻り型アノテーション, 変位, 型エイリアス, 暗黙 コレクション: 階層, 使う, スタイル, 性能, Java コレクション 並行性: Future, コレクション 制御構造: 再帰, Return, forループと内包, require と assert 関数型プログラミング: 代数的データ型としてのケースクラス, Option, パターンマ
内容が古くなったのでこちら blog1.mammb.com に新しく出た本を追加して更新します。。 昔は本家のHPにあるPDFぐらいしか情報源がありませんでしたが、ここ最近で邦書も整ってきたので、読み進め方について考えてみました。 個人的なお勧め順で紹介。 必須のコップ本「Scala スケーラブルプログラミング」 言語の作者である Martin Odersky 氏が著者の1人ということもあり、言語についての説明の詳細さ という点では、ここで紹介する書籍中で群を抜いています。邦訳も非常に読みやすくまとめられており、Scalaでプログラミングを行うなら必須です。一番良く参照する本ですね。 ただ、Scala が初めてという場合は、ページ数が 600 ページで内容も盛りだくさんなので、中盤ぐらいから消化不良を起こすかもしれません。Java の経験が豊富で、関数型言語の知識がありパターンマッチやコン
RubyからScalaに乗り換えた 15 くらいの理由 という記事がすごいブックマーク数だったので、「Scala というのは Ruby を改善したすごい言語なのかな?」と思って超期待して読んですけどもいきなり「メソッドの引数に型指定ができる Scala はエラい」とか言い出しててガッカリしました。。。そもそも Scala は静的型付けで関数型、Ruby は動的型付けで手続き型とパラダイムがまるっきり違い、その守備範囲も異なります。プログラムを書きたいけどあらかじめ問題の定義がよくわかんないとか (人工知能など)、プロトタイプを早く仕上げることがビジネスてきに価値がある場合には当然 Lisp や Ruby などの動的型付けの言語を使うだろうし、大規模プロジェクトでメンバーがいっぱい、スキルもばらばらというケースで形式的なミスをなくしたい場合には Java や Scala など静的型付けの言語
● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのが鬱になる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く