試してみると、とても使いやすいと思いますが、大規模なプロジェクトでこのようなツールを使用するのは少し心配です。GUI 構築ツールの使用は制限される可能性があります。
これはどのように「制限的」ですか?また、プロジェクトの規模はどのように影響しますか?
それがコード ジェネレーターであり、そこから出てくるコードを完全には理解していないという意味であれば、私は完全に同意します。コード生成が機能するのは、コードを手書きで書いている場合のみであり、ジェネレーターは単調な作業を省くことでリフトを与えてくれます。その場合、生成されたコードを変更して維持することに完全に自信を持っています。
Eiffel の継承により、コンポーネントの作成が非常に簡単になるため、長期的には、標準のものを使用するグラフィカル オブジェクトの独自の特殊バージョンを使用する方がよい場合があります。
追加する専門分野は何ですか? これは、大規模なクラス階層を永続的に作成、デバッグ、および維持することを意味するため、これを行うことについて慎重に検討します。この手順を実行する前に、専門化が必要であり、コストに見合うだけの価値があり、他の方法では取得できないことを完全に確認してください。決定する前に、コストを定量化する誠実な努力をしてください。
ライブラリ GUI クラスを使用して十分なハンド コーディングを行ったら、独自のコード ジェネレータを作成することに投票します。それは持続可能な解決策です、IMO。
アップデート:
私は大学院プログラムで Eiffel を学び、90 年代半ばにそれが利用可能な最高のオブジェクト指向言語であると判断しました。当時、C++ は卓越したものでしたが、複雑であると考えられていました。Java は Sun の研究室から抜け出すことができず、C# は Anders の目にはちらつきさえありませんでした。この施設の教員は、契約による設計と、それが意味する学問的厳格さの極致に夢中になりました。
Meyers の「Object Oriented Software Contruction」を読みました。第 1 版では DbC が紹介され、マイヤーズはオブジェクト指向の世界のスターになりました。私の意見では、第 2 版は彼の上昇に終止符を打った肥大化したものでした。
正直なところ、雇用主のためにこの大規模なシステムを作成している場合は、Eiffel をやめて、彼らとあなたのために、より主流の言語に切り替えることをお勧めします。Windows プラットフォームを使用している場合は、C# が適しています。異機種混合環境を使用している場合、または Microsoft スタックを購入する余裕がない場合は、Java を使用してください。
SO には、Eiffel に関する 4 つのタグ付きの質問がすべて含まれています。ボリュームが何かを物語っていると思います。人気が常に品質の最良の指標であるとは限らないというのは正しいかもしれません。ベータ版は VHS よりも優れた技術的解決策だったと言われていますが、実際のところ、ベータ版は市場で失われ、今日ではどこにも見つかりません。エッフェルと同じ。私があなただったら、私はそれを落とします。
更新 2:
非常に良かったです。最初の投稿からは、他の言語での経験がどのようなものであったかわかりませんでした。
「高い品質への期待」は、Eiffel が他の言語では真似できない方法で言語レベルで品質をサポートすると信じていることを意味します。私はそれに同意しません。コードの品質は、言語そのものよりも、開発者のスキルと実践に関係しています。
契約による設計は完全に売られすぎです、IMO。パフォーマンスに影響を与えるため、本番環境ではオフになっていることが多いと読んだことがあります。もしそうなら、Eiffel が品質にどのように貢献すると思いますか?
あなたがこのアプリケーションを作成しているクライアントが、Eiffel を使用するという決定がもたらす結果を完全に理解していることを確認したいと思います: それを維持する開発者の限られたプール、死んだ言語の使用によって疎外されたスタッフなど.主観的な希望で過剰販売しないように注意してください。