「Androidを支える技術<I>」を読みました。

 

 

Androidのプログラミングをしていると、ここではこれはできない、ここではこうしなければならない、みたいなことが多くなんでそういう制約があるのか気になっていました。

 

理由が理解できれば納得してプログラミングできるのですが、理由を書いてある本はほとんど見つかりません。そこに本書が出たので読んでみましたが、期待した通りの本でした。

 

理由を書いてあると言っても、プロセス管理はどのような仕組みかとかファイルシステムはどういう構造かというようなレベルの解説だと、そこから「なぜActivityにはこういう制約があるのか」に到達するまで距離がありすぎます。「なぜActivityにはこういう制約があるのか」を理解するのに必要な範囲を掘り下げてほしいと思っていたのですがまさにそのようなスタンスで書かれていました。

 

自分にはレベルが高くなかなか理解しきれないので、1回目はあえて細部にこだわらずに全体を読み通すことを意識しました。なのでまだ理解度は非常に低いですが、何回も読み直すことで理解を深めていきたいと思っています。

 

先日、C言語勉強会15回目を開催しました。

 

今回は参加者が少なかったので、最初に少々脱線してダイアトニックコードを出力するプログラムについて話をしました。

とは言えchar * の配列を使っていますので最近の勉強会の内容と無関係ではありませんが。

 

malloc()で動的にメモリを確保しリスト構造を作る例題に入りました。リスト構造を検索する機能を追加し、さらに特定の要素を削除する機能の追加の途中で時間となりました。

 

次回でリスト構造の残りの部分を終わらせたいと思います。

 

mbedを使うにはC++を勉強しないといけないと思っていましたが、今のところ目的がmbedだけなので本を買うほどではないと思いインターネット上の解説を探していたところ、「一週間で身につくC++言語の基本」というサイトを見つけました。

 

分かりやすく解説してあり練習問題もあり基礎編応用編があり、今の自分には十分な内容だと思い勉強中です。応用編の半分位まで進みましたのでがんばって完了させたいと思っています。

 

CとJavaがある程度分かっているのがとても役立っています。Cではできないこれができるのかとか、JavaのあれがC++ではこうなるのかって感じで学習できるので。

 

1つ思ったのが、C言語、特にポインタ周りの理解があやふやな状態でC++を勉強すると、C++が理解できないだけではなくC言語も混乱しかねないということです。危ない言語ですね。