Statistical Programming

Scalaとは…?

こんにちは、今日はScalaの特徴についてまとめていきます。そもそもScalaはScalable Languageの略で、規模の違いによる影響を最小限に抑えよう!として開発された言語のようです。以下、主な特徴を列挙してみました。

• 純粋オブジェクト指向=プリミティブ型が存在せずすべてがオブジェクト

• 関数型プログラミング

• JVM上で動く=scalaファイルをコンパイルしたら.class(javaファイルコンパイル後と同じ物ができる)

• Javaとの親和性が高い

• コンパイル言語レベルの実行速度を持ちながらスクリプト言語レベルの生産性

• 並行処理が容易

• Javaと比べて記述が少なくて済む

• XMLの記述をコードの中に埋め込める

• コレクションの使用が容易

• 静的型付け

とのこと。どうやらJava経験者にとってScalaはなかなか相性が良さそうですね。そもそもScala=Better Java的な要素がありますしね。ただ、関数型の経験がないと関数の部分で苦戦したりするのかもしれないですね。でもなんでわざわざScalaって考えるひとっているかもしれません。ちょっと便利くらいならJavaでいいじゃないか!!って。まあScalaを始める理由は人それぞれかと思いますが、僕の場合、Javaがめんどかったってのが大きいですね。やたらと記述がめんどいしXMLとかめんどすぎて死ねる!あとやたらといろんな技術があってごちゃごちゃしてるなーって最初の頃感じたのも大きいですね。効率悪!!ってびっくりしたもん。早く一人前にのScalaerになりたいものです…