Scala単語

スカラ

4.0千文字の記事
  • twitter
  • facebook
  • はてな
  • LINE

もしかして? → スカラ

Scalaとは、プログラミング言語の一つである。

概要

Scalaとは、Java開発者の一人であるMartin Odersky氏が開発したオープンソースの静的型付けプログラミング言語である。Java仮想マシン上で動作するプログラムを生成できるいわゆるJVM言語である。かつては.Net Framework上でも動作したらしいが、その機はなくなった。

導入事例としては、TwitterインフラがScalaで書かれているというのが最も有名だが、ニコニコ動画システムにも一部Scalaで書かれている部分があるとのこと。

命名の由来

命名の由来は2つあり、一つはscalable languageに由来する。関数型プログラミングオブジェクト指向融合により、小さなプログラムの作成から、大規模開発にまで対応できるというコンセプトを表す。

もう一つの由来はイタリア語の階段を意味する単である。これは開発者Martin Odersky氏が所属していたスイス連邦工科大学 (EPFL)にある螺旋階段ちなんだものらしいexit。Scalaのロゴはこの螺旋階段モチーフになっている。

特徴

長所

短所

Scalaz

公式ではないがScalazというライブラリがある。モナドをはじめとする圏論由来のクラス関数などをScalaで使用可にするもので、多くはHaskellから移植されている。定義する記号演算子もHaskellと共通しているので、このライブラリとScalaの省略記法を使用するとかなりHaskellっぽいコードが書ける。

Java仮想マシン用にHaskellコードを書きたい場合のHaskell実装についてはHaskellの記事を参照のこと。

Dotty(Scala 3.x)

設計者のMartin Odersky氏が新規に作りなおしたScalaのコンパイラで、2015年10月23日にDotty自身のコードをDottyコンパイルするBootstrapに成功exit2021年5月14日リリースのScala 3.0以降でコンパイラに採用されている。

名前の由来はScalaの中核をなすシステムに関する理論であるDOT Calculusexit(DOTはDependent Object Typesの略で"."とは関係ない)だと思われる。余談だがDOT Calculusによるの健全性についてはCoqによる定理証明がなされているexit

Scala 2.x系のコンパイラscalacより高速に動作するとのことだが、2.x系の言仕様とは一部互換性がない。また、Pythonのようにブロックを中括弧でなくインデントで表現する記法が導入されるなど、コーディングスタイルにも変更が行われている。

Typesafe → Lightbend

Scalaの後援企業にMartin Odersky氏が2011年5月に設立したTypesafe社がある。同社は2015年5月に社名変更を発表し、2016年3月から社名がLightbendとなった。

関連動画

関連商品

もう少し具体的な特徴

どうしてもJavaとの較になってしまいがちにはなるが、言仕様上の長所と短所を(やや細かいが)もう少し具体的に記述してみる。総じていうと、毎日コードを書く人には便利な機が備わっている一方で、たまにしか使わない規則でも忘れてしまうとコードが読めなくなる、という感じ(個人の感想です)。

もう少し具体的な長所

もう少し具体的な短所

関連項目

関連リンク

関連生放送

ScalaMatsuri 2016exit: 期限未定タイムシフト放送中exit_nicolive

この記事を編集する

掲示板

おすすめトレンド

急上昇ワード改

最終更新:2024/03/02(土) 02:00

ほめられた記事

最終更新:2024/03/02(土) 02:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP