プログラミング 【programming】

概要

プログラミング(programming)とは、コンピュータに意図した動作を行わせるために、まとまった処理手順を作成し、与えること。作成された手順のことを「コンピュータプログラム」(computer program)あるいは単にプログラムという。

狭義には、プログラミング言語やそれに相当する仕組みや道具を用いて、人間が読み書きしやすい形式のプログラムソースコード)を記述していく「コーディング」(coding)作業を指す。広義には、その前後に行われる、設計や試験(テスト)、修正(デバッグ)、実行形式や配布形式への変換(コンパイルビルドなど)といった一連の作業を含む。プログラミングを行う人や職種のことを「プログラマ」(programmer)という。

プログラムの作成

プログラミングを行うには、まず何をするプログラムを作るのかを明確に定義し、仕様や要件を自然言語で記述したり、大まかな処理の流れを箇条書きやフローチャートなどの図表を用いて設計する。集団でソフトウェア開発を行う場合はプログラムの記述者とは別の設計者が専門に作業を行い、仕様書や設計書などの形でまとめる場合もあるが、個人が小規模のプログラムを作成する場合はこの工程を頭の中で行い、作業や手順としては省略する場合もある。

どんなプログラムを作りたいか決まったら、これをコンピュータが解釈できるプログラミング言語を用いてソースコードとして記述していく。言語やプログラムの記述法には様々な種類があるが、手続き型の言語(手続き型プログラミング)の場合、実行すべき命令を先頭から順に書き下していく。必要に応じて、複数の命令をひとまとめにして名前をつけて呼び出せるようにしたり(関数サブルーチンなど)、条件分岐や反復(繰り返し)などで命令の流れの制御を行う。

プログラムの実行

ソースコードそのものはコンピュータ(の処理装置)が解釈・実行できる形式ではないため、これを機械語マシン語)のプログラムなど実行可能な形式に変換する必要がある。ソースコード機械語などのコードオブジェクトコード)に変換する工程をコンパイルcompile)と呼び、プログラムの起動処理やライブラリなど実行に必要なコードを連結する工程をリンクlink)という。これら一連の工程を行って実行可能ファイルパッケージを作ることをビルドbuild)という。

スクリプト言語軽量言語)などの場合はこうした明示的な変換工程は不要で、ソースコード機械語に変換しながら同時に実行するインタプリタなどの処理系で直に実行することができる。記述したコードをすぐ実行でき手軽だが、変換しながら実行するため実行可能ファイルを生成する場合より実行速度やメモリ効率では劣る。

プログラムの修正

作成したプログラムが一度で完全に思い描いたとおりに動作する場合もあるが、大抵は何らかの誤りや不具合を抱えているものである。このため、ビルドしたプログラム実行してみてテスト(動作試験)を行い、仕様通りに動くか調べる。

誤り(バグ)が発見されると原因や解決策を考え、正しく動作するようにプログラムを書き換える(デバッグ)。バグには単純な記述ミスのようなものから、そもそも解くべき問題に対して選択した計算手順(アルゴリズム)が合っていないといった根本的なレベルのものまで様々な種類がある。

デバッグ作業が完了したら再びビルドとテストを行い、誤りが正されていることを確認する。このビルド→テスト→デバッグの繰り返しによって次第にプログラムの完成度や品質が上がっていき、実際に実用可能なプログラムに仕上げることができる。実際のプログラミングにおいては作業時間の多くがこの繰り返しの工程に費やされる。

(2019.4.10更新)

プログラミング用語辞典

他の辞典による解説 (外部サイト)

試験出題履歴

ITパスポート試験 : 平24春 問32 平21春 問49

この記事を参照している文書など (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。