×
言語処理系と開発実行モデル

マークアップ言語は、単なる文字の羅列であるプレーンテキストに対して、論理的な意味や構造を付与するための技術です。元来「マークアップ」とは、出版や印刷の業界において、原稿に対してレイアウトや文字の装飾などを指定する「組版指定(赤入れ)」の作業を指していました。これがコンピュータの世界に応用され、データに対する意味づけを行う役割を持つようになりました。
マークアップ言語の最も代表的な存在であるHTML(HyperText Markup Language)は、ウェブページにおける見出し、段落、表、リンクなどの要素を定義します。しかし、マークアップ言語はウェブに限られたものではありません。例えば、XML(eXtensible Markup Language)は、ユーザー自身が独自のタグを自由に定義できるという特徴を持っており、異なるシステム間で複雑なデータをやり取りするためのフォーマットや、アプリケーションの設定ファイルなど、幅広い用途で活用されています。
また、マークアップ言語とプログラミング言語は明確に区別されます。プログラミング言語(JavaやPython、C言語など)は、「もし〇〇ならば××する」といった条件分岐や、特定の処理を繰り返すループ構造、計算などの複雑な論理を実行する能力(チューリング完全性)を持っています。一方、標準的なマークアップ言語はあくまでデータの構造を示すものであり、計算や複雑なアルゴリズムを実行する機能は持っていません。そのため「HTMLはプログラミング言語ではない」と説明されることがよくあります。
近年では、タグの記述をより簡略化して人間が直接読み書きしやすくしたMarkdown(マークダウン)などの軽量マークアップ言語も広く普及しており、ブログ記事の執筆やエンジニアのドキュメント作成などで日常的に利用されています。