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リテラルは、なんというからしいのー
- 関数呼び出しに()が省略できないのねー
- ;が省略できるだけいいかー
を返さない関数を変数にいれる際に'_'が必用なのはイーガーだからということで納得できるんだけど、何故引数個分必用にしなかったんだろう?
twitterでkmizuさんからいろいろ教えていただいたところを修正(17:00)
軽くだけど触ってみて、Javaの記述力に不満を持っているんだけどJVMから逃れられない人にはいい回答なんだろうなぁ。scalaがJava上で動かなかったら、僕は魅力を感じないなぁ。
たぶん、僕がscalaに魅力をかんじないのはJVMの必然性がないからなんだろうなぁ。正直、記述力や型推論という部分に関してはHaskellのほうが上だし。Androidに関しては、ClojourやJRubyという逃れ道がうまく動いてくれることに期待age
あと、scalaはActorがすごいとかいうのをちょこちょこ見ていて気になっていたので、軽く調べてみるとErlangのメッセージやりとりのことだという理解になった。あってるかしら。