1月22日夜
プログラミング
プログラミング・デバッグツール
- インスペクタ
- 各オブジェクトのデータ構造や値をデバッグ時に確認するためのツール
- トレーサ
- プログラムの実行を通してプログラムの誤りを見つけるためのツール
- アサーションチェッカ
- チェック用のコードを入れ、ある条件が成立すべき部分で未成立ならエラー出力する関数。
- コードオーディタ
- コーディング規約に違反する箇所を検出する。(コード監査人)
- テストカバレージモニタ
- プログラム中のテスト済み経路を動的に記録することで網羅率を計測する。
- ドライバ
- ボトムアップテストで下位モジュールをテストするときに使用する。上位モジュールの代わりとして動作する。
- スタブ
- シミュレータ
- 実際に実験しにくい現象をコンピュータの中で疑似的に実験するソフトウェア
- ジェネレータ
- 入出力や処理に関する条件をパラメータで指定することで処理プログラムを生成するツール
- エミュレータ
- 他のOSやCPUの機能をソフトウェア上で模倣して、その環境で動作するアプリケーションを動作可能にするソフト。
デバッグ
- 動的テスト
- 実際にプログラムを動作させて行うテスト
- 静的テスト
- プログラムを動作させずに行うテスト
コンパイラ
- コンパイラ
- 高水準言語で記述されたソースプログラムを、オブジェクトプログラム(実行プログラム)に変換する
- プリコンパイラ
- 高水準言語に付加的に定義された機能と文法に従ってコーディングされたプログラムを標準の高水準言語のプログラムに変換する
- クロスコンパイラ
- トランスレータ
- ある言語でコーディングされたプログラムを別の言語のプログラムに変換するプログラム。
- コンパイラの動作(以下の順序で動作)
- 最適化について、コードサイズ(機械語上での)の効率化と、実行速度の効率化の両方の面で認識しておくこと。(コードサイズが効率化できるのは次のうちどれ?といった問題がでる)
リンク
- 静的リンキング
- プログラム開発時にプログラムとライブラリ関数を一つのファイルにまとめてしまうこと
- 動的リンキング
- プログラム実行時に必要に応じてライブラリのモジュールを呼び出す
- 例:DLL(ダイナミックリンクライブラリ)
これってどういうもの?
- リロケータブル
- プログラム実行時に適切なアドレスにロードする
言語の特徴
- Java
- オブジェクト指向言語
- 多重継承をサポートしない
- 文字や整数などの基本的なデータはプリミティブと呼ばれ、クラスとは異なる
- 明示的なポインタ型はない(メモリ上のアドレスに直接参照することができない)
- メモリ領域の確保・解放は自動的に行われる(ガベージコレクション)
- C++
- オブジェクト指向言語
- 多重継承OK、ポインタ型OK、メモリ領域の確保・解放は手動で。
- SmallTalk
- 整数や文字などの基本データ型をクラスとして扱うことができる。
その他用語とか
- EAI(Enterprise Application Integration)
- 企業内のデータやプログラムを効率的に活用するために複数のコンピュータシステムを連携・統合する技術
- UDDI(Universal Description, Discovery, and Interation)
- インターネット上で提供されているWebサービスの検索・照会システム。