プログラミング言語の歴史の最古参のグループとして 科学技術計算処理向きの 「FORTRAN(Formula Transtator)」、 会計データ処理向きの 「COBOL(Common Business-Oriented Language)」、 数式処理などの記号データ処理向きの 「LISP(List Processing)」 などがの代表的な言語としてあげられるが、 それと同時期に、アルゴリズム記述向きの言語として 「ALGOL(Algorithmic Language)」 がありました。
このALGOLから派生した言語が 「PASCAL」 という言語になります。 したがって、PASCALも随分古い言語の一つで、使用目的としてプログラミング言語学習のために 利用されてきた歴史があります。しかし、一般用途のプログラミング言語としてはそれほど普及しなかった。 理由は明らかに「プログラミング教育目的に特化している」点にありました。 言語の規約(文法で規定されている要素)に自由が少なく、あいまいさを許さないのがその理由といえます。 その対極にあったプログラミング言語が「C [注1]」でした。 「C」言語は言語の規定がゆるく、プログラマの自己責任の元で許される範囲が非常に広かった。 そのため、コンパイラが許してくれる範囲が広くるが、その反面、バグになる恐れが多分にあるというリスクを合わせ持っていました。 プログラマに任される部分が多いことから「C」を愛用するプログラマが増え、 小型のコンピュータ(ミニコン、パソコン)が普及し始めてからの主流言語となっていったのです。 「C」が作られたのは「DEC [注2]」のミニコンシステムの開発に使うために作られたプログラミング言語で、 ミニコンのOS [注3]であった「UNIX [注4]」の中心となる言語として登場したのです。
当時、パソコンのCPU [注5]が8ビットから16ビットにパソコンに切り替わろうとしていた
時期(20年前頃)に、8ビットのCPUの世界で使われていた「アセンブラ(機械語)」でのソフト開発を引き継ぐには限界を感じていました。
また、「C」言語が、DECのミニコン開発に使われ、ハードウエアの制御までプログラミングが可能という情報も伝えられ、
「アセンブラ(機械語)」に変わる開発言語として使えるのではとのことから、「C」を勉強するきっかけとなったのです。
日本のワープロ業界の主流となった「一太郎 [注6]」の初代である「Jxw太郎」のとき、
パソコンソフト開発で初めて「C」が登場したのでした(筆者の知っている範囲で)。
その当時「C」を知っていた人はパソコンソフト業界のプロでも非常に少なかった時代で、「C」の参考書もほとんどありませんでした。
当時のパソコンソフトのほとんどは、「BASIC」か「アセンブラ(機械語)」で作られていたからです。
その頃の「C」言語のコンパイラは市販価格が30万円という高価な価格だったのでアマチュアの人にはなかなか手が届かない高級なコンパイラでした。
当時「C」コンパイラで有名だったのは、「Lattice C」、「Optimizing C」などでした。
しかし、まもなくコンパイラは「Microsoft C」へと流れが変わっていき、現在の「Visual C」至っています。
MSDOSの初期では、8ビット時代からの「BASIC」というインタプリタ言語がアマチュアでよく使われていた開発言語です。
その当時登場、アマチュアでも購入できるコンパイラとして「Turbo PASCAL [注7]」が登場しました。
名前の通り、「PASCAL」でハードウエアに直接アクセスする機能などを追加した「拡張PASCAL」でした。
これが今回のテーマ 「Delphi」 の先祖に当たるプログラミング言語処理系です。
それまでのPASCALは制約が厳しく使いにくいとされていたが、
メモリーやポートに直接アクセスを許したり、ポインターを積極的に導入したりして、
パソコン上での自由度を増すように拡張されたPASCALとなったのだった。
グラフィック処理についてもグラフィックライブラリーを充実し、画像処理ソフトにも対応できるPASCALとなった。
しかし、MSDOSからWindowsへとパソコンOSが変わってゆく中で、
ソフト開発の主流は 「CUI [注8]」 から 「GUI [注9]」 へと移ってゆく。
パソコンOSがWindowsに変わり、ソフト開発におけるユーザーインタフェースの部分の負担が非常に大きくなり、
プログラム工数(プログラム作成にかかる時間数)が急激に増加した。
その作業を低減化するためにマイクロソフト社が「Visual BASIC」を、ボーランド社が「Delphi」を送り出したのだった。
前者は中間コード化BASICインタープリタ、後者はPASCALは完全コンパイラであったため、
後者の 「Delphi」 の方が、出来上がったアプリケーションソフトの性能が高かった。
しかし、ソフト開発に携わるプログラマにPASCALを勉強しなおす負担が大きい後者には大きな壁が存在した。
筆者は元々 Turbo Pascal の頃からの PASCALユーザーだった関係で、
Ver.1 の時からずっと愛用の開発システムでした。
その後、Linux OS での開発システムとして Kylix(Delphi互換)が発表され話題にも上った。
現在は、商用ソフト開発でなければ、フリー(無料)で使用できるようになったため、
多くのフリーソフトの開発言語として重用されているようです。
Windowsでのソフト開発におけるGUI対応の開発ツールでVisualBASICのみの状態だったところを
Delphiが打ち破り、しかも、高速コンパイラ言語でもあったため、高性能なソフトが次々と生み出されるようになっていった。
同等の開発手法がとれる「C」システムはなかなか登場しないまま、現在に至っている。
コンパイルが速いことは Turbo Pascal 頃からの特徴を生かし、プログラムの開発効率が良い。
出来上がってアプリケーションはコンパイラであるため、非常に高速である。
また、ライブラリなどがアプリケーションソフトと一体化されているためソフト配布の際に余計な手間が要らない。
アプリケーション開発においてもGUI環境でソフト開発が出来ることなど長所は数多くある。
これらの特徴で、他のコンパイラ言語を圧倒しているが、最適化のレベルはそれほど高くない。
コンパイラの出す 「コードの質 [注10]」 は
マイクロソフトのVCでの最適化最大モードにしてのコンパイラには劣っている。
ビジネスツール開発においては、このような弱点はまったく欠点にはならない。
しかし、「素数発見」など、ソフト実行速度を競うようなプログラム開発には適さない。
筆者は、過去に数千行以上の大規模プログラムの開発を Turbo Pascal や Delphi で行ってきた経過もあり、
簡便なプログラミングツールとして現在も最も愛用している開発ツールの一つである。
その他のDelphiの弱点として、参考書が少ないこと、教えを請う上級者が身近にいないこと、
Delphiシステムを維持、改良してゆく母体が継続的に続く確約がない(ボーランド社1社 [注11]のため)などがあげられる。
Delphiを使うにはBorland社のサイトで、ダウンロードし、
ボーランド社のホームページからインストールキー(無料)をメールで受け取り、インストールとインターネット登録すれば使用可能になる。
必要ならマニュアル等は印刷すれば良いように電子文書化(PDFなど)されて、添付ファイルとして含まれている。
「物理の小道」の資料と同じ形式のPDFだから、アクロバットリーダーさえあれば、印刷して製本すれば立派な参考書となる。
ダウンロードを含めて詳しいことは
「Delphi」サイト http://www.borland.co.jp/delphi/personal/
を調べること。
なお、Delphi(PASCAL)に関する質問などがあれば、管理人(志)まで、メールを頂ければ分かる範囲で相談に応じます。
プログラミングの勉強は時間がかかります。中途半端な気持ちでは修得は不可能です。ぜひ挑戦してみましょう。