用語
前置き
プログラミングででてくる用語は、かなりとっ散らかっていて、同じものを指しているのに用語が複数ある(微妙な差異がある場合も)。あるいは、同じ用語でも使われる言語やコンテキストにより微妙な違いがある。また、そもそも明確な定義がなかったり、複数定義のある言葉(流派的な意味)だったりしてとても大変である。
例
サブルーチン(procedure/function/routine/method)
複数の命令がひとかたまりになったもの。操作
プログラムの構造化
if, elseやfor, while などのブロック(プログラムででてくるカッコ)あるいはサブルーチンにより構造化することで、プログラムの質を改善しようとしたプログラミングパラダイム。go to文などスパゲッティコードの反省から。
手続き型プログラミング(procedure programming)
(よくわかない。が、)
構造化され、かつモジュール性の高くすることができるというプログラミングパラダイム??
プリミティブ型
bool, int, char, float, double, reference(ポインタ)
オブジェクト/クラス/インスタンス
インスタンスはもととなる型(クラス,prototype)から生成されたもの、オブジェクト(実体)。
コンテキストによっては、メンバー、プロパティとも呼ばれます(c#)。
静的- (静的メンバー、静的メソッドとか)
静的というのは、値を格納しているメモリの番地が静的という意味。よって、どこからでもアクセスできる変数、メソッド。(参考) コンストラクタ
インスタンスを作った時点で呼ばれる関数。インスタンスの初期設定。
インターフェイス
異なるものの接続部分。ハードウェア、ソフトウェア、その他。
設定の規約という意味でも使われたりする。(プロトコル)
例
API (Application Programming Interface)
UI (User Interface)
GUI / CUI
interface (c#のキーワード)
クラスの機能の設定。
破壊的メソッド
obj.foo() で、objの状態(インスタンス変数)を変えるメソッド
pureメソッド(一般的じゃないかも)
破壊的でない
関数に与えた引数を変えたりしない
変更可能な