OOPは、非OOP手続き型プログラミングとは対照的に、ソフトウェアの複雑さを管理する効果的な戦略と見なされることがよくあります。
この概念をテストする研究はありますか?OOPが大規模なプロジェクトの複雑さを管理するのに役立つことがしばしば証明されていますか?
OOPは、非OOP手続き型プログラミングとは対照的に、ソフトウェアの複雑さを管理する効果的な戦略と見なされることがよくあります。
この概念をテストする研究はありますか?OOPが大規模なプロジェクトの複雑さを管理するのに役立つことがしばしば証明されていますか?
回答:
私は、定量化可能な測定値に関する研究を知りません。他の人があなたの質問へのコメントで言及したように、それを達成することは実際上不可能です。しかし、それに答えようとする幾分哲学的な論文があります。
そのトピックに関する私のお気に入りの論文は、Ben MoseleyとPeter MarksによるOut of the Tar Pitです。複雑なシステム設計についての立派な情報源から非常に興味深い結果まで、さまざまな記述があります。
Tar Pitから、関数プログラミングは実際に彼らが提案しているソリューションをサポートするための最良のパラダイムであると結論付けています。私の経験では、複雑なOOPシステムは時間の経過とともに手続き型に非常に近くなり、手続き型はOOPのように見え始めます(構文やその他の属性はありませんが、実行フローはかなり似ているかもしれません)。本当の違いは、異なるパラダイムによって、またはそれをOOPと組み合わせることによってもたらされます。現時点では、このようなパラダイムは関数型プログラミングであり、一般的なプログラマーが最終的に一般的なビジネスアプリケーションで使用できるようになっています(まだそこに到達しています)。
ええ、いくつかの研究がありました。1つです:http : //www.csm.ornl.gov/~v8q/Homepage/Papers%20Old/spetep-%20printable.pdf
基本的に、手続き型コードの生産性とオブジェクト指向言語の生産性の間に測定可能な違いはないと結論付けられます。 。