誰かがプログラムの学習を始めなければならない場合、どこから始めればよいですか?彼は手続き指向のプログラムを書き始めるべきか、それともOOPにジャンプすべきか?
あなたができる最善のことは、すべてのパラダイムを理解することです。次の順序をお勧めします。
そして、ロジックプログラミング(Prolog)や並行プログラミング(Communicating Synchronous Processes、OCCAM)など、より難解なスタイルを試すことができます。
1つの言語でいくつかのステップを実行できます(Pythonはほとんどのベースをカバーします)が、比較的厳密な関数型言語で3つ(LISPをお勧めします)、4つを比較的厳密なOO言語(Java、C#)どの言語でも極端に深く掘り下げる必要はありません。パラダイムの感覚を得るために、それぞれに コードカタまたは2つ を実行してください。
それらのすべて(またはいくつかのみ)をベルトの下に置くことで、特定のパラダイムに再び深く踏み込んだことがなくても、より用途の広いプログラマーになります。
あなたが最初に始めることはそれほど重要ではないと思います。重要なのは、両方を知っていて、両方で失敗することです。
失敗するから。それから学ぶ。
すべてのxOPは、ソフトウェアのコーディングまたは保守時に開発者が遭遇する問題を解決するためのものです。ソフトウェアが大きいほど、それはより重要になります。 OOPまたはPOPを学ぶことはできますが、最終的には、これらの方法論に従っていない問題を経験しない限り、それが何に適しているかを理解できません。
POP、OOPなどはコーディング手法だけではありません。これはコードについて考える方法です。新しい考え方は、開発者が以前に行っていた方法で考えていた問題を解決するために開発されたものです。 。
それを習得するには、単純なテクニックを学ぶよりも、時間がかかります。
とにかく、POPから始めることをお勧めします。結局、それなしでは何もできないからです。 OOPを実行すると、クラスとメソッドが作成されますが、メソッドを使用すると、古い手続き型プログラミングが見つかります。
POPとOOPは、命令レベルで考える必要があるとは思われません。この時点では、OOP、機能、またはその他のことを行っていても、手続きを行っています。しかし、POPのみを行うと、ソフトウェアが大きくなると問題が発生するOOP、関数、その他のソフトウェア全体の考え方は、コードの複雑化に対処するのに役立ちます。
Thosは純粋な手続き型で実現できますが、多少困難であり、業界で広く使用されている方法ではありません。
Oopプログラミングを始める前に、プログラミングが以前行われていたのと同じように、プログラミングの基本を理解している必要があると思います。プログラマーがなぜoopを使用しているのかを知ることが重要です。これを理解する最も速い方法は、メモリ操作と数学の基本から始めてから始めることです。
私はOOPを最初にお勧めします、これが理由です:
あなたはOOPから始めたいです。その理由は、これが主に実際のWordで使用されているものであり、そのような概念を第1言語としてではなく、第2言語として学ぶ方が常に簡単だからです。 OOPの概念を理解していないという人々の話をよく耳にします。これらは通常、OOPに移行するPOPプログラマーです。私の最初の言語はJavaでした。これはOOPプログラミング言語であり、他に何も知らなかったので、概念の理解に問題がありませんでした。
もう1つは、必要に応じてOOP言語をPOPとしていつでも使用できることです。たとえば、Javaでは、必要に応じて複数のクラスを使用する必要はありません。 POPがどのようなものかを理解するのはかなり簡単になります(OOPはPOP言語のすべての機能を備えていますが、より動的で再利用可能ですが、望まない場合は必ずしも必要ではありませんこれらの機能を利用するには、C++とCのようなものでも同じことが当てはまります。
割礼が割礼を受けないよりも良いと考えるかどうかを男性に尋ねるような質問です[]割礼かどうかと、彼らはそれがより良いと思うかどうか。もちろん、割礼を受けたら、戻るのは難しいです。 ;-)
手続き型プログラミングを最初に学んだ人として、私(および私の同僚のかなりの数)は最初はOOPに苦労していました。プログラミングの最初の経験がOOPだった人々と話をしたので、彼らはそれがはるかに自然な働き方だと感じたようです。これは、彼らが既存の手続き型アプローチに適合させようとしておらず、もしそうなら、それを課そうとしているためかもしれません。あるいは、彼らが私や私の友人よりも賢かっただけかもしれません(非常に可能性が高いです)。