Scala が腹立たしい

Scalaを使って色々書こうとしています。が、使えば使うほど使いにくい言語だなあと思っているのでここに書きます。大きく二点あります。

Javaとの共存関係が不明

そもそも、JVMの上で動くからお互いのクラスが使いやすいよってのが半分売りだったんじゃないかと思うんですが、使ってみると全然そんなこと無いなあと。多くのクラスを、わざわざJavaと独立に実装していてインタフェースの互換性のかけらも無い。そのくせ、名前だけは同じだったりするので、本当に使っていて頭が痛いです。Listって言ったらjava.util.Listだと思うわけですが、scala.Listって何それと。JavaのBigIntegerの代わりにBigInt作ってみたり、もう何やりたいのかわかりません。そのくせ、StringだけはJavaと共通なんだとか聞くと、しっちゃかめっちゃかだと思います。

手続き型(C)系の悪い文法のみを引きずっている

普通、関数型言語ってのはa bと書いたら値bに対して関数aを適用するじゃないですか。Lispだと(a b)って書きますけど、まあそうですよね。それに対してCをはじめとする言語の多くは、a(b)ですよね。
手続き型の書きかたって、オブジェクト指向とかなら悪くはないんですけど、関数の適用結果が関数だったりすると破綻するんですよ。(((a b) c) d)はまだわかるけど、a(b)(c)(d)って何ですかこれ。結合順序もわからない感じに。

思ったこと

Scalaがこんなぐだぐだになってるのは、Javaって強敵がいたからかもしれませんけど、言語設計を最初からやったのが間違いだったんじゃないかと思います。全体的に見て、明らかにJavaと別言語なんであれば、マルチプラットフォームで動くということを含めてもわざわざScalaを使うメリットは少ないと感じています。Scalaを使いこなすのに必要な勉強時間は、Ocamlを勉強するのに必要な時間と大きく変わるとは思えません。
結局、僕がほしかったのは関数型が簡単に書けるJavaだったみたいです。Closure作るのにAbstract Classのnewとかやるのが嫌だったんです。Java 7が出たらきっと解決されるものだと思ってます。それまで愚痴を言いながらScalaを使うこともあるかもしれませんが、Scalaのうわさを聞いて感じた胸の高鳴りはもう戻ってきません。