プログラミングという言葉は、日常生活で飛び交います。ところが、プログラミングは、どんなもので、どのように作成しているのか知らない人は多いでしょう。記事では、PC初心者にも分かるように、プログラミングについて分かりやすく紹介しています。
プログラミングとは、どんなことをすることなの?
プログラミングは、PCなどの機械に、指示した動作を行わせるための、処理手順です。そのため、出来るだけ人が分かりやすい言語で記述したものを、最終的にはPCなどの機械に分かる形に変換します。
《人が分かりやすい言語》
プログラミングする時の言語です。これは、ソースコードと呼ばれます。ソースコードは、人に理解できるプログラム言語です。但し、最終的には機械が分かる形に変換するため、プログラムのルールを学習しないと分かりにくい記述です。
ソースコードは、人が分かりやすい言語として使います。ソースコードは、、PC等に実行させたいことを、PCが理解できる機械後に翻訳する前の、人間に理解できるプログラム言語です。
ここで、作成した手順のことをプログラムと呼びます。プログラミングをする人は、プログラマ(programmer)です。
狭い意味では、プログラミング言語などで、人間が読み書きしやすい形のプログラム(ソースコード)を記述していくコーディング(coding)作業のことを、プログラミングと呼びます。
これに対して、広い意味でのプログラミングは、コーディング前後に行われる、一連の作業も含みます。
一連の作業とは、次のようなものです。
- 設計や試験(テスト)
- 修正(デバッグ)
- コンピュータなどの機械が理解出来るような形式への変換(コンパイルやビルド)
プログラムの作成は、どんな風に行うの?
プログラムの一般的な作成手順は、次のように行います。
- 何をするプログラムなのかを明確に定義します。
- 仕様や要件を自然言語で記述して、処理の流れを箇条書きやフローチャートなどの図表を用いて設計します。
- 大規模なプログラムの場合には、集団でソフトウェア開発を行います。
人員を掛けてプログラムの記述者とは別の設計者が仕様書や設計書などの形でまとめます。(個人で作成するような小規模プログラムの場合は、このような工程は省きます。) - コンピュータが解釈できるプログラミング言語を用いて、ソースコードとして記述していきます。
- プログラム言語の記述法には様々な種類があります。手続き型のプログラム言語の場合には、実行すべき命令を先頭から順に書き下していきます。
- 但し、一般的には複数の命令をひとまとめにして名前をつけて呼び出す命令で、プログラムの流れの制御をします。
《複数の命令をひとまとめにして名前をつけて呼び出す命令とは》
関数やサブルーチンと呼ばれる条件分岐や、反復命令のことです。これらの関数やサブルーチン命令等で、プログラムの流れの制御を行っています。
ソースコードは、プログラマーが、作成するプログラミングですが、コンピュータなどの機械には理解できません。
そのため、ソースコードを機械語などのコード(オブジェクトコード)に変換する工程をコンパイル(compile)と呼びます。
そして、プログラムの起動処理やライブラリなど、実行に必要なコードを連結する工程がリンク(link)です。
以上のような一連の工程を行って実行可能ファイルやパッケージを作ることをビルド(build)と呼んでいます。
デバッグ工程
以上のプログラミング工程は、一回で仕上がることは稀です。通常は、何度もプログラムを実行させて不具合を検出します。そして、不具合が見つかるたびに記録にとって、修正を繰り返します。
このような工程を、デバッグと呼びます。
但し、作成したプログラム内に、どの程度の不具合が残っているのかは分かりません。そのため、習熟曲線で、経験上、実害がないレベル(目標値)まで、品質を向上させ、デバックを終了するなどの手法を用います。
実際のプログラミングでは作業時間の多くが、デバッグ工程で費やされます。
まとめ
現在、プログラミング言語は、多数存在しています。近年では、人間にも理解しやすい、スクリプト言語が増えてきましたが、まだまだ、複雑です。
そのため、銀行の端末などで不具合が生じても、原因の究明に時間を要します。大規模プログラムでは、仕様や要件を自然言語で記述して、処理の流れを箇条書きやフローチャートなどの図表で設計します。
それでも、プログラミング担当者が書いたプログラムは、上長でも解読しにくいのが実態です。
人間にも、コンピュータにも分かりやすいプログラム言語が待ち望まれます。