scalaさわってみた

Androidの開発が出来ると聞いたので、いい加減喰わず嫌いをやめようかと思い、少しだけさわってみた。"少しだけ"という表現でおわかりかと思うが、僕にはあわないようだ。

ScalaによるWebアプリケーションフレームワーク「Lift」とは(1/5):CodeZine刺激を求める技術者に捧げるScala講座---目次 - 刺激を求める技術者に捧げるScala講座:ITproを見ながら、インタプリタで遊んでみた。以下、感想

  • print()で改行されるとか、改行したくないときどうするんだろう?
  • def name(arglist) = exp という、関数定義はどうなん?defで=って。
    • 個人的には、var と無名関数使った定義方法のほうがしっくりくるな。
    • というか、letって無いのか
  • 型推論が魅力とか言う割には、引数リストには型宣言しなあかんのね
  • Listリテラルないのー?List(a,b,c)とかもう
    • リスト同士の連結は":::"だと。。。
  • Listに違うものを混在させておけるんだ。へー。
  • for"文"のyieldは気持ちわるいなー
  • XMLリテラルは、なんというからしいのー
  • 関数呼び出しに()が省略できないのねー
    • ;が省略できるだけいいかー
  • を返さない関数を変数にいれる際に'_'が必用なのはイーガーだからということで納得できるんだけど、何故引数個分必用にしなかったんだろう?

twitterkmizuさんからいろいろ教えていただいたところを修正(17:00)


軽くだけど触ってみて、Javaの記述力に不満を持っているんだけどJVMから逃れられない人にはいい回答なんだろうなぁ。scalaJava上で動かなかったら、僕は魅力を感じないなぁ。

たぶん、僕がscalaに魅力をかんじないのはJVMの必然性がないからなんだろうなぁ。正直、記述力や型推論という部分に関してはHaskellのほうが上だし。Androidに関しては、ClojourやJRubyという逃れ道がうまく動いてくれることに期待age

あと、scalaはActorがすごいとかいうのをちょこちょこ見ていて気になっていたので、軽く調べてみるとErlangのメッセージやりとりのことだという理解になった。あってるかしら。