[解決済み] オブジェクト指向プログラミングに代わるものは?
質問
OOP は今日のソフトウェア設計において、おそらく最もよく使われているプログラミングパラダイムでしょう。私の質問は、他にどのようなパラダイムがあるかということです。 はそれと競合することができ、OOP の代わりに立つことができるのでしょうか。 ? この質問を明確にするために、他にどんなパラダイムがあるのかを尋ねているのではありません。たくさんあるのですが、どれがあるのか知りたいのです...。
- 理論だけでなく、実際に使用されてきた。
- OOPと競合できる であるため、大規模なプロジェクトでも苦痛なく使用できる。
- ビジネスロジック、データベースなどを備えたデスクトップアプリの開発に使用できる。
- OOPと並行して使用されるのではなく、OOPの代わりとして使用されます。
また、もしあるとすれば、その長所/短所、OOPより優れている/劣っている理由、どの言語で使うのがベストか、一般的な言語での使用はどうか、デザインパターンはあるのか、OOPを完全に代替できるのか、などを教えてください。
どのように解決するのですか?
関数型プログラミング は、主に学術界で人気のある別のプログラミングパラダイムです。関数型プログラミング言語の代表的なものは ハスケル であり 標準的なML .
関数型プログラミングとオブジェクト指向プログラミングの根本的な違いは、以下のような意味でのプログラミングをすることです。 データフロー ではなく 制御フロー . プレゼンテーションを見る 関数型プログラミングでエフェクトを飼いならす による サイモン・ペイトン・ジョーンズ を参照してください。
業界で使われている関数型プログラミングの良い例として Erlang . これは主に通信、分散、フォールトトレラントシステムで使用されています。プレゼンテーションを見る Erlang - 並行世界のためのソフトウェア によって ジョー・アームストロング .
また、関数型プログラミングとOOPを組み合わせた、より新しい関数型プログラミング言語も存在します。2つの良い例が F# で、.NETプラットフォーム用の Scala であり、他の言語で書かれたプラットフォーム上の既存のライブラリを使用できることが多い。
今の新しいプログラミング言語のトレンドは マルチパラダイム であり、オブジェクト指向プログラミングや関数型プログラミングのような複数のパラダイムを同一言語内で組み合わせている。
関連
-
[解決済み] Inversion of Controlとは?
-
[解決済み] オブジェクト名の前のシングルアンダーコアとダブルアンダーコアの意味は何ですか?
-
[解決済み] Pythonのクラスはなぜオブジェクトを継承するのですか?
-
[解決済み] リスコフ置換原理の例として、どのようなものがありますか?
-
[解決済み] プログラミングにおける宣言型パラダイムと命令型パラダイムの違いは何ですか?
-
[解決済み】関数型プログラミングはGoFデザインパターンに取って代わるか?
-
[解決済み】アスペクト指向プログラミングとオブジェクト指向プログラミングの比較
-
[解決済み】「結合度が低く、結合度が高い」とはどういう意味ですか?
-
[解決済み】アスペクト指向プログラミングとは何ですか?
-
[解決済み] 継承と集計の比較【終了しました
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 抽象メソッドと仮想メソッドの違いは何ですか?
-
[解決済み] インターフェースと抽象クラス(一般的なOO)
-
[解決済み] 関数型プログラミングとオブジェクト指向プログラミングの比較【終了しました
-
[解決済み] コヒーシ ョンとカップリングの違い
-
[解決済み】関数型プログラミングはGoFデザインパターンに取って代わるか?
-
[解決済み] ミュータブルとイミュータブルのオブジェクト
-
[解決済み] ベストプラクティス:クラス定義内でのpublic/protected/privateの順序?
-
[解決済み] Scalaでコンパニオン・オブジェクトを持つ根拠は何ですか?
-
[解決済み] protected なメンバ変数を使うべきですか?
-
[解決済み] adapter-Any real example of Adapter Pattern [クローズド].