コーディング
概要
コーディングの本来の意味は、機械のコードを直接並べることである。コーディングとは、ユーザが求める処理をコンピューターが行えるように、プログラミング言語を用いてソースコードを記述することを指す。
プログラミングの工程のひとつであり、仕様書や設計書、またはアルゴリズムなどをもとにコンピューターが処理可能なコードとして記述していく作業のことである。
処理を記述するのでなく、ウェブページにおいてデザインをソースコードの記述により作成することがあるが、その作業もコーディングと呼ぶ。ハードウェア記述言語を用いて論理回路の構成を記述する作業も、コーディングと呼ぶ。
注意点
コーディングはプログラミングと、同義とされる場合もあるが意味は異なる。プログラミングは仕様設計からソースコード記述、テストまでを一括して指すが、コーディングはあくまでプログラミングの中の一作業であり、既存の仕様書をソースコードに変換していくことを指す。
歴史
ソースコードへの変換は、1801年に発明されたジャカード織機が起源である。布の折り方のパターンを表す穴を開けた一連の厚紙を使い、同一の機械で厚紙を入れ替えることで異なるパターンの布を織った。この厚紙の発想を起源として、のちにパンチカードやキーパンチ等が発明された。
1906年に厚紙はパンチカードとプラグボードに取って代わられ、組み合わせによって機械にさまざまな作業をさせることができるようになった。初期のコンピューターの一部はプラグボードでプログラムを組んでいた。
フォン=ノイマンの発明により、プログラムを直接コンピューターに格納できるようになった。プログラムは機械語のコードを並べることによって行われ、「コーディング」という言葉もここから誕生した。当時の入力方法は穴を利用したテープやカード、スイッチが主であり、機械語と呼ばれた。
機械語は人間にとって非常に理解し辛いものであったため、プログラミング言語を機械語に変換するコンパイラ等の手法が発明され、徐々に現代のコーディング方法に近づいて行った。
シーン
実際の現場では、システム仕様の設計者とコーディングの担当者が別であることが多い。担当者を分けるメリットは、工程を別に出来るためそれぞれの作業について専門化されやすい点である。デメリットは、成果物が仕様と異なるものになりやすいという点である。これは日本にシステム開発のビジネスが誕生して以来、賛否両論が存在する課題である。