今日気づいたのですが、プログラミングを学ぶこととプログラミング言語を学ぶことは別のことです

PHPz
リリース: 2020-09-08 15:18:58
オリジナル
4582 人が閲覧しました

ほとんどのプログラマーや初心者は、プログラミングを学習していると思っていますが、実際はそうではなく、回り道をしているのです。

あなたはプログラミングそのものではなく、プログラミング言語を学んでいるのではないでしょうか

コンピューター サイエンスはコンピューターを学ぶことではありません。驚くべきことに。むしろ、コンピュータの助けを借りて問題を自動的に解決することです。問題を解決するのはコンピューター サイエンスであり、コードを書くことではありません。これが、多くのコンピューター サイエンスの学生がアルゴリズムや数学を勉強する理由を理解していないようです。

これまでにコンピューター サイエンスのクラスを受講したことがあるなら、これは驚かないでしょう。なぜなら、プログラミングはプログラミング言語とはほとんど関係がないことに気づくからです。これらのコースではなぜ疑似コードが非常に一般的なのか考えてみましょう。

しかし、ほとんどのプログラマーは常に罠に陥ります。私たちはプログラミング言語を 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

【関連記事】

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート