プログラミング言語

プログラミングを行う

コンピューターのプログラムを作成することをプログラミングと言います。プログラミングを初めてするという方も、プロと言われる方も最初に行うことは大体決まっているのです。

最初にすること

コンピュータにプログラムを打ち込む前に、紙に行わせたいプログラムの流れをコンピュータになったつもりで、流れ図を作っていくことから始まります。この流れ図は、アルゴリズムとも呼ばれ、特定の目的を達成するための処理手順を書いていくものです。

1 プログラミングの進め方

上記の項目でも説明したように、まず流れ図を書きます。

次に設計したアルゴリズムに従って、それを特定のプログラミング言語に従ってパソコンに打ち込んでいきますが、それだけではプログラムは動いてはくれません。プログラミング言語をコンピュータが理解できる言葉(機械語)へ変換してやらないといけないのです。この変換がアセンブルまたはコンパイルと言います。アセンブルやコンパイルの作業自信は、プログラミング言語処理系が行ってくれますが、その過程でさまざまなミスやエラーが発見されます。これらをバグ(bug)と呼び、その修生作業をデバッグ(debug)と呼びます。

ちなみに、プログラムの誤りを「バグ」(小さな虫)と呼ぶようになった理由は、初期のコンピュータの論理スイッチに使われていた電動式リレーの間に小さな虫が挟まり、その場所が接続不良を起こして動作に不具合が生じたことから、と言われています。また、プログラムが抜け落ちたのが、「バグ」(虫)に食われたようだからとも言われています。

プログラミングがいきなり動くことは、よほど小規模のものでない限り、ほとんどありません。さまざまなテストデータを使って、本当に正しく動くがどうか何度もチェックして、バグを見つけてデバッグを繰り返すことになります。当然バグには、記号のうち間違いなどの単純なミスから、最初に考えたアルゴリズムが間違っているなどの大きなミスまで多種多様なものがありますが、プログラミングの作業は論理的な思考と根気と手間が必須となります。

さらに大規模なソフトウェアの開発においては、プログラミングを1人で行うことは稀です。一般には何人もの人間がチームを作って、プログラムを分担して作成することになります。このような大規模なソフトウェアの開発の場合は、まず作成すべきソフトウェアの動作条件や必要な機能などの仕様を明確にして、作業の分担を含めた全体の設計を行い、その設計に従って、個々のプログラマーがプログラムを作っていくことになります。その後、できたプログラムの動作を確認した後、1つにして完成となります。

特に優れたプログラムの場合は、特許を取ることも可能です。

2 基本アルゴリズム

コンピュータでプログラミングする場合は、アルゴリズムを作ることから始まりますが、アルゴリズムは下記に示すように、「連続(逐次)」、「分岐(選択)」、「反復(繰り返し)」という基本となります。3つの制御構造を組合せで作っていくことになります。特にアルゴリズムを図で示すような記号を用いて図示したものがフローチャート(Flow Chart:流れ図)と呼ばれるのです。

連続(逐次)

順次処理を進める。

 

分岐(選択)

条件により次の処理を決定する。

 

反復(繰り返し)

ある条件が成立するまで処理を繰り返す。

 

手続き型言語*において、トップダウン式に、プログラムの実行目的である仕事を大きな視野から、小さな視野へと細分化していき、そして個々のモジュールが小さな機能単位としての「処理」として、上記の3つの基本アルゴリズムの組合せでプログラムを作成するという考え方を構造化プログラミング(structured programming)といいます。

構造化プログラミングは、プログラムの作成と保守を容易にするために、簡潔で分かりやすいプログラムを作成するために考案されたもので、現在ではプログラミングするときの基本ともなります。


*手続き型言語とは記述された命令を逐次的に実行して、処理の結果に応じて変数の内容を変化させていくプログラミング言語のことです。

2017/1/27 更新