なりなり日記

Appleと折りたたみ自転車(BROMPTON / Tern Vektron S10 / BESV PSF1)の情報を中心に発信中!

初めてのGARMIN Connect IQプログラミング vol.3【基礎編】


スポンサーリンク

こんにちは、なりなり@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!」のみです。

f:id:narinarissu:20160601151817j:plain:w400

 

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

f:id:narinarissu:20160601190936j:plain:w400
f:id:narinarissu:20160601190948j:plain:w400
f:id:narinarissu:20160601190959j:plain:w400

使えるAPIは、作るプログラムによって異なります。

Toybox

APIに関するドキュメントはこちら。

プログラマーズガイドには、まだまだ情報が記載されていますが、そろそろお腹一杯(^_^;)

あとは、簡単なプログラムを作りながら勉強することにします!