Scala言語について紹介したいと思います。
先日、ScalaMatsuri
というイベントが開催されました。
個人的には、Akka Streams vs Spark Structured Streaming
Scalaとは、
https://docs.scala-lang.org/ja/tour/tour-of-scala.html
の前書きに書かれているように、
Scalaは一般的なプログラミング方法を簡潔かつエレガントかつ型安全な方法で表現するために設計されたモダンなマルチパラダイム言語です。 それはオブジェクト指向言語と関数型言語の機能をスムーズに統合しています。
と述べられているように、とても魅力的なプログラミング言語です。
静的型付言語であり、オブジェクト指向言語として型安全で多重継承、ミックスインなど表現性豊かなアーキテクチャをコードにすることが可能です。
関数型言語により簡潔なコードで、変更不可な変数を扱い、並列処理速度を上げ不具合を低減することができます。副作用を抑えたモナドによるコードを記述できる、表現力に富んでいます。
ドメイン駆動設計思想を実現するためのコードを書けます。
これらの特徴からコーディングすることがとても楽しくなる言語です。
またScalaは非同期処理に強く、Play FrameworkやAkkaなどの強力なフレームワークがあります。
あまり使われていないかもしれませんが、フロントエンドもScalaで書けたりします。
ただ最近は日本で一時の人気からトーンダウンしてしまいました。一つの理由に学習コストが高いといったことがあると思います。
そこは残念ではありますが、とてもハイスペックなプログラミング言語で、エンジニアが書いてて楽しくなること、自然とコーディング力が上がり、機会がありましたら触れてみることをオススメしたいです。