Scala入門以前 2015/04版

Scala入門したいけどどこから手を付けていいか分からない人向けの「まず何に手をつけるべきか」集みたいなもの。

ScalaでWebframeworkいじりたい

Scalaだと特に理由が無い限りPlayframeworkを使う人が多いので、いきなりそこから手を出せば良いのでは。不安なら次の項へどうぞ。

Scalaの言語まわり知りたい

コップ本を一通り読むのがお進め。半分ぐらいでもいいかも。これより軽い入門書が欲しいよね、という話はちょいちょい話題に上るけど現状ない気がする(あったらおしえてください

開発環境の構築したい

sbt(Scala界で極めて一般的なビルドツールだ)だけ設定すれば8割終わる、とか良く言われている気がする。UNIX系環境ならsbt-extrasをインスコすれば大体いけるのでは。scalaのREPL(対話型で実行して試せる環境)はそれ専用のディレクトリ作って中にproject/build.propertiesファイル作ってsbt.version=0.13.8とか書けば良い。うん、まぁちょっと面倒くさい。ぼくの感覚ではRubyよかマシ…うわーなにをするやめろー!

補足すると、sbtはビルドツールではあるが、そのプロジェクトで依存するライブラリを全て読み込んだREPL環境を立ち上げる機能があり、ぶっちゃけ最初のうちはscalaコマンド無くてもそれでいける。scala無しでそれが立ち上がる理由は、sbtがScalaをダウンロードしてくるからである。しかもプロジェクトのScalaVersionに合った奴が落ちてくる。わおー。

だから、空プロジェクト作ってsbt consoleとかやればscalaのREPL環境が立ち上がるという訳。

Scalaやる以上sbtは(嫌でも)かなりお世話になる筈なので最初からsbtというのは割と良い選択肢だと思う。

エディターは?

Vimで書いてる人もEmacsで書いてる人もいるけど、主流はIntelliJ IDEAではないか。Eclipse派も少数いる。Emacsでとりあえずsyntax highlightできればいいならscala-mode2で良いのでは。IntelliJEclipseの場合はPlugin必要。IntelliJの方がsbt読める分進んでるかも。Vim?知らん。ちなみにIntelliJ IDEAはタダなCommunity Editionで最初は十分だと思う(別にお金出してもいいと思う。特にWebframework使いたいなら