David IからDelphi 27歳バースディに向けて、ブログ記事が寄せられました。この投稿は、David Iのブログ記事「Happy 27th Birthday Delphi and a Few Thoughts about Building the Future」の抄訳です。
Table of Contents
私にとっての最初のPascal言語、Turbo PascalとDelphiの経験
私が最初のPascalプログラムを書いたのは、1972年。CalPoly San Luis Obispoで、コンピュータサイエンスの学生だったときです。そのときから、Pascalが何らかのかたちで、私の将来のキャリアの一部になるであろうと思っていました。そして1983年、Comdex Las Vegasで、Philippe Kahnと出会ったのです。彼が、私たちのSoftsel Computer Products(現在のMerisel)ブースに立ち寄ったときでした。当時、私はこのソフトウェアディストリビューター向けの評価、サポート、トレーニングを行っていました。
私たちは、プログラミングについて少し語り合ったのち、PhillippeはTurbo Pascal v1が収録された CPM / 80用の8インチフロッピーディスクと、PCDos用の5.25インチディスクを私てくれました。PCDosバージョンをPCに入れ、小さなプログラムを作成し、コンパイル/実行してみました。そのとき、これが特別な開発者ツールだということが分かったのです。その後私は、光栄なことに1985年6月にスコッツバレーにあるボーランドに加わることとなりました。そこでは、開発ツールにフォーカスしデベロッパーリレーションを中心に31年間を過ごしてきました。
プログラミング技術の成長と現在のDelphiの進化の場に立ち会うことができたのは、とても幸運でした。他の言語を使っているプログラマーにDelphiのことを説明しようとしても、1つの言語、コンパイラ、ツール、IDE、コンポーネント、ライブラリ、フレームワークによって、最先端のデスクトップ、モバイル、サーバー、クラウド、サービスなど、さまざまな種類のアプリケーションを構築できると言っても信じてもらえません。
サンフランシスコで開催されたSoftware Development Conferenceで、Delphiファーストバージョンを発表したとき、私たちボーランドブースは、熱狂した開発者であふれかえっていました(冒頭の写真を参照)。そのバレンタインデーの夜に、私たちのチームは、満員のホールでDelphiをお披露目したのです。この時の発表資料は、こちらのページから参照できます(残念ながら当時の熱狂までは伝わりませんが)。また、オリジナルのDelphi 1用の発表スクリプトとプロジェクトファイルもダウンロードできます。
現在のDelphi
私はセミリタイアしたソフトウェアエンジニアで、開発者をいつも応援し続けています。そんな中でも毎日、DelphiとC++Builderを使用してコードを読んだり書いたりを続けています。初めてのPascalプログラムから50年。活発なDelphi開発者コミュニティに参加できることを本当に光栄に思います。Delphi開発者たちが構築するソフトウェア、そしてソフトウェア開発の領域を広げていくさまには、本当に驚かされます。Delphi、それは、オリジナルのPascal言語+モダンな言語拡張+オブジェクト+コンポーネント+インターフェイス+ライブラリ+フレームワーク+マルチプラットフォーム向けコンパイラ+拡張可能なIDE+ツールとコンポーネントのエコシステムと世界の開発者コミュニティなどなど、と言うことができます。
Delphiはどのようにして将来を切り開き、世界をよりよくしていくサポートを継続することができるのか。いくつかの簡単な観察が可能です。エンバカデロとアイデラが提供するすべてのツールを活用し、Delphiの新機能を(それぞれのユースケースを加えて)提案し、Quality Centralにすべてのバグを報告し、毎日いくつかのプログラムコードを記述し、新しい種類のアプリケーションの構築を試みます。さらに、新しいコンポーネントを調査し、新しいAPIを確認して、他のプログラミング言語、IDE、プラットフォームで何が起こっているかを学びます。そこにこそ課題があります。人々を引き離すのではなく、人々を結び付けるアプリケーションの構築を考えてください。
活用すべきツールの宝庫
Delphi開発者は、企業や顧客向けのソリューションを構築するのに役立つ広範なツールを利用できます。エンバカデロとアイデラは、コンパイラ、IDE、コンポーネント、ライブラリだけでなく、より迅速かつ高品質に開発を行うために活用できるツールを提供しています。以下のリンクから、ぜひ活用可能なツールをご確認ください。
私がこれまでに作成した最悪のDelphiプログラムと最高のプログラム
私がこれまでに書いたDelphiデモで最悪だったのは、マイクロソフトキャンパスで行われたMicrosoft Windows 95発表イベント用のもので、飛行機内で作成したスレッドベースのソートプログラムでした。シアトルへのフライト中、Win95の32ビットOSやその他の機能を活用したDelphi 2のデモがないことに気づきました。そのため、機内で、32ビットVCLアプリケーションを一緒にハッキングするはめになったのです。
私がこれまでに作成した最高のDelphiプログラム。それは、まだ作成していないプログラムですね。
出荷されなかったDelphiバージョン
Delphi for Java。1998年8月にデンバーで開催されたBorCon(Inprise)で、DelphiのチーフアーキテクトChuck Jazdzewskiによってデモが行われました。テクノロジーキーノートで、エンタープライズアプリケーションの開発を紹介する中、Chuckは、Java仮想マシンで実行されるサーバーサイドのDelphiプログラムを作成するデモを、Delphi for Javaバイトコードコンパイラで行いました。
はやく手に入れたいDelphiバージョン
来年あたりに手に入れたいDelphiバージョンは、Raspberry PIとLinuxがターゲットとなるDelphi for ARMです。Allen Bauerは、2012年にRaspberry PIで実行されるARMコードを生成するDelphiコンパイラのデモを行っています。Delphiには、すでにiOS、Android、macOS用のARMチップ用のコンパイラと、実績のあるコンポーネント/ランタイムライブラリが搭載されています。Delphiは、IntelベースのLinux 64ビットプラットフォームもサポートしています。もちろん、コンパイラ、フレームワーク、ランタイムライブラリは、移植とテストに多くの時間を要します。もし早期ベータテスターの招待状を受け取ったら、絶対すぐにサインしますよ。
2031年2月14日のDelphi36歳バースディに向けて🙂
Delphi 36歳バースディをお祝いするとき、私は80歳になります。きっと、そのとき、ソフトウェア開発の世界を研ぎ澄まし続けるDelphiのイノベーションのすべてに驚嘆していることでしょう。Delphi 27歳バースディ以降に起こるであろういくつかの成果を見ていきたいと思います。
子供たちが、就学前のソフトウェア開発キャンプや教室で、Delphiアプリケーションの構築を開始します。彼らはここから多くの収益を上げ、ここから学校や大学の費用が支払われ、16歳になる前に独自のソフトウェア会社を起業します。
Delphi言語はマルチパラダイムをサポートし、命令型、構造化、手続き型、オブジェクト指向、スクリプト、関数型、宣言型、制約、ロジック、イベント駆動型、フロー駆動型、配列およびアスペクト指向などの機能をサポートします。Delphiには、 GPU、FGPA、ASIC、CPLD、およびQuantumを用いたハイパフォーマンスコンピューティングをサポートする言語拡張機能が搭載されています。
Delphiのデータ型拡張機能とFireDACのコンポーネントの組み合わせにより、世界のオープンデータバンク(すべてを統治する単一のグローバルデータストア)への高速接続と処理が可能になります。FireDACは、開発者がデータ中心型のAIをアプリケーションに追加可能にするコンポーネントも提供します。この点については、Andrew Ngのスライド「MLOps: From Model-centric to Data-centric AI」をご覧ください。
ソリューションの開発に、プロジェクト、プロジェクトグループ、ソースファイル、フォーム、過去の開発で作成したその他のデジタルアーティファクトはもはや不要です。すべてのチームメンバーは、グローバルな開発ウェアハウスに格納されているさまざまな機能やリソースに同時アクセス可能です。
チーム統合/コミュニケーション機能は、会社のビジネスに関わるすべての人が利用できます。設計、プロトタイピング、コーディング(従来型、ローコード、ノーコード、自動生成のいずれも可)、即時リファクタリング、システム統合、継続的ビルド、自動テスト、インテリジェントデバッグ、完全なドキュメント化、ターゲットへの展開が、ソフトウェアに対する変更が加えられ機能が追加されたびに、リアルタイムで実行されるようになります。
Delphiの128ビットIDEは、デスクトップ、スマートフォン、音声、その他のデバイス(自動運転の自動車からも)利用できるようになります。IDEには強化されたOpen Tools APIが搭載され、Python、R、Rust、Go、およびその他の「人気のある」新しいプログラミング言語やパラダイムに対応した構築済の言語プラグインを使用できます。IDEは、サンドボックスもサポートしており、コンポーネントとプラグインがIDEをダウンさせないようにできます。検出された新しいプラットフォームとデバイスのサポートを自動的に追加するSmart SDKと接続マネージャー、Delphiと開発したアプリ向けのインテリジェントパッチマネージャーも搭載されます。
開発者は、デスクトップ、モバイル、ブラウザ、プラットフォーム、データベース、クラウド、サービス、組み込み、ウェアラブル、埋め込み可能、ゼロトラストセキュア、オートノマス、ココンピューテーショナルエンバシー、クリエイティブアーツ、メタバース、人工知能、ヒューマンオーグメンテーションといった、幅広いアプリケーション種別とテクノロジー向けのソリューションを構築できます。
そして開発者は、Delphi IDEの多言語ハイパーWikiを使用して、ソースコード、情報、アルゴリズム、コンポーネント、ヒント、チュートリアル、スキル、Q&A、ウィザード、アップデート、データソース、サービスインターフェイス、ビデオなどを検索できます。開発者がプロトタイプ作成から開発、そして展開に移行するとき、デジタル資産の所有者に報酬が支払われるよう、グローバルな支払いシステムが用意されます。
未来が向かうところ
将来ついて、またソフトウェア開発が世界にどのような影響を与えるか分からないときはいつでも、カリフォルニア州サンノゼで開催されたACM OOPSLA 1996カンファレンスでChristopher Alexanderが行ったキーノートスピーチを思い出します。彼はスピーチの最後を、次のように彼の考えを述べて締めくくりました。
朝食のとき、この部屋の中に、この仕事について不安に思っている人がいるという噂を聞きました。真偽は分かりませんが、これらはすべて、ソフトウェア設計の行く末に不安の底流があると言われました。アートとしてのプログラミングという肥大化する現象はありますが、それも向かう先が不安ですし、何を指向しているのでしょう。
私のコメントですが、率直な物言いをお許しください。私は、みなさんがプログラミングという技術を「雇ってもらうための武器」であることを、甘んじて受け入れているように思えます。つまり、皆さんは技術者であり、プログラムを機能させる方法を理解しています。「お父さん、どうしたらいいの?そのとおりにやるよ」というのが、皆さんの現在の立ち位置です。
ここで私が提案したいのは、これとは少し違うものです。それは、プログラミングというものを、私たちが生活する実世界の汎用的なインフラとして、作成、管理、利用可能なものと捉える視点です。それは、私たちの町、家、職場、都市の生活構造を実現可能なものにしてくれるものです。これは注目に値することです。世界をよりよくし、社会全体で生活構造を標準化し、世界を生きる価値のあるものに再生してくれるのです。
これは突き抜けた将来のビジョンでしょう。コンピューターが世界、その中でも実世界に生きる人々、人道的にもエコの面でも、生活構造に深く根差した構造において基本的な役割を果たすのです。私の結論に驚かれるかもしれません。でも、これは私自身のことではなく、皆さんについての話なのです。皆さんは、「すばらしいアイデアですが、私たちには関係ないですね」というかもしれません。でも、そういうリアクションではないことを願います。将来を担う偉大なメンバーとして、この世界レベルで進むチャレンジに加わり、皆さんが私も自分自身も助けるべく奮闘していただけることを願っています。皆さんにはそれが可能です。そして、皆さんこそが、この仕事に従事すべき能力、機会を有していることは疑いありません。
Happy 27th Birthday Delphi !!!
Delphiを使えば、時間を節約することができます。時間は貴重です。そして、生涯学習を続けることは幸せな旅に違いありません。ぜひ、Delphi、そして家族、友人との楽しい時間を過ごしてください。
David I
2022年2月14日
米国オレゴン州アッシュランド