デルフィの思考
栄光の秋 2002
Delphi は、最もよく知られた RAD (Rapid application Development) 製品です。
Delphi 3.0 は、Delphi シリーズの画期的なバージョンです。成熟して安定した Delphi 5.0 は、エンタープライズ レベルの開発ツールとしての Delphi の主導的地位をさらに強化します。
Delphi 4.0 は私の記憶の中で最悪のバージョンです。このパッチを適用すると、プログラムは正常にコンパイルできなくなります。そのパッチを適用すると、プログラムは正常にコンパイルできなくなります。もちろん、プログラムが十分に大きく複雑でない限り、Delphi に明らかなバグは存在しません。
エンタープライズ ソフトウェア開発者にとって、Delphi の MIDAS テクノロジーは画期的な意味を持ちます。その影は今でも Microsoft .NET に見ることができます。
Delphi の Active Form は、目を見張るようなテクノロジーです。その利点は、特別な Web 知識がなくても、既存の Windows プロジェクトを簡単に Active Forms にパッケージ化できることです。ブラウザに表示するには、数行のコードを追加するだけです。 IE を導入すると、クライアントの保守コストが不要になります。表現力もaspよりもはるかに豊かです。しかし、これには致命的な欠陥もあります。それは、大きすぎるため、高速 LAN での実行にのみ適しているということです。
電力システムで広く使用されている金融ソフトウェアでは、このテクノロジーが使用されています。最高のテクノロジーというものはありません。このような場所での使用に最適なのは、Delphi の Active Form テクノロジーだけです。
このテクノロジーを広域ネットワークや低速 LAN で使用するのは悪夢です。
Object Pascal は、私が愛する最もエレガントな言語の 1 つです。これは伝統的でありながら現代的であり、シンプルかつ明確でありながら強力であり、コードは読みやすく、Visual Basic プログラムほど退屈ではありません。さらに、C++ と同様に、複数のプログラミング スタイルもサポートしています。
3 年前、データベース関連のソフトウェアを開発していて、スクリプト言語や専用の開発ツール (Oracle の Developer 2000 など) を使用したくない場合は、真のオブジェクトによって駆動される開発ツールを使用したいと考えていました。指向の言語の場合は、Delphi が最適です。
Delphi の設計者は、ほとんどのソフトウェアがデータベースを処理する必要があることに気づいたので、データベース関連の開発機能の強力なサポートを追加しました。この決定は非常に賢明です。 Delphi の大成功につながったのは、データベース開発に対するこの強力なサポートです。
Delphi のデータベースに対する強力なサポートは、一部の特殊なデータベース開発ツールに匹敵するか、それを超えています。しかし、素人の中には、Delphi が単なるデータベース開発ツールであると誤解する人もいます。
数年前、南京市新街口の新華書店に目立つように置かれた本があったことを今でも覚えています。「リレーショナル データベース: デルフィ」というとても面白い名前でした (正確には思い出せませんが、ほぼ同じです)。 )。
ボーランドは IDE (統合開発環境) の機能開発に過度に注意を払っていたようで、Object Pascal に登場するはずだった言語機能の一部が C# に組み込まれた可能性があります。理由は言うまでもありません。
Delphi は、一部の COM 関連 API など、すべての Windows API をラップしているわけではありません。これが、私が Delphi を諦めた理由の 1 つです。
RAD 開発環境は、エンタープライズ レベルのプロジェクト ソフトウェア開発に不可欠です。 RADはソフトウェア開発の敷居を下げ、またRADは中途半端なプログラマーを大量に「生み出し」た。 RAD ツールに対する誤解や偏見は、こうした中途半端なプログラマに起因しているのではないかと思います。
Delphi の最新バージョンには、常に最新のテクノロジーが組み込まれています。これらのテクノロジーは Microsoft の単なるコンセプトである場合もありますが、Borland はそれを製品にしました。しかし、Delphi の最新テクノロジーは、過渡的なテクノロジーとしかみなされない場合があります。
Delphi 6.0 では、データ アクセス、Web、および XML が大幅に改善され、サポートされていますが、私の意見では、Delphi 6.0 は単なる過渡的なバージョンです。
Delphi の BDE (Borland Database Engine) データ アクセス テクノロジは、ODBC データ ソースと攻撃 ODBC を完全にサポートします。このテクノロジは、Delphi 3.0 で頂点に達します。 Delphi の MIDAS テクノロジーは n 層データ アクセス テクノロジーを提供しますが、依然として BDE 上に構築されています。 Delphi 5.0 は ADO を完全にサポートしており、BDE を放棄する予定です。 Delphi 6.0 の dbExPRess および DataSnap テクノロジーは、ボーランドのデータ アクセス テクノロジーにおける継続的な革新のもう 1 つの例です。
しかし、BDE が全盛期を迎えたときでも、また今日のデータベース アクセス テクノロジが非常に多くなったときでも、ODBC の地位は依然としてかけがえのないものです。データベース固有の API (Oracle の OO4O など) への直接呼び出しを除いて、ODBC API の効率に達する、またはそれに近いデータ アクセス テクノロジはありません。
Microsoft は Windows プラットフォームの事実上の標準であり、レガシー コードの力は多くの場合、誰の想像も超えています。
VCL (Visual Component Library) コントロールと ActiveX コントロールはまったく別のものです。 ActiveX コントロールは、言語間でのバイナリの再利用を目的としていますが、VCL コントロールは、Borland 開発環境内でのコンポーネントの再利用を目的としています。これは、実際には、MFC などの C++ クラスの再利用に似ています。クラス) クラスの再利用。
VCL コントロールに慣れているプログラマは、ActiveX コントロールを個別に公開して登録しなければならないことにうんざりしています。ActiveX コントロールに慣れているプログラマは、Delphi がすべてを大きなファイルにコンパイルすることに面白さを感じます。
Delphi のランタイム BPL (Borland パッケージ ライブラリ) は、実際には特別な DLL であり、Borland 形式の DLL と考えることができます。プログラムのサイズを削減したい場合、同じ BPL を使用して複数のプログラムを同時にリリースしたい場合、ランタイム BPL を使用すると、その希望を実現できます。
Delphi では、自動バージョン増加機能が便利にサポートされているため、Delphi プログラマは、Visual C++ でバージョン番号を手動で変更する必要があることに違和感を感じています。ここから、RAD と非 RAD の違いがわかります。
Delphi モードは C++Builder へのクローン化に成功しましたが、これまでのところ、C++Builder のテクノロジは、Delphi の最新バージョンのテクノロジよりもまだ多かれ少なかれ遅れています。この状況ができるだけ早く解決されることを願っています。改善される可能性があります。
Delphi と C++Builder は同じバックエンドを使用しますが、Borland は最初から 2 つの言語を Studio などの統合開発環境に統合しなかったため、同じスタイル (さらには機能) の IDE サポート言語を実現しました。さまざまなフレーバーがプロモーションのセールスポイントとして使用されていることに私は困惑しています。これは不適切な決定か、あるいはボーランドに十分なリソースが不足していることを示唆しているのではないかと思います。
エンタープライズ ソフトウェア開発に従事し、C++ に夢中になっているプログラマーにとって、C++Builder は間違いなくお気に入りです :)
Delphi プログラマで C# に精通していれば、C# が C/C++ スタイルの構文を採用していることに加えて、C# は Java のクローンであると多くの人が言うという事実とは別に、C# が進化していることを理解するでしょう。 Delphi からのもので、多数の言語設計のアイデアを活用しています。
Anders Hejlsberg が C# 言語を設計したとき、最初に直感的に Java ではなく Object Pascal を思い浮かべたと思います。 C# の単一実装とマルチインターフェイス継承のオブジェクト指向実装を見てください。try/catch/finally 例外処理構造を見てください (これらはすべて Java から来ていると言う人も多いと思います)。これは Visual Basic から来ていると言う人もいるでしょう); override キーワードを見てください...そもそも、これらすべては Object Pascal から来ているとほぼ結論付けることができます。
言うまでもなく、Delphi は .NET をサポートする必要があります。
.NET プラットフォーム開発ツールの分野では、現在 Microsoft Visual Studio .NET と競合できるのは Delphi だけです。
Windows プラットフォームには、Microsoft を嫌う人が常にいますが、これらの人のほとんどは依然として .NET への移行を望んでおり、Delphi .NET は理想的な代替手段です。
Delphi .NET はエキサイティングです。