プログラミング用語 (分野別)
プログラミング用語︵プログラミングようご︶は、コンピュータのプログラムおよびプログラミングに関する用語の一覧である。
分野別に分類し記載している。
固有の製品名、言語名、機種名、ソフト名など、固有の一覧の記事がある場合にはその記事へのリンクのみを示し、ここでは記載しない。
五十音︵アルファベット・その他︶順の一覧については、プログラミング用語一覧を参照。
コンピュータの理論的基礎[編集]
●コンピュータ ●チューリングマシン、ノイマン型、その他、コンピュータを参照。 ●オートマトンプログラミング言語の位置づけ[編集]
コンピュータ言語の分類[編集]
プログラミング言語は人工言語、コンピュータ言語の中の1群である。 ●言語、言語学、計算言語学 ●自然言語 ●人工言語、形式言語 ●コンピュータ言語 - コンピュータで用いられる人工言語。 ●プログラミング言語 - コンピュータ上で動作するプログラムを作成する言語。 ●データ記述言語 - 主に複雑なデータを格納することを目的とする言語。マークアップ言語など。 ●問い合わせ言語 - データの問い合わせに用いる言語。 ●データベース言語 - データベースのアクセスに用いる言語。 ●仕様記述言語 - 主にプログラムの設計に用いられる言語。モデリング言語など。 ●ハードウェア記述言語 - 主に集積回路(IC, LSI)の設計に用いる言語。 ●ハードウェア制御言語 - 人間は記述は行わない。プリンタや表示の制御など。プログラミング言語の分類[編集]
●個別のプログラミング言語名については、プログラミング言語一覧を参照。 ●プログラミング言語 ●低水準言語と高水準言語 ●言語処理系 ●コンパイラとインタプリタ︵﹁コンパイラ言語とインタプリタ言語﹂という分類はナンセンス︶ ●用途や形態による分類 ●スクリプト言語 ●マクロ言語 ●プログラミングパラダイムによる分類 ●手続き型言語 - 多数 ●関数型言語 - Haskellなど ●論理型言語 - Prologなど ●オブジェクト指向言語 - Smalltalk、C++、Javaなど ●ソースコードの表現法による分類︵基本的に、抽象的には全く変わらない﹁プログラム﹂を、文字で表現するか文字以外のもので表現するか、という違いである。︶ ●テキストプログラミング言語 ●ビジュアルプログラミング言語プログラミングの歴史[編集]
●プログラミング言語年表プログラム開発の歴史[編集]
●ソフトウェア工学 ●プログラミングの変遷 ●パンチカード ●プログラムの寿命 - 最初に考えるべき重要な問題。 ●プログラムの品質 ●プログラムの結合度 - スパゲティプログラム、多重継承、オブジェクト指向 ●プログラミング ●構造化プログラミング - goto文 ●関数型プログラミング ●イベント駆動型プログラミング ●オブジェクト指向プログラミング - オブジェクト指向、差分プログラミング ●Webプログラミング ●開発手法 ●ウォーターフォール・モデル ●スパイラル・モデル ●エクストリーム・プログラミング - 軽量開発手法、アジャイルソフトウェア開発 ●テストファースト ●設計手法 ●フローチャート ●モデリング言語 - UML ●デザインパターン ●状態遷移図プログラミングの文化[編集]
●デファクトスタンダード ●フリーソフトウェア ●フリーソフトウェア運動、フリーソフトウェア財団、GNU General Public License、コピーレフト ●オープンソース - Open Source Initiative ●リバースエンジニアリングシステムプログラミング[編集]
システムソフトウェアの記事も参照 ●プログラミングから見たCPUの基本要素 ●命令セット、レジスタ、アドレス、フラグ ●機械語、アセンブラ、ニーモニック、アドレッシングモード ●メモリマップ - データ領域、コード領域、スタック領域 ●サブルーチン、スタックポインタ、マクロ ●割り込み - 割り込みベクタ ●DMA(Direct Memory Access)主として手続き型言語の言語機能[編集]
●メモリマップ ●データ領域、コード︵テキスト︶領域、スタック領域、ヒープ領域 ●定数領域︵書込み禁止領域︶、BSS領域、静的領域︵スタティック領域︶、静的データ︵静的メモリ︶、動的データ︵動的メモリ︶ ●ソースコード ●Hello world - 各プログラミング言語によるサンプルプログラム。 ●構文規則 - バッカス・ナウア記法 ●コメント(注釈) ●予約語 ●キーワード (C言語)、予約語 (Java)、… ●演算子 ●識別子 - メタ構文変数 ●行番号 ●基本制御構造 ●分岐処理 - if文、switch文 ●反復処理︵繰り返し処理︶、ループ - for文、while文 ●順接 ●その他の制御 ●再帰呼び出し - 末尾再帰 ●無条件ジャンプ - goto文 ●例外処理 - 継続 ●サブルーチン ●マクロ、関数、手続き(プロシージャ)、メソッド (計算機科学) ●引数 - 値渡しと参照渡し ●return文 ●データ・データ型・型システム ●プリミティブ型と複合型 ●数値型 - 整数型、浮動小数点型、など ●文字 - 文字型、文字列型 ●コンテナ (データ型) - 配列、構造体、など ●抽象データ型 - オブジェクト指向を参照。 ●ポインタ型 ●データ型に関するその他の記事 - 列挙型、ブーリアン型、など ●修飾子 ●定数 ●静的変数 ●フィールド (計算機科学) - インスタンス変数、クラス変数 ●アクセス制御子 ●スコープ ●ブロック構造 ●変数 - グローバル変数、ローカル変数︵局所変数︶ ●動的スコープ、静的スコープ ●変数、関数、メソッドなどの外部宣言、アクセス制御子 ●前方参照 - プロトタイプ宣言︵C言語︶、forward宣言(Pascal) ●名前空間 ●カプセル化 ●プリプロセッサ - マクロ ●モジュール ●ライブラリ、unit(Pascal)、パッケージ (Java) ●名前空間 ●プラグイン ●型チェック - キャストオブジェクト指向[編集]
●オブジェクト指向 ●モデル ●オブジェクト (プログラミング)、クラス (コンピュータ)、メッセージ駆動 ●カプセル化 - スコープ ●継承 - 単一継承、多重継承 ●ポリモーフィズム - 多重定義︵オーバーロード︶、オーバーライド ●メッセージ駆動 - 委譲モデル ●インスタンス ●メンバ ●フィールド (計算機科学) - クラス変数、インスタンス変数 ●メソッド (計算機科学)︵メンバ関数︶、コンストラクタ、デストラクタ、ファイナライザ ●インタフェース (情報技術) - マーカーインタフェース ●アノテーション ●シャローコピープログラム開発[編集]
●プログラム ●プログラマ ●システムエンジニア ●アーキテクトプログラムの設計[編集]
●プログラム開発手法 - プログラミングの歴史を参照。 ●構造設計 ●フローチャート、PAD、 ●モデリング言語 - UML ●インターフェイス設計 ●デザインパターン ●API(Application Programming Interface)プログラム開発ツール[編集]
●エディタ、テキストエディタ ●アセンブラ、逆アセンブラ、コンパイラ、make、リンカ(リンケージエディタ)、デバッガ ●統合開発環境 - RAD (計算機プログラミング環境) ●オーサリングツール、ICE(インサーキット・ エミュレータ)コンパイラ[編集]
●コンパイラ ●プログラミング技術・情報工学の構文解析も参照。 ●ネイティブコード、中間コード、バイトコード ●コンパイラ ●最適化、80-20の法則 ●事前コンパイル、動的コンパイル、ジャストインタイムコンパイル方式、適応的コンパイル、遅延コンパイルプログラムの実行環境[編集]
●インタプリタ ●ライブラリ ●動的リンク、静的リンク ●ダイナミックリンクライブラリ、ランタイムライブラリ ●仮想機械 - ジャストインタイムコンパイル方式、ガベージコレクションプログラムの実行エラー[編集]
●デバッグ - バグ をとること。 ●セキュリティホール ●算術エラー - 算術オーバーフロー︵桁あふれ︶ ●メモリ不足 - スタックオーバーフロー ●メモリ破壊 - スタック破壊、メモリリーク、バッファオーバーラン ●制御不良 - 無限ループ、デッドロック、非同期アクセス ●不正操作 - 命令違反、特権違反、単なるポインタの誤操作 ●設計ミスプログラムのテスト[編集]
●ソフトウェアテスト ●テスト駆動開発、テストファースト、テストプログラム ●単体テスト、結合テスト、総合テスト︵システムテスト︶、ブラックボックステスト、ホワイトボックステスト ●検証ツール、コード網羅率︵コードカバレッジ︶、プロファイリング ●スループット、ボトルネック、80-20の法則 ●インスペクション、ウォークスルー、チーム・レビュー、パスアラウンド、ピア・レビュー、ペア・プログラミング、アドホック・レビュー、カジュアル・ラーニングプログラムのドキュメント[編集]
●Javadocプログラムの移植[編集]
●移植性、クロスプラットフォームプログラムの権利[編集]
●著作権、ソフトウェア特許、リバースエンジニアリング、アルゴリズム特許プログラミング技術・情報工学[編集]
●情報工学も参照。 ●ソフトウェア工学論理演算[編集]
●論理演算、ブール代数、論理式、真理値、真理値表 ●論理和(OR)、論理積(AND)、否定(NOT)、排他的論理和(XOR)、同値 ●ビット演算 ●カルノー図データ構造[編集]
プログラムで多く使われる基本的なデータの構造アルゴリズム[編集]
「アルゴリズム」を参照
●ソート - データを並べ替えること
●バブルソート、シェルソート、ヒープソート、クイックソート、マージソート、・・・
●探索
●線型探索、二分探索
●グラフ
●閉路