概要:
現実の世界では、遅かれ早かれ、手続き型コードを使用する必要があるからです。
手続き型言語は、単なる代替手段ではなく、オブジェクト指向言語への拡張や導入のように機能できるためです。
回答2の補足。OOPは手続き型プログラミングよりも複雑であるため、最初に手続き型プログラミングを学習することをお勧めします。
現実の世界では、プログラマーは問題を解決するためにいくつかの方法を組み合わせて使用するため、別名「マルチパラダイムプログラミング」は、単一のパラダイムだけではありません。
ほとんどのプログラミング言語は、たとえ設計者や一般的な開発者が反対の意見を言っても、ある程度はマルチパラダイムです。
[NEW]一般に手続き型プログラミングと混同され、混乱しているモジュラープログラミングはOOPに適用できるため、「オブジェクト指向プログラミングを学ぶ前にモジュラープログラミングを学ぶ必要があるのはなぜですか」という質問を読むことができます。
拡張ボーリングの説明:
ポイント1は非常に明確で、それ以上の説明はありません。
ポイント2、クラス、継承、多態性、インターフェイスなど...
ポイント3、私はオブジェクト指向パスカルを学ぶ前に手続き型パスカルをコーディングしました。そこにたどり着いたとき、私は次のように述べました。 」
私は普通のCからCプラスプラスに行った人々から同じことを聞きました。
ポイント4、ほとんどの場合、プログラマーはいくつかのプログラミング手法やパラダイム、または問題を解決する方法を組み合わせます。機能的、手続き的、OOP、論理的。
Java "Pure OO"でさえ、言うほど単純なオブジェクトプログラミングではありません。
「構造化プログラミング」の代わりに「手続き型プログラミング」と言った+1ポイント。またはモジュラープログラミング。これらは重要です。
Altought、これらの用語は多くの場合、一緒に教えられ、互換的に使用されますが、そうではありません。構造化プログラミングには、手順を使用するだけでなく、多くの概念が含まれており、その1つはプログラムを「スパゲッティコード」のように見えないようにすることです。
今日、私は「オブジェクト指向のスパゲッティコード」のように見えるいくつかの「純粋な」オブジェクト指向プログラムを読みました。
多くの場合、OOコードを読んで、プログラマーがOOPの前に構造化プログラミングを学んだことを伝えることができます。コードが明確で整理されているからです。
そして、モジュール式プログラミングでは、いくつかのアプリを見てきました。モジュールを使用しないC ++およびPHP。*