メモ:C言語の学習の目標ってどのへんにあるだろう

アタマを整理しようと思って書き出したメモ(今後もちょこちょこ書き足す)

  • 自分とプログラムの関係
    • C言語のマニュアルが読める
    • 自分でプログラムが書ける
    • 他人が作ったプログラム、ソースコードを再利用できる
  • C言語の知識
    機械を動作させる呪文の唱え方なんだけどね
    • 制御構造、演算子を知っている
    • 文字列の扱い、標準の入出力の扱いを知っている
    • ある程度、コンピュータの動作の戯画がアタマに描ける
      例えば"="でメモリへの書き込みとか
  • コンピュータの動作(の戯画をアタマに描くこと)
    • コンピュータプログラムって「メモリをアロケートする」「演算する」「メモリからデータを読み込む」「メモリにデータを書き込む」「プログラムを呼び出す」という動作だ(メモリマップドI/O(Wikipedia),ポートマップドI/Oも、さしあたってのイメージとしては、「メモリ(アドレスで参照できる何か)」とのやりとり)。
    • Cのポインタって難しいとは思えないのだけど
  • Hello, world コードの意味
    • コンパイラの動作させ方を知る…それなら、APIを使ったもっと派手なコードでも
    • 出力をさせないと動作を確認できないし
  • ソースコードを読むこと、動作を解説すること
  • 結局、目標をどこに置くんだろう?
  • [2010.1.5][2010.1.8]「メモリ・プロセッサ」モデルでの手続き型プログラミング言語の基礎
    1. プロセッサのおしごと
      命令の分類(暫定) http://ud037.are.ous.ac.jp/d200908.htm#819
      1. 個別の命令(後半3個の命令はデータをメモリから読み込む命令を伴う)
        1. メモリを確保する命令
        2. データをメモリに書き込む命令
        3. 演算をする命令
        4. 演算の実行順序を制御する命令
        5. 命令のパッケージを実行する命令
      2. 個別の命令をパッケージ化する命令
    2. メモリ上にあるもの
      1. パッケージ化された命令
      2. データ
  • [2010.1.8] ウェブプログラミング(HTMLベースの携帯サイト)と構造化プログラミングに関する覚書→http://ud037.are.ous.ac.jp/d200812.htm#1223