プログラム言語
コンピュータが理解しやすい機械語または機械語に近い形式で記述した低水準言語、人間が理解しやすい自然言語に近い形式で記述した高水準言語がある。
・低水準言語
機械語
アセンブラ言語
・高水準言語
BASIC
COBOL
C
C++
Java
Python
Javascript
言語プロセッサ
人間が理解できるプログラム言語で記述した原始プログラムを、コンピュータが理解できる機械語に翻訳するためのプログラム。
・言語プロセッサ
アセンブラ
インタプリタ
コンパイラ
プログラムの実行手順
①原始プログラム
↓ コンパイル(コンパイラ)
②目的プログラム
↓リンク(リンカ、ライブラリモジュール)
③ロードモジュール(実行可能プログラム)
↓ロード(ローダ)
④実行
コンパイラ
コンパイルはコンパイラと呼ばれるプログラムを用いて、原始プログラムから目的プログラムを生成すること。
リンク
リンクはリンカ(リンケージエディタ)と呼ばれるプログラムを用いて、複数の目的プログラムなどから一つのロードモジュール(実行可能プログラム)を作ること。
動的リンキング
アプリケーションの実行中、必要となったモジュールをOSによって連携する方式。
静的リンキング
アプリケーションの実行に先だって、あらかじめ複数の目的プログラムをリンクしておく方式。
ロード
ローダと言われるプログラムを用いて、実行に先立ちロードモジュールを主記憶に配置すること。
その他の言語のプロセッサ
プリコンパイラ
クロスコンパイラ
ジェネレータ
トランスレータ
エミュレータ
開発ツール
総合開発環境
アプリケーション開発のためのソフトウェア・支援ツール類をまとめたもの。
Eclipseなどがある
ビルド
コンパイルやリンクを行い実行可能ファイルを作成すること。
継続的インテグレーション
分担して書いたソースコードを共有の保管場所にマージする度に、ビルドやテストを繰り返すこと。
バグ等を早期発見するため。
ビルドやテストを自動化するツールとしてJenkinsがある。
デプロイ
実行可能ファイルを実行環境にインストールし、各種設定をして利用可能にすること。
Jenkinsには、自動デプロイ機能もある。
デバッグツール
デバッグとはプログラムに潜んでいるバグを発見し、取り除くこと。それを支援するツールのこと。
ツール↓
トレーサ
スナップショットダウン
メモリダンプ
静的解析ツール
形式言語
特定の目的のために人為的に作られた言語のこと。
BNF記法
プログラム言語の構文を定義する再帰的な記法。
正規表現
文字列の集合の規則を表す記法。
マークアップ言語
テキスト形式の文章にタグと呼ばれる特別な文字を使って、文章の構造や文字の修飾を記述する言語。
SGML
電子的な文章の管理や交換を容易に行うためのマークアップ言語。HTMLやXMLの元になっている。
HTML
Webページを作成するためのマークアップ言語。文字の大きさ、色、行間などはCSSで指定。
XML
ネットワークを介した情報システム間のデータ交換を容易にするためのマークアップ言語。
文章構造を文字型定義(DTO)で記述することで、独自のタグを定義できる。
Ajax
XMLとJSが持つ非同期のHTTP通信機能を使い、動的に画面を再描画する仕組み。