Scalaを試してみた
この間勉強会に参加した際にJava嫌いだけどGAE使いたい、でもJRubyは後もう少しとか言っていたら、じゃあScalaだと言われたので試してみることにした。
実際面白ければめっけもんだし、GAE上に簡単に上げれるのであれば全然いいですよね。
とりあえず、インストールしてみて、環境を比べてみることにしました。
というわけで、Scalaのダウンロードページからwindows版をdownloadします。
とりあえず、展開して適当なフォルダに移してPathを通してと一通りのいつもインストールの操作をします。(マイコンピュータのプロパティ開いて環境変数をゴニョゴニョ)
でコンソールでscalaと打ってみてscalaが起動したらインストールはおしまい。・・・なのですが、とりあえずhello,Worldを表示させたくなるのがさがというもの。というわけでScalaのチュートリアルにあるhellow,Worldをコピペして、hello.scalaとかファイルを作って実行してみた。
hello.scala
object HelloWorld { def main(args: Array[String]) { println("Hello, world!") } }
コードを見ていると確かに文法はRubyに似ている。しかも型宣言が引数に適用されているから、一ヶ月後とかに触ったときにおかしい引数を与えたりとかした場合もコンパイルで弾ける。それにあまり好きに慣れなかったブロックの"begin","end"は"{","}"になってる。
ひょっとしてこれは僕の望んでいた言語なのではとか一瞬思ったりしなかったりしたけどとりあえず、とりあえずこんな短いコード見てハァハァしていてもしょうがないので、
scala hello.scala
を実行するしてクラスを作る。
ここで失敗したと思うのはobjectの宣言がHelloWorldなんだからファイル名をHelloWorldにしておけばよかったと言うことですね。
スクリプト言語を利用するようになってファイル管理が少し雑になってきたのかなぁ(とりあえず責任転嫁してみる)?
classファイルとファイル名の整合性は今度からはなるべくとるようにしようっと!
さて生成されたクラスをScalaはJVMで動くんだからと言うわけでjavaで実行してみようとしたらscalaのオブジェクトが足りないよ〜と言われてしまいました。
仕方が無いので
scala HelloWorld
と実行したところ、ちゃんと
Hello, world!
と表示されました。多分javaから実行するためにはコンパイルオプションが必要なんでしょうね。
まぁなんにせよ暇を見つけてScalaで遊んで見たいと思います。
紹介してくれたお姉さんには感謝したいと思います。
関数型言語ということで食わず嫌いを起こしかけていましたが、これは好きになりそうです。
とは行ってもエディタの支援を受けずにコーディングするのはきついので次はeclipseとnetbeansのプラグインをインストールしてみたいと思います。