2016-07-07

Monkey-C とかいうプログラミング言語

Garmin の GPS ウォッチのうち上位モデルは、Connect IQ というアプリをインストールするしくみがある。その実行環境を指すのか、アプリ群を指すのかいまいち分からないんだけど、とにかくそういうことができる。

アプリの開発には Monkey C なる言語を使う。なんだよ、それ。ざっとググッても、そんな処理系は見つからない。

using Toybox.Application as App;

class MyProjectApp extends App.AppBase {
    var mymember = 1.0;

    function onStart() {
       mymember = 20.3;
    }

    ....
}

Java に、型推論するための構文糖衣をかぶせたように見える。もしかしたら C# に近いのか。duck type するとか書いてある。

こんな市場の小さな実行環境のために、わざわざ作るのか?

もしかしたら、このデバイスのストップウォッチや、GPS の記録や、加速度センサーを使ったランニング計測なんかの、もともと入っている機能もこの言語で書かれているのかも知れない。だとしたら、ちょっとした処理系あるいはプリプロセッサーがあってもよさそうではある。

いまのところ、ちょっと動作の仕方を見ているだけなので、大して複雑なことを書くことはない。どっちかというと、フレームワークやデバイスのAPIで何ができるかのほうが、ややこしい。しばらくは getter と setter くらいでやっていけるだろう。