Scala単語

57件
スカラ
4.0千文字の記事
  • 0
  • 0pt
掲示板へ

もしかして? → スカラ

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

【スポンサーリンク】

  • 0
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

AxisPowersヘタリア (単) 記事と一緒に動画もおすすめ!
提供: フィル
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

Scala

1 ななしのよっしん
2014/09/05(金) 22:13:46 ID: Up1tWMsdqi
ドワンゴscalaを導入中みたいよ
👍
高評価
0
👎
低評価
0
2 ななしのよっしん
2016/01/30(土) 12:49:17 ID: zPhW8tMB3y
>>lv249050979exit_nicolive

👍
高評価
0
👎
低評価
0
3 ななしのよっしん
2017/08/26(土) 01:09:30 ID: g5wttDjW85
Kotlinの-include-runtimeみたいな直接JARファイルを生成するオプション欲しい。
というかAltJavaには必須のオプションにすべきだ。
👍
高評価
0
👎
低評価
0
4 ななしのよっしん
2017/12/30(土) 16:03:26 ID: PKFPAWoWec
Javaの痒い所に気が付き始めたら次はこれ、と勧めたいところだが
その位置にはkotlinがいるしなあ
仕様もググりにくいし、若干オタキーな印がついてしまった
👍
高評価
0
👎
低評価
0
5 ななしのよっしん
2020/09/08(火) 04:10:57 ID: zzG1Jsq4D/
日本よりも海外での方が人気NetflixTwitterSpotifyLinkedIn)
大規模システムが使い所だから当たり前か
日本だと広告業界が好きな印
👍
高評価
0
👎
低評価
0
6 ななしのよっしん
2020/09/08(火) 04:12:56 ID: zzG1Jsq4D/
>>3
すっごい亀レスでもう見てないと思うが
sbt assemblyが標準みたいな立ち位置だからそれ使えば良いと思う
👍
高評価
0
👎
低評価
0
7 ななしのよっしん
2021/01/23(土) 19:07:19 ID: Hync37YQNb
Ruby->Go->Scalaという習得順序がエンジニアの爆速の成長に最適である理由
https://qiita.com/poly_soft/items/1feaa1ec5ecab08dc6dbexit
スタートアップである弊社が全員ほぼ未経験でRuby on RailsScalaに移行した理由、その効果と苦労点
https://qiita.com/sonken625/items/d5d0f3b8d794e06489bdexit
Scala で書いたマイクロサービスを Go で書き直した話
https://tech.jxpress.net/entry/2019/12/02/071352exit
Goは本当に1980年代の言みたいなのか。
https://qiita.com/amaike/items/8105ed6ff69a61896e64exit
それぞれ設計思想が違って面
入門するならRuby、運用するならGo、雇用するならScala、かな?
安置ながらドラクエ職業に例えてみた
Ruby戦士(装備がすごい)
(省略しています。全て読むにはこのリンクをクリック!)
👍
高評価
0
👎
低評価
0
8 ななしのよっしん
2022/11/22(火) 17:41:43 ID: /7XOIixOOz
scalazはやや古びていてcatsを使う人が増えてるよ 内容はだいたい一緒
👍
高評価
0
👎
低評価
0