私は非常に本格的な 4D の仕事をしていました。私が書いたシステムの 1 つは、約 16 年経った今でもエンタープライズ システムとして使用されています。彼らが言語の新しいオブジェクト指向バージョンを発表するのに何年もかかっていたので、私はイライラしました。私はサードパーティのテーブル コントロールを使用するために何千行ものコードを書いていました。
4D は、独自のサーバーを使用して、クロスプラットフォームの非常に高性能なクライアント サーバー システムを提供します。データベース モデルは、SQL よりもはるかにセット指向であり、セットをコア言語に引き込みます。すべてのプロシージャをローカルにキャッシュされ、古くなったときにオンデマンドで更新されるネイティブ コードにコンパイルするため、コードをクライアントに配信するのに優れた仕事をします。
言語と GUI 環境には癖がありますが、その裏返しとして、それをレガシー プラットフォームとしてサポートすることで、おそらく十分な生計を立てることができるでしょう。他の誰かにツールのタブを取り上げてもらうことができれば、コンサルティング ツールボックスに追加するのに役立つかもしれません。長い歴史を持つユニークな製品のために、どれだけのビジネス固有のコードが存在するかを考慮する必要があります。
私が非常に尊敬しているエンジニアが、最近 4D に採用されました。この種の人物を採用するという、将来へのコミットメントについて多くを語っています。
私は最近、古い Mac のものから WPF への移植を行っており、Visual Studio のほとんど使用されていない複雑さと古い Mac ツールとの対比は、4D を思い出させました。また、OOFILE C++ データベースとレポート フレームワークを REALbasic に移植しています。OOFILE のセット指向の操作は、私が 4D で好きだったものから直接得たものであり、これもまた、元々この回答では厳しすぎると思いました。
4D について覚えておくべきことは、最初から (数学者によって書かれた) セット指向であり、SQL よりもはるかに使いやすいということです。4D Server の展開モデルは、デスクトップ アプリとネットワーク プロビジョニングの優れた組み合わせです。コンパイルされたコンポーネントはサーバーにキャッシュされ、必要に応じてクライアントに自動的に送信されます。シャットダウンしたり、アップデートを積極的にプッシュまたは展開したりする必要はありません。4D の GUI モデルはイライラさせられましたが、今日このサイトを見ると、私が何年も前にサードパーティのソリューションを使用しなければならなかった問題のほとんどが解決されています。