They don't make 'em like that any more: Borland Turbo Pascal 7
They don't make 'em like that any more: Borland Turbo Pascal 7 (kevinboone.me)
要約
Borland Turbo Pascal 7(TP 7)は、現代のIDEの原型とも言える、革新的で使いやすい統合開発環境でした。当時のWindows 3.1環境で医療用画像ソフトウェアを開発した経験を基に、TP 7がいかにプログラミングを容易にし、Windowsの普及に貢献したかが語られています。しかし、C言語の台頭、Microsoftのツールの改善、Visual BASICの登場により、その栄光は失われていきました。
全文翻訳
They don’t make ’em like that any more: Borland Turbo Pascal 7
[画像]
Borland の Turbo Pascal は、史上最も成功したプログラミングツールの1つでした。今日では当たり前となっている統合型ソースレベルデバッグなどの開発手法を導入しましたが、当時は画期的でした。
Turbo Pascal for Windows 1.5 としても知られる TP 7 は、Turbo Pascal シリーズの頂点であり、その終焉でした。「Turbo」という名前は、ホビイスト向けの製品と見なされていたものに関連付けられていました。「Borland Pascal」は、それとは異なる、はるかに高価な製品でした。しかし、Turbo Pascal はかなりの規模のアプリケーションにも十分対応でき、非常に手頃な価格でした。また、「ブックライセンス」という、ソフトウェア業界では新しいものだったと思います。TP を1つ購入すれば、何人でも使用できましたが、同時に使用できるのは1人だけでした。フロッピーディスクで配布されていた頃でさえ、コピープロテクションはありませんでした。(Turbo) Pascal は最終的に Delphi に取って代わられましたが、Delphi はその技術的なメリットにもかかわらず、同じような影響力を持つことはありませんでした。
私は 90 年代に TP 7 を使用して、当時の優れたオペレーティングシステムであった Windows 3.1 で動作する医療用画像ソフトウェアを開発しました。以前のリリースと同様に、Windows 3.1 は本質的には MSDOS の拡張でしたが、マルチタスク(ある程度)とより多くのメモリをアドレス指定できるようにするための巧妙なトリックが施されていました。ユーザーにとってもプログラマーにとっても、シンプルで一貫したユーザーインターフェースモデルを持っていました。当時、現代の Windows を使用するのをこれほどまでに憂鬱にさせるような、無駄でイライラするアンチ機能は一切ありませんでした。そのため、Windows 3.1 は、私たちがアプリケーションをサポートしたいプラットフォームでした。当時、他に多くの選択肢があったわけではありません。
他の多くのプログラマーと同様に、私も TP 7 を使用するために Pascal プログラミング言語を specifically に学びました。当時は主に C プログラマーでしたが、当時の C で Windows 用のプログラミングを行うのはひどい仕事でした。率直に言って、今日でもほとんど改善されていません。理解不能なテキストファイルをインプットとして受け取る一連のコマンドラインツールを組み合わせる必要がありました。TP 7 は、そのすべての厄介な部分を自動化し、隠蔽しました。
問題はツールだけではありませんでした。ユーザーインターフェースモデルは、本質的にオブジェクト指向でしたが、C 言語ではオブジェクト指向的にプログラミングするのは容易ではありませんでした。TP 5 は Pascal 言語に基本的なオブジェクト指向の概念を導入しており、これらは不可欠であることが証明されました。Windows 固有の機能は、Object Windows Library と呼ばれるものによって提供されました。これは、基本的な Windows C API の周りの、比較的厚いオブジェクト指向のラッパーでした。私の記憶では、Borland は Microsoft よりも先に Microsoft Windows 用のオブジェクト指向プログラミングライブラリを導入しました。そして Borland の方が優れていました。
[画像: Windows 3.1 で動作する Turbo Pascal]
OWL を使用すると、少しのアイキャッチで、見栄えの良いユーザーインターフェースを簡単に作成できました。おなじみの「緑色のチェックボタン」は OWL の拡張機能で、多くの Windows アプリケーションを飾ったため、最終的にはイライラする決まり文句になりました。
全体として、Turbo Pascal 7 を使用して Windows 用にプログラミングすることは、他のどの方法よりもはるかに簡単でした。Windows のユーザーインターフェースが機能する方法に合わせたプログラミングモデルを提供しただけでなく、アプリケーション自体も Windows グラフィカルインターフェースを持っていました。当時の多くの Windows プログラミングツールは、実際には MSDOS で動作し、完全にテキストベースでした。TP 7 には、メニューやアイコンなどのユーザーインターフェース要素を設計するための完全にグラフィカルなツールもありました。Windows Notepad を使用して、曖昧な形式の定義ファイルでメニューをレイアウトするのは、決して心地よい経験ではありませんでした。Microsoft はこの種の操作のためのグラフィカルツールを生成しましたが、Turbo Pascal はそれらをシームレスな IDE に統合しました。プログラムをビルドして実行するために私が行う必要があったのは、F7 キーを押すことだけでした。コードの行をクリックするだけで、デバッガのブレークポイントを設定することさえできました。前述したように、今日では一般的ですが、初期の Windows プログラミングにとっては革命的でした。
しかし、TP 7 を本当に特別なものにしたのは、その CP/M の遺産でした。Turbo Pascal は、CP/M と MSDOS を経由して Windows に登場しました。これは、メモリが限られ、CPU が比較的遅い環境で動作するように設計されたコンパイラコアを持っていたことを意味します。ほとんどのコンパイラがディスク上に中間ファイルのスタックを書き出す必要があった時代に、TP はすべてをメモリ内で構築しました。これは、非常に熟練した人々によってアセンブリ言語で書かれた、高度に最適化されたコードを使用して行われました。今日のディスクストレージは高速で安価なので、コンパイラが一時ファイルの山を吐き出すことはあまり問題になりません。しかし、フロッピーディスクの時代には、ディスクアクセスを最小限に抑える必要がありました。残念ながら、メモリ使用量も最小限に抑える必要がありました。なぜなら、メモリもそれほど多くなかったからです。CP/M のプログラミングには、真のスキルと献身が必要でした。
そのため、TP が 16 ビット CPU と数メガバイトの RAM を搭載した Windows マシンに登場したとき、開発者にとっては早期のクリスマスのようなものでした。32kB の RAM と単一のフロッピーディスクドライブで十分なコンパイラは、数メガバイトとハードディスクを与えられると、まさに飛ぶように動作しました。
これらすべてが、TP 7 が使用するのが喜びであったことを意味しました。それは、現代の IDE のようなものでしたが、ブルート(bloat)は一切ありませんでした。Microsoft のツールで Windows プログラミングに取り組むことを決してしなかった開発者たちは、あまり困難なく MSDOS から Windows に移行することができました。たとえ私のように、最初に Pascal を学ぶ必要があったとしてもです。コンパイルされたコードはかなり高速でしたが、十分な速度が得られない場合は、Pascal ソースファイルに直接アセンブリ言語を記述することもできました。
Turbo Pascal がデスクトップ PC における Microsoft Windows の普及と最終的な支配に貢献したと主張しても、それほど誇張ではないと思います。もし 90 年代初頭に Linux 用の「Turbo Pascal」が存在していたら、私たちは今日、皆デスクトップで Linux を実行していたかもしれません。
では、Turbo Pascal はどうなったのでしょうか?少なくとも 3 つの要因が、その最終的な衰退に寄与しました。
第一に、C プログラミング言語からの競争が増加しました。Borland は Turbo C、後に Turbo C++ を生成しましたが、それらは Pascal ほど影響力がありませんでした。PC が最初の汎用コンピューティングデバイスではなかったことを忘れがちです。ほとんどの科学技術機関や多くの企業は、グラフィカルワークステーションと中央ミニコンピュータを使用していました。デスクトップコンピュータが普及し始める前に、C はこれらの環境ですでに確立されていました。そしてその前にはメインフレームと端末がありましたが、それは Fortran と COBOL が支配する別の世界でした。
初期の頃、CP/M のように、リソースが限られていたため、ほとんどの「本格的な」PC アプリケーションはアセンブリ言語で書かれていました。ミニコンピュータはそれほど制限されていなかったので、コンパイラは 1980 年代でさえより実用的でした。そのため、コンパイラがマイクロコンピュータ開発者の関心を引くようになると、プログラミング言語の選択にほとんど理由はありませんでした。Pascal は PC の標準プログラミング言語になる可能性がありました。それが標準にならなかったのは、産業用および科学用コンピューティングで活動していた多くのソフトウェア企業が PC に機会を見出し、その市場に参入しようとしたことを反映していると思います。これらの企業はすでに C 言語でかなりの経験を持っており、その好みを持ち込みました。そのため、私は Windows 用の開発のために新しいプログラミング言語を学ぶことに満足していましたが、1000 人のスタッフを抱えるソフトウェアビジネスは、その一歩を踏み出したくなかったかもしれません。
第二の要因は、Microsoft の C ツールの魅力が増したことだと思います。Microsoft は最終的に独自の IDE を生成し、もちろん Microsoft は Windows プラットフォームを制御していました。Microsoft の C IDE が Borland の IDE ほど使いやすくなったとは思いませんが、Microsoft の立場を考えると、おそらくそれほど必要ではなかったのでしょう。
第三に、Microsoft の Visual BASIC が小規模でカスタム開発者の間で人気を集め始めました。BASIC は、学習が容易で、別のコンパイルステップを必要としなかったため、すでにマイクロコンピューティングの世界の定番でした。Windows ユーザーインターフェース要素に BASIC コードの断片をアタッチすることは、比較的シンプルで小規模なアプリケーションを生成するための効率的な方法でした。
私は 90 年代に Visual BASIC を嫌悪し、VB6 が 2005 年に最後の息を引き取るまでそれを嫌悪していました。それでも、その人気を否定することはできず、Turbo Pascal に惹かれた多くの人々が、同じような理由で後に Visual BASIC に惹かれたことは確かです。VB は、TP が以前に行ったのと同じ方法で、Windows プログラミングへの参入障壁を下げました。議論の余地がありますが、それは障壁を下げすぎたかもしれませんが、今日はそこには触れません。
Turbo Pascal の初期バージョンは、現在、無料で合法的に入手できます。初期の PC や MSDOS に興味のあるレトロコンピューティング愛好家は、十分に caters されています。しかし、私の知る限り、TP 7 は誰かの知的財産であり続けていますが、それが誰のものかは完全には明らかではありません。おそらく「abandonware」のカテゴリに該当しますが、率直に言って、それほど重要ではありません。現代の Windows システムで動作するコードを生成することはできず、初期の Windows に興味を持っている人はほとんどいません。それほどレトロではないのです。
それが Turbo Pascal です。マイクロコンピューティングの世界の巨人で、ほとんど惜しまれることなく衰退し、消滅しました。それは常にその時代の産物でした。マイクロコンピュータが熟練した開発を報いるのに十分限られていた短い期間に繁栄しましたが、プログラマーのための substantial な市場を創出するのに十分普及していました。市場のニーズを満たすのに十分な高度なスキルを持つプログラマーを見つけるのが困難になり始めた頃には、それは問題ではなくなっていました。コンピュータは、プログラマーとしての私たちの限界を補うのに十分強力になっていました。今日、TP のようなものを実装するスキルを持っている人がほとんどいないことは、私たちが後悔することになるかもしれない、あるいはむしろ、私たちの孫が後悔することになるかもしれないことです。ソフトウェア開発は半熟練産業になりつつあり、AI の台頭がこれを完全に補うとは思いません。
しかし、128Gb の RAM と 5GHz の CPU に接続された、急いで書かれた、肥大化した Java プログラムを燃やすものがあるのに、Turbo Pascal が誰に必要でしょうか?
このページに応答して何か投稿しましたか?
このページを参照しているブログやページの URL を提供して、webmention を送信してください。