2 ポイント 投稿者 GN⁺ 2023-12-02 | 1件のコメント | WhatsAppで共有
  • Borlandが1983年11月に発表したTurbo Pascalは、2023年11月に正式に40周年を迎えた
  • Turbo PascalはBorlandの出発点となった製品であり、業界で広く使われた最初の**統合開発環境(IDE)**と評価されている
  • 当時、開発体験と製品の完成度の面で強い印象を残し、大きな商業的成功につながった
  • Embarcaderoは後継コンパイラ系列の開発を継続しており、Delphi 12 AthensのWin32コマンドラインコンパイラはバージョン36.0を使用している
  • 現在のバージョン番号体系が最初のTurbo Pascalまでつながっているため、今回の40周年はDelphi系列の歴史とも直接結び付いている

1983年11月に始まったTurbo Pascal

  • Turbo PascalはBorlandが1983年11月にリリースした製品である
  • 2023年11月時点で正式に40年となった

BorlandとIDEの歴史における位置付け

  • Turbo Pascalは業界のマイルストーン製品と評価されている
  • Borlandという会社を始動させた製品だった
  • 広く知られた最初のIDEとして言及される
  • 当時の基準では優れた製品であり、成功の規模も非常に大きかった

さらに読む資料とPascalの文脈

Embarcaderoへ続く後継コンパイラ

  • EmbarcaderoはTurbo Pascalの後継コンパイラ系列の開発を継続している
  • 最近、このコンパイラのバージョン36をリリースした
  • Delphi 12 Athensのコマンドラインコンパイラには、Embarcadero Delphi for Win32 compiler version 36.0というバージョン表記がある
  • このバージョン番号36は、最初のTurbo Pascalまでさかのぼる番号体系である

40周年記念のEaster Egg

  • Embarcaderoは今回の40周年を記念し、製品のEaster EggをTurbo Pascalの記念日に捧げた
  • メッセージは「Happy 40th birthday, Turbo Pascal!」で締めくくられている

1件のコメント

 
GN⁺ 2023-12-02
Hacker News のコメント
  • 好きだったコンピューターゲームの一つが、Turbo Pascalで書かれた ZZT だった。Epic Megagames の Tim Sweeney が作った奇妙なテキストモードゲームで、パズルやシューティングなどが混ざっており、無料のシェアウェア版にもゲームエディタが入っていて、ZZT-OOP という小さなプログラミング言語まで含まれていた。
    ZZT の元のソースコードは失われたが、数年後に Adrian Siekierka が元の Pascal コードを粘り強くリバースエンジニアリングし、元の Turbo Pascal バージョンでコンパイルするとバイト単位で同一の実行ファイルが出るようにした。驚くべきことだ。
    https://blog.asie.pl/2020/08/reconstructing-zzt/
    https://news.ycombinator.com/item?id=22609474
    https://benhoyt.com/writings/zzt-in-go/

    • ZZT のために、自分のコンピューターにTurbo Pascalを入れておいた。
    • 私にとっても ZZT は本当に特別なソフトウェアで、プログラミングに本格的に触れるきっかけになった。昔は雑誌の BASIC コードリストを打ち込んだり、学校の BBC Micro でつまらないものを試したりしていたが、初めての PC で ZZT-OOP を使い、欲しいものを一から作りながら学んだ。
    • ZZT は Frog Fractions 2 のオーバーワールドにも影響を与えた。
  • Turbo Pascal が私をプログラミングの世界に入れてくれた。Borland Pascal 7.0、後には Delphi 1.0 と 2.0 のライセンスにドイツマルクを何百マルクも使った記憶があり、結局、お金を取って販売した最初の「商用」ソフトウェアも作ることになった。
    DOS 時代には Basic を除けば、Turbo Pascal がプログラミングに入る最も簡単な道だったと思うし、Windows 3.1/95 での Delphi は、GUI プログラミングがここまで簡単になり得るのだと目を開かせてくれるツールだった。
    多くの面で、あの頃よりむしろ後退したようにも感じる。Turbo Pascal / Delphi コンパイラは、完全な GUI プログラムを小さなバイナリとして生成していたのに、今日の同程度の性能のソフトウェアが、どうして何桁も大きくなっているのか不思議だ。

    • Turbo Pascal の初期バージョンでは、プログラムとソースが RAM に収まりさえすれば、当時のマシンでもコードを変更して結果を見る流れは事実上即時だった。インタラクションも即時性を意識して設計されていて、コンパイルエラーが延々とレポート画面を吐き出すのではなく、エラーの出た行へすぐ移動してくれたと記憶している。
      原因がタイプミスなら、修正して再コンパイルして実行するまで 1 秒で済んだ。最近のツールは、開発者に不要な操作をさらに求める別の哲学を持っていることが多い。
    • 90年代の「フル機能」の GUI プログラムは、今日の基準ではほとんど使いにくいだろう。言い換えれば、今日のフレームワークやプログラムは 90年代半ばのものと同程度の性能ではなく、25年前のアプリを現在のフレームワークバージョンで再コンパイルするだけでも、理論上は Unicode、国際化、アクセシビリティ、ネットワーク対応などが付いてくる。
      例外は SAP で、どういうわけか 90年代 UI のユーザー敵対性と現代プログラムのリソース消費を組み合わせることに成功したようだ。私も BASIC の次に使った言語は Turbo Pascal だった。
    • ああ、マルクとは古いね。英国だけだったのかは分からないが、話すときも書くときも mark という名前を英語に訳さず、いつも Deutschmark と呼んでいた。
    • その実行ファイルには、少なくとも大きな象が一頭抜け落ちていた。つまり Unicode 対応だ。当時の PC の RAM には、おそらく入りもしなかっただろう。
    • Turbo Pascal は、当時の Pascal で一般的だったトップダウンの手続き型プログラミングだけでなく、Breakout デモを通じてオブジェクト指向プログラミングも教えてくれた。
  • TPでいちばん記憶に残っているのは、すべての関数にシンプルで理解しやすいコード例があり、論理的に整理されていて探して使いやすかったこと。だからBASICをかろうじて理解していた十代だったのに、インターネットなしでIDEだけを使ってTurbo Pascalを独学できた
    最近のシステムには、これに近いものさえない場合があまりに多い。当時の単純なx86 DOSベースのシステムという特性のおかげなのか、それとも現代の速い変化のペースやクロスプラットフォーム要件、複雑さのせいで、そういうものを作るのが不可能になったのか気になる

    • Processing(P5) にはこういう機能があった。IDEでテキスト文字列を選択してドキュメント内を検索でき、組み込み関数や定数なら、ソフトウェアと一緒にインストールされた静的HTMLページが開くので、インターネットもサーバーも不要だった。オフラインでもドキュメントを探索できたし、最近の静的サイト生成ではこうした基本的な能力が失われたように感じる
      当時、完全なオフラインドキュメントを備えたクリエイティブコーディングフレームワークはProcessingだけだった、と付け加えたい。たとえばOpenFrameworksは今でも大部分が自動生成された空っぽの殻のようなドキュメントに近い
      私の考えでは、この点がProcessingを教育現場で代替手段より優位にした要素の一つだった。p5.jsがその伝統を完全には引き継がず、ドキュメントを読むにはオンライン接続が必要で、静的Webサイトではなく、開くとJavaScriptでテキストがレンダリングされる方式になったのはかなり残念だった。それでも例を含め、ドキュメント自体は完全だ
      https://processing.org/
      https://p5js.org/
    • それは最近の人たちがドキュメントを書かないからだ。新しい言語はオープンソースであることが多く、ソースを読めという文化があるが、私はそれは間違っていると思う
    • 私も本なしでTurbo Pascalを学んだ。コンピュータに付いてきたBASICの本はあったが、Turbo Pascalはずっと簡単だった。ピクセルを描くのは、ダブルバッファリングされた表示モードを選んで、ただピクセルを描けばよい程度だったし、ジョイスティックポートやマウスの読み取りも、ただ読めばよかった
    • Turbo Cも同じだった。今では例を見つけるには幸運を祈るしかない
    • 私も同じだった。数年間GFA Basicを使ってからTurbo Pascalに触れたが、コードブロックとレコードを含む変数型、関数とプロシージャ、参照まであるBASICのバージョンのように感じられて、大いに役立った。ヘルプドキュメントを読み、ほぼすべてのページにあった非常に明確で有用な例を見るだけでPascalを身につけた
      大学でインターネットを知る数年前で、学習資料に簡単にアクセスする方法はなかった。それ以前にもCを何度か学ぼうとしてうまくいかなかったが、TPを学んでからようやくPascalで学んだ内容をCへ移していけたし、その時もまた別の優れたBorland製品であるC++ Builderの助けを借りた
  • 80年代末に6809Eアセンブリ、構造化BASIC系、バッチ/シェルを経て、初めて学んだ「本物の」プログラミング言語がTurbo Pascalだった。90年代初めにコンピュータサイエンス学科に進んだ時も、1年生の授業をBorland Pascalで教えていたので、その経験はかなり役に立った
    数年後、PascalのバックグラウンドのおかげでDelphiでカスタムアプリを開発する仕事を5年ほどすることになり、その後BorlandでKylixとC++Builder IDEをテストする仕事につながった。良い時代だった
    今でもDelphiが懐かしい。今ではIDEプラグインがないと致命的な欠点と見なされるほど当たり前になっているが、当時は自分の言語で簡単に拡張できるコンポーネントライブラリとコーディング環境という発想が、純粋な魔法のようだった。VCLとIDE自体を触るのは本当に楽しかった
    Borlandがエンタープライズ市場を追い求め、草の根の開発者たちを後回しにし、コミュニティでの採用の成長を事実上殺してしまったのは残念だ。少なくともDelphi 7前後までは、本当に素晴らしい構成だった

    • 私たちの国ではDelphiが圧倒的に最も人気のある開発環境だった。世界の大半がVB 5へ向かう中、私たちはDelphiを使っているという妙な状況だった。外から見ると優れた環境に見えたが、何らかの理由でいくつかの市場でだけ大きく成功したようだった
    • 私も似た道を歩んだが、後には仕事のためにやむなくVisual Basic 5へ移った。それでもGUI開発でDelphiに匹敵するものはまだないと感じる。VCLは天才的だった
  • TPに初めて触れたのは1993年の冬、14歳の時にWarez BBSから違法コピーした時だった。ただ.BASファイルを実行するのとは違い、自分でEXEをコンパイルした時に感じた原初的な力は恍惚とするものだった
    Renegade BBSを改造し、doorプログラムを作り始め、失敗はしたがワーム、トロイの木馬、ウイルスを作ろうともした。この経験が私の人生を変え、今テクノロジー分野にいる道筋を作った。加えて、十代の頃の逸脱的な性向も今では直した。Borlandには大きな借りがある

    • コンパイラやインタプリタのようなものをきちんと理解していなかった十代にとって、TP4で自分でEXEファイルを作れるというのは、超能力を得たような感覚だった。本物のプログラマーになった気がした
      数年後、16歳の時には父の顧客管理のための小さなアプリを開発して実際にお金を受け取り、そのお金の一部で合法的なTP6版を買った。良い時代だった
    • 懐かしい古き良きBBS時代を思い出す。1989年、17歳の時に割り込みベースのシリアルドライバの書き方を学んだ後、Turbo Pascal用のdoorライブラリを作り、シェアウェアとして配布した。90年代半ばにBBS界隈が急速に消えていくまで、かなり広く使われた
    • 私も同じ時代に似た経験をした。逸脱的なもの以外にも、386SXで「性能が重要な」部分にインラインアセンブリを使いながらグラフィックスプログラミングをいじっていた。その経験が、今やっている仕事の基盤を確実に築いてくれた
  • Free Pascal には、今でも元の TP IDE に似たモードがある。ただし彼ら自身も認めているように、コードは腐りつつあり、いまだに元の MS-DOS プラットフォームの古い特殊性に大きく依存している。
    neovim や emacs のようにターミナル上で一般的なエディタとして使えつつ、LSP、tree-sitter パーサ、デバッグアダプタプロトコルのような現代的な IDE 志向の機能と統合される、似たバージョンがないのは残念。SSH/ターミナル接続でリモートのコードを編集するときには、流れを変えられるかもしれない。

    • https://github.com/magiblot/tvision
    • 10年少し前ごろ、Turbo Pascal ファンだった友人が何人か Lazarus に移った。Turbo Pascal と Free Pascal の論理的な後継者のように見えた。個人的には Pascal 言語があまり好きではなかったので、Emacs で C++ を使う方へ移った。
  • Turbo Pascal が競合製品よりどれほど速かったかは、誇張するのが難しい。あまりに速くて、何かごまかしをしているのではないかと思うほどで、生成されたプログラムもより速かった。
    当時としては傑作であり、受けた称賛は十分に当然のものだった。

    • 大学のグラフィックスの授業、それも Jack Bresenham が教える授業で、新しい Borland Turbo C を課題に使ってよいか尋ねた。デモのために急いで再コンパイルしたあと、教室の PC が 80286 ではなかったため、自分のコードが Turbo Pascal v4 で書かれた他の人たちのコードの 3分の1 の速度でしか動かないことが分かった。
      そこで、成熟したコンパイラは 1.0 リリースのコンパイラより優れているのだと学んだ。
    • その通り。当時の遅いプロセッサ上でも、Turbo Pascal コンパイラはコードを本当に疾走するように処理していた。同じことをするプログラムを1つコンパイルするだけでも長く待たされる、今日の複雑なビルドシステムとはかけ離れている。
    • 今でも Pascal は高速にコンパイルされる言語として言及される。Go と Rust の論争でもそういう形で出てくることがある。
      数年前、Windows PC、RAM 512MB の環境で FPC 2.0 系のバージョンをビルドした記憶があるが、5分もかからなかった。
    • その後継である Delphi も今なおそうだ。100万行を少し超える実プロジェクトについての記事があり、動画も含まれていて、コメントでは Win64 のコンパイル時間も扱われている。
      https://www.tmssoftware.com/site/blogold.asp?post=759
    • https://prog21.dadgum.com/47.html
  • 子どものころ、親切なコンピュータ店の店主が、MS-DOS 1.25 が動く PC 半互換機を良い条件で売ってくれた。芝刈りを100回ほどして、子守りをした対価くらいだった。
    その店主は一般的な MS-DOS 用 Turbo Pascal、つまり PC BIOS を前提にしないバージョンを 8インチフロッピーで売っており、それを自分の半互換機が使っていた 160KB の 5.25インチ形式に移してくれた。今感じているのと同じくらい、当時も十分に感謝していたことを願う。あれが自分のキャリアを始めさせてくれた。

    • では聞きたい。その PC 半互換機というのは一体何だったのか?
  • 80年代初頭、Apple ][+ と //e で Apple Pascal、つまり UCSC p-system Pascal ベースの環境を使っていたが、DOS の Turbo Pascal に移った。Turbo Pascal は本当にわくわくするものだった。非常に高速なコンパイラ、良いフィードバック、カラーエディタ、そしてすでに慣れていた WordStar のキーバインドのおかげで、素晴らしい体験だった。
    プログラムが十分に大きくなり、オーバーレイ機能を使わなければならなかったことも覚えている。DOS 上でプログラムの異なる部分を、事実上ページのように読み込ませる機能だった。
    80年代のどこか、おそらく後半に、Borland の優れたエバンジェリストだった David Intersimone に会ったことも覚えている。彼が私たちの大学の地域 ACM 支部に招かれて訪問したときだった。

  • 不思議なことに、Turbo Pascal は私が初めて学んだ高級プログラミング言語で、その環境は Macintosh Plus だった。あとになって、Turbo Pascal は PC 寄りのものだと知った。
    大学時代、学生ローンで初めての Apple コンピュータである Macintosh Plus を買い、たまたま大学新聞の広告欄で Mac 用 Turbo Pascal のコピーを見つけた。ある教授が40ドルほどで売っていたので、すぐに買った。
    幸いマニュアルはあったが、Macintosh の開発ツールは非常に素朴だった。ResEdit はなく、テキストファイルで Macintosh リソースを作ったあと、ツールに通してリソースフォークを生成するよう求める、奇妙な R-Maker アプリがあった。
    最初に作ったいくつかのアプリは、Scientific American の Computer Recreations コラムに載っていたアルゴリズムを Turbo Pascal で実装したものだった。幸い UI はほとんど必要なく、たいていウィンドウ1つとボタン数個で済んだ。
    その後、はるかに Mac 中心の IDE だった THINK Pascal を知ってそちらに移り、さらに後には THINK C に飛び込んだ。
    それでも Turbo Pascal は、いつも愛着のある思い出として残るだろう。荒々しく新しい世界へ入っていく時期に、Turbo Pascal が私に扉を開いてくれたのだ。