Karrta基盤検討#1 - Scala

 Karrtaの作業を昨年末から先月まで少しずつ行ってきましたが、あまり成果がありません。
 どうしてもTugboat.GTDの今回のバージョン - 0.9.3に注力していたこともあり、片手間でした。(Tugboat.GTDも仕事でやっているわけではないので、片手間といえばそうですが、気持ちの有り様ですね。)

 Tugboat.GTDは、先が見えてきたこともあり、Karrta(カルタ - フィンランド語:地図)の開発を先日より再開しました。仕様はこの半年で随分と練ってきたので、これからは実装面の仕様を考え始めなければなりません。そこでまずは、開発言語です。

 Javaで良いじゃん、という方々が多数ですが、少数精鋭で開発するのにもっと良い言語があるんじゃないか、と前々から感じているからです。具体的にどういう開発言語が欲しいかと言えば、次のとおりです。

  • オブジェクト指向と関数型の両方を良いバランスで兼ね備えた言語
  • 一緒に作業をするメンバー、テストのことを考慮すると、静的型付が好ましい
  • JVM上で動く言語であればなおよろしい

 そんな無理難題な僕のニーズを持ち合わせているのが、(僕の知る限りでは)Scalaです。これからサンプルを作ってみてこの言語でいくのかいかないのかを冷静に見極めたいと思ってます。

 しかし、最大の悩みはクライアントです。ここも冷静に見極める必要がありそうです。現時点では、Tugboat.GTD on AIRを作った感じだと、FLEX, AIRには行かないと思います。それを後押ししているのは、IEを除くブラウザの処理速度の目覚ましい向上です。