scalaを学習します
元々Javaを使ってきた訳ですが、このたびscalaを使い始めることにしました。理由は下記のような点です。
冗談はさておき、ということで早速下記の本を購入しました。
- 作者: Martin Odersky,Lex Spoon,Bill Venners,羽生田栄一,水島宏太,長尾高弘
- 出版社/メーカー: インプレスジャパン
- 発売日: 2011/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 235回
- この商品を含むブログ (45件) を見る
今2章を読み進めているところです。1章ではscalaの特徴を言及しています。オブジェクト指向と関数型を取り入れている点や型推論、静的型付け言語のメリットなど。一番気になるところはやはり、コードが簡潔という点ですかね。
java
class MyClass { private int index ; private String name; public MyClass(int index, String name) { this.index = index; this.name = name;
scala
class MyClass(index: Int, name: String)
※p40より引用
これだけ見てもコード量が全然違いますね。タイピングが早くないのでありがたいです。また、見やすいというのも大きいです。Javaとの比較にと下記の本も合わせて読みながら学習していこうと思います。
プログラミング言語Java (The Java Series)
EFFECTIVE JAVA 第2版 (The Java Series)
※トレイトとミックスインがいまいちピンと来ていません。インターフェースだと継承先で仮に共通する部分があってもそれぞれでメソッドを実装しなければいけない。トレイトだと共通部分を実装できるのでインターフェースに比べて保守性があがるのかな。トレイトという形で複数の共通部分を導入することをミックスインというのだろうか。Rubyとかやってるとわかりやすいっていう記事を見た気がしますがどうなんだろ。