ほとんどのプログラマーや初心者は、プログラミングを学習していると思っていますが、実際はそうではなく、回り道をしているのです。
コンピューター サイエンスはコンピューターを学ぶことではありません。驚くべきことに。むしろ、コンピュータの助けを借りて問題を自動的に解決することです。問題を解決するのはコンピューター サイエンスであり、コードを書くことではありません。これが、多くのコンピューター サイエンスの学生がアルゴリズムや数学を勉強する理由を理解していないようです。
これまでにコンピューター サイエンスのクラスを受講したことがあるなら、これは驚かないでしょう。なぜなら、プログラミングはプログラミング言語とはほとんど関係がないことに気づくからです。これらのコースではなぜ疑似コードが非常に一般的なのか考えてみましょう。
しかし、ほとんどのプログラマーは常に罠に陥ります。私たちはプログラミング言語を 10 年以上学びましたが、本当に学ぶ必要があるのはプログラミングであり、私がその犠牲者だったと気づきました。
私は 10 年以上をかけてさまざまなプログラミング言語を学習してきました。プログラミング言語を学べば学ぶほど、単純なものを作るのが難しくなり、適切なツールが見つからないと感じていました。しかし、問題は、どこから始めればよいかわからないとき、適切なツールを探す代わりに、何をすべきかを検討することを忘れてしまうことです。
プログラミング言語の不思議な点は、常に変化していることです。プログラミング言語はほぼ毎日変化するため、追いつくのは非常に困難です。そして、優れたプログラムのほとんどは、プログラミング言語のほんの一部しか使用していません。
プログラミング言語の学習を優先する場合の問題は、大工仕事を学ぶ前に木工用のこぎり、ハンマー、さまざまな切断機の使い方を学ぶのと似ています。大工はアイデア、実現可能性分析、測定、テスト、ユーザーの習慣に注意を払う必要があり、年老いた大工はこれらに注意を払います。ハンマーや釘の代わりに。
作品の科学的研究の際、釘、汚れ、木材などの品質のチェックにも時間を費やします。
「プログラミング」 指示を与えることでシステムを自動的に動かします。私たちはそれを毎日実践し、子供たち、兵士、顧客に教えています。私たちは、所定の方法で自由に、または独立して行動するように指示を与えたり受けたりします。あなたの両親は、あなたをフォローし、あらゆる段階で指導する必要はありません。両親は、これまでにあなたの人生の多くの分野ですでにあなたに指導(指示)を与えています。
ほとんどの学校や教育 Web サイトでは、プログラミング言語の構文を教えています。また、いくつかのデザイン パターン (デザイン パターンが何であるかを見逃しているかもしれません)、数学、変数の宣言方法とその使用方法、データ型とその宣言と作成方法も追加されています。
上記のプログラミング言語の知識だけではプログラミングを教えることはできません。それに気づくと、プログラミングを学ぶのは時間の無駄、多くの時間の無駄だと感じるでしょう。
私たちは問題を解決するためにプログラミングを使用します。プログラミング言語は問題の解決に役立つツールです。
これらはツールボックスのようなもので、私たちはフレームワークと呼んでいます。思考をより整理することができます。
プログラミングを学習しているにもかかわらず、実際のアプリケーションを設計して作成することができない場合は、プログラミング言語ではなくプログラミングの学習に多くの時間を費やす必要があることを意味します。
私たちは、まだプログラムの設計方法を知らない多くの人に会いました。
プログラマにとって、プログラムは解決すべき問題です。プログラミング言語を使用する前に、まず慎重に考えて問題を理解する必要があります。実際には、解決したい問題が何であれ、どのプログラミング言語でもコーディングできます (重要なのは、解決したい問題について考えることです)。
例として二乗計算を考えてみましょう。数値の 2 乗を計算し、それ自体を複数回乗算します。複数の言語で実装できます。例:
C 言語を使用する
function square(int * x) { return x * x; }
PHP を使用する
function square ($x){ return $x * $x; }
学習の推奨事項: php プログラミング入門ビデオ チュートリアル
JavaScript の使用
function square(x){ return x * x }
学習の推奨事項: javascript ビデオチュートリアル
Scheme (Lisp 方言) の使用
(define (square x) (* x x))
構文は特定の実装を決定するだけであり、問題の解決策を決定するものではないことに気づくでしょう。問題 方法は同じです。これが、使用したいほぼすべての言語であらゆる種類のソフトウェアを構築できる主な理由の 1 つです。
人間の言語が問題となるのは、人間の言語には制限と誤りが多く、機械がそれを直接理解できないためです。
プログラミングを学ぶときは、コンピューターや他のプログラマーも理解して同意できるようにロジックを記述するための新しい用語と新しいツールを学びます。
通常、疑似コードと呼ばれる、人間に似た単純な言語から始めます。これは人間の言語からコンピューター プログラミング言語への優れた移行ツールであり、プログラミング言語で時間を無駄にしないようにするために行われます。
このようにして、問題自体と解決策のロジックに完全に集中できます。このプロセスを通じて、優れたプログラミング ツール (言語) の核となる部分を発見し、何が重要で何が必要なのかがわかります (ハンマーを使って物を壊す必要がある場合は、まず物を壊して釘を打つことを学びます)一時的に)必要がない場合は、最初から学ばないでください。
こうすれば、知らないうちにプログラミング言語が身につく(ハンマーの使い方を完全マスター)
翻訳原文: プログラミングの学習とプログラミング言語の学習は異なります: https://phpocean.com/blog/article/learning-programming-is-Difference-from-learning-a-programming- language/80
【関連記事】