プログラミングパラダイムは、プログラミングの異なるスタイル、異なる「方法」です。 手続き型プログラミング、オブジェクト指向プログラミング、関数型プログラミングなど、人気のあるものを含め、多くの異なるパラダイムがあります。 また、命令型プログラミング、宣言型プログラミング、イベント駆動型プログラミングなど、あまり一般的でないものもあります。 もし興味があれば、プログラミングパラダイムについて非常によくまとめられた本がありますので、そちらをご覧ください。
Tl; dr;
手続き型プログラミングは、最も人気のあるプログラミング・パラダイムの 1 つです。 手続き型プログラミングに従うことで、コードを関数や手続きと呼ばれる小さな単位に分割し、再利用しやすく、実行の流れが上から下へとなるようにします。 このスタイルは理解しやすく、実装も簡単です。
このシリーズの他のブログ記事:
プログラミングパラダイム – オブジェクト指向プログラミングは優れているか
手続き型プログラミングとは
手続き型プログラミングは、機能を多数の手続きに分割するプログラミング手法の1つで、そのサポートがある。 手続き型プログラミングでは、大きなプログラムは手続きや関数と呼ばれる小さな管理可能な部分に分解される。 ここでは、データよりも関数が優先される。 手続き型プログラミング言語では、プログラムは基本的に、ユーザーからの入力を読み取り、必要な計算を行い、出力を表示するなどの処理をコンピュータに指示する一連の命令で構成されます。
def add_number(a, b): return a + b# workflow starts here# call function add_number() to add 1 and 2 together and print the result to screenprint(add_number(1, 2))# execute add_number() function 5 times and print the result to screenfor i in range(5): print(add_number(i, 1))# workflow ends here
プログラムが大きくなると、次に、手続きまたは関数と呼ばれる小さな単位に分割されます。 いくつかの関数は、特定のタスクを達成するために書かれることになっている。 これらの関数は、複数の場所から同じ関数が呼び出されるため、コードの重複を許さない。 この手法は、中規模のソフトウェアアプリケーションにのみ適している
手続き型プログラミングでは、ローカルとグローバルの2種類のデータが使用される。 関数内のデータはローカルデータと呼ばれ、どの関数内にもないデータはグローバルデータと呼ばれる。 ローカルデータは、それが宣言されている唯一の関数にアクセス可能である。
// this is a global variable$globalVar = 1;function addNumber($a, $b) { // this is a local variable $randomNumber = rand(); return $globalVar + $randomNumber + $a + $b;}
ある関数のローカルデータは、他の関数からはアクセスできない。 もし、あるデータが2つ以上の関数によってアクセスされるなら、それはグローバルにされるべきです。 しかし、グローバルなデータは、他のプログラマが知らないうちに変更される可能性がある。 このように、データと関数が別々に配置されていると、実世界の物事をモデル化するのに適していません。
COBOL, FORTRAN, C, Pascalは手続き型プログラミングを実装できるいくつかのプログラミング言語である。 これはコードの重複を減らし、コードの可読性と保守性を向上させます。
異なる関数は、グローバル変数を通じてデータを共有することができます。 関数は完全に分離されているので、データを共有したい場合は、上位スコープで宣言する必要がある。 グローバルデータは関数から関数に転送されるため、変換の過程で、グローバルデータは関数チェーンで変更される可能性がある。 前述したように、手続き型プログラミングはトップダウン方式を採用しており、ワークフローは上から下へと進む。
手続き型プログラミングの利点
- The coding is easy and simple.
- The codes have the ability to be reused in several parts of the program.
- The programming paradigm consumes less memory on the computer.
- 手続き型プログラミングのパラダイムで書かれたプログラムでは、コードの流れを追跡することが容易です。
- 大規模なプログラムでは、グローバルデータの所属を特定するのが難しい。
- グローバルデータの使用はエラーが発生しやすく、保守や拡張の際に障害となり得る。
- グローバルデータを修正するには、それを使用している関数を修正することが必要となる。
- 手続き型プログラミングのパラダイムは、関数がアクション指向で、問題の要素に実際に対応していないため、現実世界の問題をあまりよくモデル化していない。
まとめ
手続き型プログラミングには確かに多くの利点があるが、その1つは学習と実装が簡単であることだ。 新しいプログラマは、手続き的なスタイルでコードを書く方法を学ぶことによって、その旅を始めることができます。
しかし、その限界のために、実世界のアプリケーションでは手続き型プログラミングは使用されていません。 そのため、学生は現実の問題に触れるために他のパラダイムを学ぶ必要がある。 テクノロジーに関する他の記事はこちらで閲覧できます。
By Tuan Nguyen