Javaは何に向いていて、何に向いていないのか

久々にタイトルにあるJavaネタで。
Javaは「仕方が無いから使っている」自分なので、Javaの使い道に違和感を感じることが結構多い。
たとえば、Javaで作ったWiki(Mrkrgnao)とか。なんじゃそりゃというのが本音。
あと、CMSもどうかと思う。と思って探したら「CMSはJavaよりPHPで」なんてblog記事があったり、やっぱりなと。
携帯のBREWも違和感があったり。これはJava最強とか思ってみたり。

思考を整理すると、自分の考えはこんな感じらしい。

  • 速度や高負荷耐性が要求される部分にJavaは不向き
  • 手軽さが必要な部分にはJavaは不向き
  • 異なるCPUやOSで同じ動作を要求される部分にはJavaは向いている

システムの設計者は、「僕は××言語しか知らないから××言語でやる」なんて愚かな決定をしてはイカン。開発の現場に耳を傾け、学び、多少の回り道をしてでも最適な言語を探し出さないと。
はじめに道具ありきで、それで作れるものを作るのではなく、作りたいものにあわせた道具を選ぶのだ。
他の業界ではあまりにも当たり前の事なのだが、ことソフトウェア業界では当たり前ではない気がする。
必要ならば専用言語を作ってしまってもいいではないか。

この件はもうちょっと時間を取って掘り下げてみたい。