Scala

Scala (スカラ)を初めて聞いたのは、後輩の会社での発表資料を見たときです(恐らく2013年の末)。
残念ながらその回の発表は聞けて無いのですが、資料を見て『へぇー』って思った記憶があったぐらいでした。
今思うと彼は先見性があったように感じます。

これまでPascal、HTML、C、Java、JavaScriptと勉強してきて、VB6を知ったときは衝撃的でした。
GUIを画面で簡単に設計できる。
イベント処理も、画面をクリックしたら簡単にかける。
セミコロンが無い!!
そうです、初めの頃は行の終わりにセミコロンが無いと読みにくくて、すごく嫌な気分でした。
単にコーディング経験が少なくて、ちょっと天狗になってただけなんですが、VB6の文句ばっかり言ってた気がします。
おかげさまで、その後VB6、C#、VB.NETで沢山コーディングする事ができました。
プログラミングに抵抗感もなくなり、今年(2015年)はアセンブリ言語のNASM(しかも64bit)を学習できました。
次に学習する言語を探していた頃に、偶然Scala(スカラ)と出会いました。
後輩が発表していた事を思いだし、Webで色々情報を集めてみるとJavaの半分ぐらいのコード量になるとかとか。
半信半疑で勉強を始めると、確かに短いのだが、省略出来すぎて読めないと言った事も多々あります。
セミコロンも省略可能な事の一つですが、Scalaの勉強を始めた時には『セミコロンがあっても無くてもええんや』と感じた程度です。
今では、嫌々やってたVB6時代を懐かしく思い出します。

現在のシステム開発は、『コーディング量』が劇的に減ったように感じています。
言語ごとのフレームワークも充実していますし、そもそもツールの機能も向上していますから、ほぼコピペで済みます。
仕事で強制的にコーディング経験を得る機会はかなり少ないと思います。
(あったとしても海外に仕事は流出している?)

一方で、インターネットが流行り始めた頃に広まった言語(JavaやPHP等々)の遺産が大量にあります。
私も仕事でJava+SQLのシステム保守をしていますが、『あー、無駄に長いなぁ』と感じています(getter/setterとか!)。
今後は『メンテしやすい!(=コード量が少ない)』システムの需要が伸びてくると思います。
そういった事を考えるとScalaは利用機会が増えてくると感じています。

と言うことで、自分の技術力向上と見てくださった方の助けになればと思い、Scalaの情報を紹介していきたいと思います。