こんにちは、なりなり@narinarissuです(^ ^)
初めてのGARMIN Connect IQプログラミング第3回です。
前回でプログラミング環境は整ったので、使用するプログラミング言語「Monkey C」について、簡単に勉強します。
といっても、参考になるのは
http://developer.garmin.com/connect-iq/programmers-guide/monkey-c/http://developer.garmin.com/connect-iq/programmers-guide/monkey-c/
こちらのプログラマーズガイドの「Hellow Monkey C!」のみです。
Monkey Cは何の派生?
なぜ猿なのかは不明ですけど、そりゃ、Monkey Cってくらいだから、Connect IQで使いやすいように、Cを手を加えただけなんだろうと思うのですが、
As Italian and Spanish derive from Latin, Monkey C derives heavily from past languages.
C, Java, JavaScript, Python, Lua, Ruby, and PHP all influenced the design for Monkey C. If you are familiar with any of those languages, Monkey C should be easy to pick up.
イタリア語やスペイン語がラテン語から派生したように、Monkey Cも過去のプログラミング源吾からの派生です。
C, Java, JavaScript, Python, Lua, Ruby, and PHPなどの影響を受けており、それらに精通していれば、Monkey Cの理解は容易いです。
こういう話は全ての言語に当てはまりますけど、これだけたくさんの言語に似ていると言われると、プログラミングに精通しているほど、逆に戸惑うかも(^_^;)
Cって付けたからには、Cの派生じゃないのか??
まあ、僕の場合、過去に使ったことが有るのは、BASIC、Pascal、COBOL、FORTRAN、C、C++、JAVAと古めの言語が多いのと、プログラミングから遠ざかって久しいので、何に似ていようが、あまり関係無いかな。
以下、説明を全部読み下すのも面倒なので、ざっくり概要だけ書きます。
JAVAに似てる
JAVA同様に仮想マシーン上をオブジェクトコードが走るようです。
Javascriptに似てる
変数宣言が
var A
という形式であり、宣言時に整数とか浮動少数とかの型宣言をしません。
Varって、Variable(変数)なので、「Aは変数だよ」というだけの適当な宣言です。
えー!マジで?
こんなの見たこと無いと思いましたが、Javascriptがそうでした。
function add( a, b ) {
return a + b;
}function thisFunctionUsesAdd() {
var a = add( 1, 3 ); // Return 4
var b = add( "Hello ", "World" ); // Returns "Hello World"
}
関数も同様なので、ひとつの関数でこんなことが出来てしまいます。
型と演算子は普通に有る
- Integers - 32-bit signed integers
- Floats - 32-bit floating point numbers
- Long – 64-bit signed integers
- Double – 64-bit floating point numbers
- Booleans - true and false
- Strings - strings of characters
- Objects – Instantiated objects (defined with the class keyword)
- Arrays - Allocated with the syntaxnew [X] where ‘X’ is an expression computing the size of the array
- Dictionaries - Associative arrays, allocated with the syntax {}
など。
一部、僕には見慣れませんが、追々。
あまり真面目に追うと疲れます。
演算子は基本はC(Monkey Cだし)で、andとかorとかPascalっぽいのも有り。
条件文とループ
if文はCそのもので、ループはfor、while、do whileと、これもCです。
API
使えるAPIは、作るプログラムによって異なります。
APIに関するドキュメントはこちら。
プログラマーズガイドには、まだまだ情報が記載されていますが、そろそろお腹一杯(^_^;)
あとは、簡単なプログラムを作りながら勉強することにします!