手続き型プログラミング
手続き型プログラミングについて
手続き型プログラミングとは
手続き型プログラミングとは、「手続き」を逐次的に実行することで結果を取得するプログラミングパラダイムです。
ここでいう「手続き(procedure)」とは記述された命令のことであり、具体的にはプロシージャ、ルーチン、サブルーチン、メソッド、関数を意味します。
プログラムは「データ構造と手続き」の集合により構成され、手続きを実行した結果、処理の結果に応じてデータ構造(変数)の内容を変化させていく特徴があります。
手続き型プログラミングと命令型プログラミングは同じ?
手続き型プログラミングは、命令型プログラミングとほぼ同義として扱われます。
命令型のプログラミング言語では、命令が機能の単位であり、命令を順次実行する形式で機能を記述していきます。
つまり、手続き型プログラミングは命令型プログラミングを土台にした概念であるといえます。
(なお、近年では、オブジェクト指向から比較的距離を置いている命令型言語を指して、手続き型とすることが多い。)
手続き型プログラミングと構造化プログラミングの関係性は?
「手続きの定義と呼出し」という機能とパラダイムによって、プログラムは構造性とモジュール性を持つことができるようになりました。
手続きという単位でプログラムを構造化できるため、モジュール性が高く、可読性の高いプログラムを作成できます。
つまり、手続き型プログラミングは「構造化プログラミング」の記述を可能とするための土台となる概念です。
手続き型のプログラミング言語
代表的なプログラミング言語は「C, C++, C#, Java, Pury, Python, Go」です。
極論すれば、関数と変数を定義できるプログラム言語は手続き型プログラミングであるといえます。
プログラミング言語はマルチパラダイムで設計されているため、単一のプログラミングパラダイムによって厳密な区別することは難しいです。
ひとつ区別として、手続き型のプログラミング言語は、関数型プログラミング言語と論理型プログラミング言語以外を指します。
なお、オブジェクト指向言語は手続き型プログラミングを土台にしていることが多いといえます。
手続き型プログラミングの関連概念
モジュールについて
モジュールとは、システムを構成する要素であり、複数の部品的機能を集めてまとまりのある機能を持った部品のことを指します。
モジュールに従っているものをモジュラー (modular)という。
なお、プログラムのモジュールは、出来るだけ他のモジュールとの結合度を弱めて、独立性を高めることが望ましいといえます。
構造化技法
手続き型プログラムは構造性とモジュール性を持つことができるようになったことで「構造化技法」用いた開発が広まりました。
構造化分析・構造化設計を実施することで、従来よりも複雑で大規模化したソフトウェアシステムの開発が容易になりました。