1724512344
2024-08-24 11:40:17
ボーランドの ターボパスカル は、史上最も成功したプログラミング ツールの 1 つでした。統合ソース レベルのデバッグなど、今では当たり前の技術ですが、当時としては革新的な開発手法を導入しました。
TP 7、別名 Windows 用 Turbo Pascal 1.5は、Turbo Pascal シリーズの頂点であり、その終焉でもありました。「Turbo」という名前は、趣味の製品とみなされていたものに関連付けられていました。「Borland Pascal」は別の、はるかに高価な製品でした。しかし、Turbo Pascal は、かなり本格的なアプリケーションには十分であり、非常に手頃な価格でした。また、ソフトウェア業界では新しいことだったと思いますが、「ブック ライセンス」でした。TP のコピーを 1 つ購入すれば、何人もの人が使用できましたが、一度に 1 人だけです。フロッピー ディスクで配布されたときでさえ、コピー プロテクトはありませんでした。(Turbo) Pascal は最終的に Delphi に取って代わられましたが、技術的なメリットがあったにもかかわらず、同じ影響力を持つことはありませんでした。
私は 90 年代に TP 7 を使用して、当時は優れたオペレーティング システムだった Windows 3.1 で動作する医療用画像処理ソフトウェアを作成しました。以前のリリースと同様に、Windows 3.1 は本質的には MSDOS の拡張機能でしたが、巧妙なトリックによって (ある程度) マルチタスクが可能になり、より多くのメモリを処理できるようになりました。ユーザーとプログラマーの両方にとって、シンプルで一貫性のあるユーザー インターフェイス モデルでした。当時は、現代の Windows の使いにくさの原因となっている無駄でイライラするアンチ機能はありませんでした。そのため、Windows 3.1 は、私たち全員がアプリケーションでサポートすることを望んでいたプラットフォームでした。当時は代替手段があまりなかったのですが。
他の多くのプログラマーと同様に、私は TP 7 を使用するために Pascal プログラミング言語を学びました。当時は基本的に C プログラマーでしたが、C で Windows 用のプログラミングをするのは大変な作業でした。率直に言って、現在もほとんど改善されていません。理解不能なテキスト ファイルを入力として受け取る一連のコマンド ライン ツールを組み合わせる必要がありましたし、今も必要です。TP 7 は、その厄介な作業をすべて自動化し、隠蔽しました。
問題はツールだけではありませんでした。ユーザーインターフェイスモデルは本質的にオブジェクト指向でしたが、Cではオブジェクト指向のプログラミングは容易ではありませんでした。TP 5はPascal言語に基本的なオブジェクト指向の概念を導入し、それが不可欠であることが証明されました。Windows固有の機能は、と呼ばれるものによって提供されました。 オブジェクトウィンドウライブラリ: 基本的な Windows C API を囲む比較的厚いオブジェクト指向のラッパー。私の記憶では、Borland は Microsoft より先に Microsoft Windows 用のオブジェクト指向プログラミング ライブラリを導入しており、Borland のものの方が優れていました。

OWL により、見た目の美しい、見た目に美しいユーザー インターフェイスを簡単に作成できるようになりました。おなじみの「緑のチェック ボタン」は OWL の機能強化であり、多くの Windows アプリケーションで使用され、最終的には煩わしい決まり文句となりました。
全体として、それは 多くの Turbo Pascal 7 を使用すると、他のどのツールよりも Windows 向けのプログラミングが簡単になりました。Windows ユーザー インターフェイスの動作方法に一致するプログラミング モデルを提供しただけでなく、アプリケーション自体に Windows のグラフィカル インターフェイスがありました。当時の多くの Windows プログラミング ツールは実際には MSDOS で実行され、完全にテキスト ベースでした。TP 7 には、メニューやアイコンなどのユーザー インターフェイス要素を設計するための完全なグラフィカル ツールもありました。Windows のメモ帳を使用して、わかりにくい形式の定義ファイルを使用してメニューをレイアウトすることは、決して快適な体験ではありませんでした。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 マシンに登場したとき、開発者にとってはクリスマスが早まったような気分でした。32 KB の RAM と 1 台のフロッピー ドライブで十分になるように設計されたコンパイラは、メガバイトとハード ディスクが与えられれば間違いなく動作します。
これらすべてが、TP 7 が使い心地のよいものであることを意味しています。TP 7 は、現代の IDE のようでしたが、余分な機能は一切ありませんでした。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 が支配していた別の世界でした。
初期の「本格的な」PC アプリケーションのほとんどは、CP/M と同様にアセンブリ言語で書かれていました。リソースが少なかったため、この方法を採用せざるを得ませんでした。ミニコンピュータにはそれほど制限がなかったため、1980 年代でもコンパイラの方が実用的でした。そのため、コンパイラがマイクロコンピュータ開発者の関心を集め始めたとき、あるプログラミング言語を他の言語よりも優先する理由はほとんどありませんでした。Pascal できた 今では、C は PC の標準プログラミング言語になっています。それが実現しなかったのは、産業用および科学計算分野で活躍していた多くのソフトウェア会社が PC にチャンスを見出し、その市場に参入しようとしたという事実を反映していると思います。これらの会社はすでに C でかなりの経験を積んでおり、自分たちの好みも持ち込んでいました。そのため、Windows 向けに開発するために新しいプログラミング言語を学ぶのは私にとっては嬉しかったのですが、1,000 人のスタッフを抱えるソフトウェア企業であれば、そのステップを踏み出そうとはしなかったかもしれません。
2つ目の要因は、マイクロソフトのCツールの受け入れやすさが高まったことだと思います。マイクロソフトは最終的に独自のIDEを開発し、もちろんWindowsプラットフォームもマイクロソフトがコントロールしました。マイクロソフトのC IDEは これまで Borland と同じくらい使いやすくなりましたが、Microsoft の立場を考えると、そうする必要はなかったでしょう。
3 番目に、Microsoft の Visual BASIC が小規模で特注の開発者を惹きつけ始めました。BASIC は習得が容易で、別のコンパイル手順を必要としないため、すでにマイクロコンピューティングの世界では定番でした。Windows ユーザー インターフェイス要素に BASIC コードの一部を添付することは、比較的シンプルで小規模なアプリケーションを作成するための効率的な方法でした。
私は 90 年代に Visual BASIC を嫌っていましたが、2005 年に VB6 が息をひそめながら最後の息を引き取るまで、嫌い続けました。それでも、その人気を否定することはできませんし、Turbo Pascal に惹かれたのと同じ人々が、ほぼ同じ理由で後に Visual BASIC に惹かれたと確信しています。VB は、TP が以前行ったのと同じように、Windows プログラミングへの参入障壁を下げました。おそらく下げすぎたのでしょうが、今日はそれについては触れないことにします。
Turbo Pascal の初期バージョンは、現在、無料で合法的に入手できます。初期の PC や MSDOS に関心を持つレトロコンピューティング愛好家には、十分な対応がされています。ただし、私が知る限り、TP 7 は誰かの知的財産のままですが、それが誰のものかは完全には明らかではありません。おそらく「放棄されたソフトウェア」のカテゴリに入るでしょうが、率直に言って、それほど重要ではありません。最新の Windows システムで動作するコードを生成することはできませんし、初期の Windows に関心を持つ人はほとんどいません。レトロ感が足りないのです。
これが Turbo Pascal です。マイクロコンピューティング界の巨人でしたが、ほとんど惜しまれることなく衰退し、消滅しました。常に時代の産物でした。マイクロコンピュータが熟練した開発者に報いるほど限定的であった短い期間に繁栄しましたが、プログラマーの大きな市場を生み出すほど普及していました。市場のニーズを満たすのに十分な熟練プログラマーを見つけることが困難になり始めた頃には、それは問題ではありませんでした。コンピュータはプログラマーとしての私たちの限界を補うほど強力になっていました。今日、TP のようなものを実装するスキルを持つ人がほとんどいないことは、私たちが最終的に後悔することになるでしょう。いや、むしろ私たちの孫の世代が後悔するかもしれません。ソフトウェア開発は半熟練産業になりつつあり、AI の台頭がこれを完全に補うとは思えません。
しかし、5GHz の CPU に 128Gb の RAM が接続されていて、急いで作成された肥大化した Java プログラムを実行するのに Turbo Pascal が必要な人がいるでしょうか?
#ケビンブーン #もうこんなものは作られていない #Borland #Turbo #Pascal