The chronology of the universe describes the history and future of the universe according to Big Bang cosmology. The earliest stages of the universe's existence are estimated as taking place 13.8 billion years ago, with an uncertainty of around 21 million years at the 68% confidence level.
宇宙は、138億年前には存在したんじゃないかという...はい、どうもボクです。
まったく意味のない画像を載せましたけど、今回は、400記事目ということで、Scala の話で。
Scalaって?
ドラクエに出てくる魔法『スカラ』とは何の関係もない、あっ!でも読み方は一緒か。
ということで、Wikipediaさんに聞いてみた。
Scala(スカラ、SKAH-lah)はオブジェクト指向言語と関数型言語の特徴を統合したマルチパラダイムのプログラミング言語である。名前の「Scala」は英語の「scalable language」に由来するものである。
とあり、
ScalaはJavaプラットフォーム(Java仮想マシン)上で動作し、既存のJavaのプログラムと容易に連携させることができる。また、過去には下記のプラットフォームもサポートしていたが、現在は開発が中断している。
ということで、Java の開発環境(JDK:Java Development Kit)があれば、Scala はすぐに始めれるらしいと。
その他の情報については、
⇧ 上記サイト様が詳しいです。
Scala を使うための環境構築には、何が必要か
基本的には、
- JDK(Java Development Kit)
- sbt
が最低限必要らしい。
『sbt』は、Scala におけるビルドツールらしい。
んで、
sbtは2008年12月18日に初めて、オリジナルの作者Mark Harrahによって公式に発表された。当初は"Simple Build Tool"の略であるとされていたが、現在は単に"sbt"であって略称とは考えられていない。
プロジェクトファイルを自動的に生成するプラグインがEclipseやIntelliJ IDEA IDE向けに提供されている。一方、IntelliJ IDEA pluginはsbtコンソールをIDEAに統合してくれ、sbtをビルドに使用するかどうかを選択することができる。
⇧ プラグインを導入 する必要があると。
なので、実際のScalaを使った開発では、
- JDK(Java Development Kit)
- sbt
- IDE(統合開発環境)
が、最低限必要な気がする、たぶん。
Visual Studio Code のようなテキストエディターでも環境を作ろうと思えば作れるらしいんだけど、難易度が高そうなので、始めはIDEを使っていったほうが良いようです。
Scalaを使った開発のための環境構築
というわけで、開発環境を構築してみる。
まずは、JDKだけども、既にインストールしてるので割愛(Java SE 8 だから、そろそろバージョンを、Java 9 以上にしていかないといかんのだけれども...Open JDK への移行を考えねばですね)
⇧ とりあえず、Java のバージョンが表示されてれば、JDK は導入されたことになるらしい。
ちなみに、Java系のパッケージ管理ツールは、
⇧ SDKMAN ってものが良いらしい。これの存在を失念していたので、「JDK」も「sbt」も chocolatey でインストールしてしまったではないか...
続きまして、「sbt」のインストールで。
https://www.scala-sbt.org/download.html にアクセスして、インストーラーをダウンロードするのも良いんだけど、
Windowsのパッケージ管理ツールの chocolatey でインストールできるらしい。(SDKMANってのでインストールしたほうが良いようです。)
⇧ dwango 様の研修テキストを参考にさせていただきました。っていうか、研修の至れり尽くせり感が半端ない!羨まし過ぎる!
今回は、Chocolatey でインストールしていきます。(SDKMAN ってのでインストールしたほうが良いようです。)
⇧ 2019年8月4日(日)時点では、sbt 1.2.8 が最新らしい。コマンドプロンプトを管理者権限で起動し、インストール。
で、インストールが完了したらしいので、シェルを開き直すか、「refleshenv」というコマンドを実行すれば、環境変数が設定されるらしい。
インストール場所は、「C:¥Program Files (x86)¥sbt」になるらしい。
で、なんと!?
sbt は、バージョン確認するには、プロジェクトを作成しないといけないらしい...いや、他にやり方があるのかもしれないけど、分からんです...。
とりあえず、プロジェクト用のディレクトリを作成しないと、バージョン確認ができないけど、sbt コマンドは動くみたいなんで、インストールできたんでしょう。
で、Scala のインストールは不要らしいです。
このへんが、ネットで情報が錯綜してるんですよね...Scala をインストールしますって言う人もいるし...どっちよ?って感じで。
Python もそうだけど、環境構築の部分は正確な情報が欲しい...
⇧ 上記サイト様でも、sbt で、Scala がインストールされるような感じで進めていますかね。
ということで、最後に、IDE(統合開発環境)をインストールで。今回は、IntelliJ IDEAのCommunity Edition 版を利用したいと思います。
なぜなら無料で使えるから。しかし、制限が多い(涙)。でも、Eclipse はScala 環境が安定しないらしいし...消去法的に、IntelliJ IDEA を使わざるを得ないかな...。
⇧ 詳細は、Wikipediaさんで。無料版は、JVM言語のみのサポートのみと言っても過言ではないぐらい縛りが強いです(涙)。
Windows環境であれば、chocolatey でインストールできるらしい。
んでは、インストールで。
choco install intellijidea-community
インストールできたようです。
⇧ 上記サイト様によりますと、シェルを開き直せば、「refleshenv」コマンドを実行しなくても、環境変数へは反映されるらしい。
chocolatey でインストールした場合は、「C:¥Program Files (x86)¥JetBrains¥IntelliJ IDEA Community Edition 2019.2¥bin¥idea64.exe」が、64bit版でIntelij IDEA を実行するための実行ファイルらしい。
とりあえず、起動してみる。初回起動時は、規約の同意とかを求められるみたい。「I confirm that I have read and accept the trems of this User Agreement」にチェックし、「Continue」をクリックで。
まぁ、個人利用だったら、「Send Usage Statistic」とかでも問題ないかと。
起動しました~!
というわけで、
⇧ 上記サイト様を参考に、設定などなど。
その名もズバリ、「Configure」>「Settings」で。
んで、「Preferences」>「Editor」>「General」>「Appearance」で、「Show method seprators」にチェックで、「Apply」で。
「Preferences」>「Editor」>「General」>「Code Completion」で、「All letters」にチェックし、「Apply」で。
続いて、IntelliJ IDEA でScalaを使うためのプラグインを導入します。
「Preferences」>「Plugins」で、『Scala』をインストールで。
インストールが完了すると、「Restart IDE」と表示されているので、「Restart IDE」をクリックで。
再起動時にファイヤーウォールが表示された場合は、「アクセスを許可する(A)」で。
再起動できたら、Scalaプロジェクトを新規作成で。「Create New Project」で。
「Scala」>「sbt」で。「Next」をクリック。
「Name:」に適当なプロジェクト名を入力し、「JDK:」で、「New...」をクリック。
ここは、ご自分のインストールしているJDKに合わせてください。「OK」で。
「sbt:」の「Sources」ってとこのチェックが付いてなかったので、一応チェックを入れてみました。「Finish」で。
Scalaプロジェクトが作成されました。
んで、Scala Class を追加しようとしたらそもそも、選択肢に表示されない...
どうやら、
⇧ 上記サイト様によりますと、手順が必要らしい。
プロジェクトのディレクトリを選択した状態で右クリックし、「Add Framework Support...」を選択。
Scalaにチェックし、「Create...」をクリック。
「OK」で。
「OK」で。
んで、「src」フォルダ上で右クリックして、「Mark Directory as」>「Sources Root」しろってあるんだけど、それをしていない状態でも、「Scala Class」 が追加できる状態になったんだけど...とりあえず、「Sources Root」の変更はせずに、「Scala Class」を追加してみる。
「Object」にしとかないとマズいらしい。適当に名前を入力し、Enterで。
そしたらば、ソースを編集で。
object HelloWorld { def main(args:Array[String]): Unit ={ println("Hello World"); } }
実行してみます。作成したscalaファイルを選択した状態で右クリックし、「Run 'Hello World'」で。
⇧ Hello World が表示されました。
ちなみに、SDKMAN でJDKをインストールした場合は、
⇧ ちょっとひと手間必要のようです。
というわけで、何とかScala が動く環境の準備ができたということで。Scalaの学習を進めていけますかね。今日も1日が終わってしまった(涙)。
今回はこのへんで。