実は「プログラムが動く、プログラムを動かす」というのは、実行環境(処理環境)あってのことなのです。実行環境が何か、どういう形式・方式なのかで、違うということです。
コンパイルし、リンクして実行ファイルを作る。そうすればプログラムを実行できる・・・と説明しましたが、それはOS(オペレーティングシステム)という「実行環境」の中で動くように作ったということです。
同じく大型コンピュータのバッチ処理で、プログラムをコンパイルし、リンクし、実行する・・・というのもバッチ処理環境が大型コンピュータで動いていて、その環境下でプログラムを動かしているということです。ちなみに、大型コンピュータのリアルタイム・オンライン処理である「トランザクション処理」のプログラムも、オンライン処理環境に「登録」してはじめて動かすことができます。そのため、対象となるオンライン処理環境で動くように、プログラミングスタイルが決められています。
ご存知かもしれませんが、マイクロソフト・エクセル(表計算ソフト)にはVBA(Visual Basic for Applications)というプログラミング言語があって、プログラムを書いて動かすことができます。これはエクセルというアプリケーションソフトの処理環境下で動きます。(実際にはOSと相まって動かすのですが)
最近のWebアプリでは、ブラウザ上で実行されるものもあり、ブラウザとWebサーバー、場合によってはアプリケーションサーバーというネットワーク上のコンピュータが連携して、処理を実行します。
いずれもそれぞれのプログラムの「実行(処理)環境」があるのだと理解して下さい。
インタープリター言語であるBASICでプログラムを書いて動かしていたのは、N88日本語DISKBASICという処理環境がまず動いていて、その環境でBASICプログラムが実行出来たわけです。
プログラミング言語や、コンピュータの処理方式によって、様々な「実行環境」がありますので、自分が書いているプログラムはどういう「実行環境」で動くのかを理解するのは重要です。プログラムの性能や、基本的な処理の方法などがそれによって変わります。
今のような、Web環境でプログラムを動かすような複雑さがなかった、かつてのパソコンでは、性能を考えたら、OS上で直接動かせる実行ファイル(ネイティブコードと言います)で、なるべく小さくコンパクトなものを作らないといけないと思っていました。それが出来るのが、技術力のあるプログラマであり、またそれが出来るプログラミング言語こそ使うべきだと。
この事を知っていることは、プログラマやSEには非常に重要です。基本なのですが、自分の目の前のプログラミング課題だけに目が行くと、実行環境ありきでやっているのだということを知らないでいることもあります。整理して学習しておくことが大事です。
どんなプログラミング言語で、どんなプログラムを書くかによって、実行環境について学ぶことも変わりますから、それぞれ必要なことを調べて下さい。みんながみんな同じではないということです。
コメント