コンピュータープログラミングを始めるときに最初に学ぶのが最善のものは何ですか? _コンピュータを始めるとき、最初に何を学ばなければなりませんか?

序文

他の友人からの回答を読んだ後、彼らの意見は限定的すぎて、問題の核心をまったく理解していないと思います。

視点を変えて、この質問をより高いレベルから見てみるのもいいかもしれません。「コンピュータ プログラミングを始めるときに、最初に学ぶのに最適なことは何ですか?」

コンピューターを使い始めるときに学ぶべき最も重要なことは、プログラミング言語ではなく、Linux です。

この記事は 4,600 文字と少し長いですが、辛抱強く読んでいただければ、さらに考えが深まるかもしれません。

1. なぜですか?

どのようなプログラミング言語も、人間がコンピュータと「通信」するためのツール、つまりツールにすぎません。人がプログラミングを学ぶ上で最も重要なことは、問題を解決するための考え方や方法を学ぶことであり、2番目はプログラミング言語を使用して生活の問題を解決することです。

「なぜコンピューターが生まれたのか?なぜプログラミング言語が生まれたのか?」結局のところ、これらのものの出現は、人々が人生の問題をより良く解決するのに役立つだけです。世界初の(電子)コンピューターがなぜ発明されたか知っていますか? 最初のコンピューターが誕生したのは「戦争」で、第二次世界大戦末期の1943年、M族はその過程で「新型兵器の射程距離と探知シミュレーション計算表を迅速に入手する」という問題の解決に熱意を持っていた。兵器を開発し、その後その建設に投資した最初の電子コンピューターENIAC。

ここに画像の説明を挿入します

3 年後 (1946 年)、ENIAC が構築され、実用化されました。人々は「コンピューティング」の分野で新たな進歩を遂げました。これは、人類文明のプロセスに新たな段階をもたらしました。ENIAC は、人類の電子コンピューティングにおける最初のマイルストーンでもありました。コンピューター時代に突入。

コンピュータの発達により、人間はもはやコンピュータを単に計算に使うだけでは満足できなくなりました。キーボード、マウス、ディスプレイ、オペレーティング システム、コンピュータ ネットワークの出現と発展により、コンピュータは「特殊用途」から「汎用」へと徐々に進化し、コンピュータはゆっくりと人々の生活に入り込んできました。

2. プログラミング言語の出現

コンピュータが人間のために働くためには人間の意図をコンピュータに伝える必要があり、英語や中国語などの自然言語を使って機械と直接コミュニケーションすることは不可能です。ENIAC と「通信」する方法は、スイッチを手動で動かしたり、ケーブルを抜き差ししたりすることです。算術表の計算は依然として手間がかかりますが、以前のマシンのコンピューターよりもはるかに高速です。

コンピュータのスイッチの抜き差しを二進法で「0と1」に抽象化できることが発見され、その後、ドイツの数学者ライプニッツが提案した「二進法」が使われるようになりました(二進法の起源は中国にまで遡ります) 「易経」)興味のある方は学んでみてください)コンピュータに導入されました。コンピュータには実際の言語、つまりバイナリ言語とも呼ばれる機械語があります。

当時、エンジニアは「0 と 1」の文字列で構成される数字を使用してコンピューターと通信していましたが、それらは複雑で習得が難しく、暗記して問題のトラブルシューティングを行うのは非常に困難でした。その後、機械語よりも抽象的なアセンブリ言語 (ニーモニック言語) が登場しました。ニーモニックにより、人間はコンピュータと対話するための「命令」をよりよく記憶できるようになり、アセンブリ言語の登場により、プログラミング プロセスがさらに簡素化され、コストが削減されました。プログラミングの難しさは軽減され、人々はより効率的にコンピュータを扱えるようになりました。

しかし、コンピュータのアーキテクチャが異なれば、使用されるアセンブリ命令も異なります。その後、アセンブリ言語をさらに抽象化した高級言語が誕生しました。高級言語は、人々にとってより使いやすく、覚えやすく、より汎用性の高いものです。人々の「コミュニケーション」コンピュータを使用することで効率も向上しました。

高級プログラミング言語が出現して以来、半世紀以上にわたり、世界中には数百、あるいは数百もの高級プログラミング言語が存在しました。どのような高級プログラミング言語であっても、最終的には機械語にコンパイルされ、人間と機械の対話を実現します。

プログラミング言語を学ぶことによってのみ、コンピューターとのコミュニケーションがより良く、より簡単に行えるようになり、実際に遭遇する問題をコンピューターが解決できるようになることがわかります。プログラミング言語は、私たちがコンピューターと通信するために使用する言語にすぎません。M 国の人々とコミュニケーションをとるのと同じように、共通言語を学ぶ必要があります。中国人が英語を学ぶことも、M 国の人々が英語を学ぶこともできます。中国語を学びます。したがって、どのようなプログラミング言語を学べばよいかということにとらわれず、根本的に解決しなければ問題は解決しません。

コンピューター プログラミングを始める方法を学びたい場合、学ぶべき最も重要なことは、コンピューター コマンドの使用方法です。グラフィカルプログラミングと同じように、コードブロックや機能モジュールをつなぎ合わせることで、ある問題を解決したり、あるレベルを突破したりすることができます。同様に、私たちはコンピューター コマンドを使用してコンピューターを制御し、特定のことを完了したり、特定の問題を解決したりすることができます。コンピューター コマンドは、プログラミング言語の開発と同様、基礎となる層の継続的なカプセル化と抽象化から派生しており、また、コンピュータと「通信する」方法。

Dos コマンドを学ぶ代わりに Linux を学ぶ必要があるのはなぜですか? これは、多用途性と使いやすさに基づいています。興味がある場合は、Windows コンピュータの一般的なコマンドである Dos コマンドについても学ぶことができます。Linux が何なのかわからない場合は、簡単に説明します。Linux は、一般的なルーター、スマート家電、Android 携帯電話、自動運転車、通信システム、オペレーティング システム、Web サイトなど、今日のインターネット世界全体をほぼ構築しています。アプリケーションは例外なく、多かれ少なかれ、Linux カーネルまたはその派生製品を使用します。

Linux コマンド ラインは、コンピューターまたはオペレーティング システムと通信するために使用するシェル (シェル) です。シンプルで理解しやすいコマンドをシェルに入力すると、シェルはコマンドをオペレーティング システムに渡します。オペレーティング システムがコンピュータと対話すると、結果がコマンド ラインに返されます。シェルは、コンピュータをより良く使用するのに役立つ翻訳者としてある程度見ることができます。Linux を使用すると、グラフィカル インターフェイスでできることはコマンド ラインでもできること、コマンド ラインでできることはグラフィカル インターフェイスではできないことに気づくかもしれません。この文は完全に正しいわけではありませんが、コマンド ラインの本質と創意工夫を反映しています。

Linux (特にコマンドライン) を学んだ後は、どのプログラミング言語でも学ぶのは当然のことです。いくつか例を挙げてみましょう。

3. ShellScript プログラミング言語

Linux コマンドの学習が完了すると、シェル プログラミングを学ぶことになります。これらの単純で頻繁に再利用されるコマンドを、次回簡単に使用できるようにファイルに書き込むとよいでしょう。これが ShellScript スクリプト プログラミング言語の起源であり、気が付けばプログラミング言語を学習していることになります。ShellScript は柔軟でシンプルなので、コマンド ラインの使い方の基本さえ理解していれば、ShellScript を学ぶのは非常に簡単です。

4. VimScript プログラミング言語

シェルスクリプトの書き方を学ぶ上で欠かせないツールがエディタで、コードを記述してファイルに保存することができます。Linux では、Vi、Nano、Vim、Emacs、Neovim など、多くのコマンド ライン エディターを使用できます。

Linux を使っていると必ず Vi エディター、次に Vim エディター、そして Neovim に触れる事になると思います。Vim が「エディターの神様」であることに気づくと、あなたのプログラミングの概念が一歩近づきます。エディターにも「独自のプログラミング言語」があることがわかります。Vim エディターのワークフローを最適化したい場合は、他の人が作成した組み込みオプションやプラグインを使用するだけでなく、Vim エディター専用のプログラミング言語である VimScript を使用して、カスタム関数やロジックを実装することもできます。これにより、より便利なコードエディタが実現できます。

5. Lisp および Elisp プログラミング言語

プログラマの間で「神のエディタ」と呼ばれる強力なエディタである Emacs に触れたことがあるなら、間違いなく Elisp 言語を使用するでしょう。Elisp は Emacs 専用のプログラミング言語であるため、Emacs に興味を持つすべてのプログラマーは多かれ少なかれこの「古代のプログラミング言語」を味わい、関数型プログラミングの楽しさを味わい、強力な Emacs コンポーネントである Org を使用したいと考えていると私は信じています。私がもともと Emacs を始めたのは、これらの理由からです。Emacs は非常に強力なので、コーヒーを作る、ビデオ プレーヤー、音楽プレーヤー、ブラウザ、ゲームをするなど、あらゆることができます。Emacs はオペレーティング システムとコアが 1 つだけ異なりますそのため、多くのプログラマーは冗談めかして Emacs を「エディターに隠されたオペレーティング システム」と呼んでいます。

ここに画像の説明を挿入します

世界で 2 番目に古い高水準プログラミング言語として、Lisp は 1958 年に誕生しました。世界最古の高水準プログラミング言語である Fortran は、それよりわずか 1 年古いです。このプログラミング言語は魔法のようで、魔法的で強力で、その後の半世紀で十数もの「方言」を生み出しました。

現在では、Lisp はプログラミング言語のファミリーのようなものであり、常に進化し、繁栄しているように思えます。Lisp は、人工知能 (Ai) と密接に関係するプログラミング言語です。1960 年代以来、Lisp 言語は人工知能のプログラミングに使用され、その後、そこから派生した多くの方言も特定の分野で深く培われてきました。たとえば、Emacs Lisp は人工知能プログラミングに使用され、Emacs の Lisp 方言です。人工知能の主要なプログラミング言語は Python ですが、Lisp の歴史的地位にはまったく影響を与えず、一部の分野では静かに歴史の舞台から退いても、他の分野では再び輝きを放っています。プログラミング言語の中で古典的な言語を選択したい場合は、Lisp がその場所を占める必要があります。

したがって、古くから栄え、ある魔法の色を持つ高級プログラミング言語である Lisp を味わいたい場合は、Elisp から学習して Emacs エディタを使い始めることをお勧めします。一定期間使用すると、徐々に Elisp という興味深いプログラミング言語に夢中になり、現代の高級プログラミング言語とは異なる、あるいは存在しない「逆ポーランド語表現」を体験することになります。

ここに画像の説明を挿入します

6. Luaプログラミング言語

「最新の Vim」が好きなら、Neovim を見逃すことはできません。Neovim はバージョン 0.5 以降、Neovim のファーストクラス言語として Lua プログラミング言語を正式に使用し、豊富な API インターフェイスを提供します。Neovim は Vim のブランチですが、Neovim コミュニティが成長し続けるにつれて、Neovim はより広い領域を追求し始め、Vi と Vim の優れた遺伝子を継承するだけでなく、パワー、使いやすさ、最新化を目指して発展しています。

ゲーム開発のプログラマであれば、Lua をよく知っているはずです。Lua は、習得が簡単で、コンパクトで柔軟性があり、拡張が容易なスクリプト言語です。Neovim 用のプラグインを開発したい場合、ゲーム ロジックを作成したい場合は、必ず Lua プログラミング言語に触れて使用することになります。

7. C プログラミング言語

もちろん、コンピュータを深く理解したいなら、C言語を学ぶことが必須であり、それがコンピュータの世界に入る唯一の方法です。市販されているコンピュータの教科書や古典書籍のほとんどはC/C++言語で記述されており、LinuxカーネルもC言語で記述されているため、オペレーティングシステムやLinuxのプログラミング哲学、設計哲学を本当に理解したい場合は、このとき、ある程度のC言語の基礎が必要です。もちろん、このステップは Linux の使用経験があった後に行う必要があります。そうしないと、学習に非常に苦労することになります。

C 言語を学ぶと、多くの高級プログラミング言語の設計と原理をより深く理解できるようになり、プログラミングの世界への扉への第 2 の鍵となるのにふさわしい言語です。次のようなことわざがあります。「1 つの人生は 2 つ、2 つは C を生み、C は万物を生む」。すべてのものは C から始まります。この評価において、C 言語はまさにその評価に値します。

8. Goプログラミング言語

私のお気に入りのプログラミング言語である Go のように、元々は C 言語で書かれ、その後ブートストラップされて C 言語に依存しなくなったプログラミング言語は数多くあります。

9. Rustプログラミング言語

C/C++に匹敵する最新のシステムレベルプログラミング言語で、Goとほぼ同時期に誕生しました。どちらも新時代のプログラミング言語であり、Goとはまだ位置づけが異なります。興味のある友人もこの言語について学ぶことができます。この言語は将来 C++ に取って代わる可能性があります。おそらく近い将来、この言語は C++ や Java と同じくらい人気になるでしょう。それは時間の問題です。比較的新しい言語を学びたい場合は、未来への無限の可能性を象徴する Rust に投資する価値があるかもしれません。

10. まとめ

私の例を見れば、プログラミングを始めるときに最初に Linux を学ぶことをお勧めする理由が理解できるはずです。遅かれ早かれプログラミング言語に触れる 基本的なものは永遠に 地上からそびえ立つ9階建ての塔のように Linuxコマンドを使いこなし ShellScript、C/C++、Java、Python、Goを学ぶ, Lua...多くのプログラミング言語は自然に生まれます。Linuxのコマンドを長く使っていると、他のプログラミング言語を使ったらこの機能をどうやって実現するかなど、明確な目標を持ってプログラミング言語を学ぶことができます。

私が長々と書いたこの記事があなたに何らかのインスピレーションを与えられれば幸いです. プログラミング言語を学ぶのは簡単です. プログラミングを学ぶというアイデアは探求されてきた星の海です.

Python 技術予約について

Python をしっかり学習することは、就職する場合でも、副業でお金を稼ぐ場合でも良いことですが、それでも Python を学習するには学習計画を立てる必要があります。最後に、Python を学習したい人に役立つ Python 学習教材の完全なセットを共有します。

1.Python学習ルート

ここに画像の説明を挿入します

ここに画像の説明を挿入します

2. Pythonの基礎学習

1. 開発ツール

最新バージョンの PyCharm インストールや永続アクティベーション ツールなど、Python 開発プロセスで使用する必要があるツールを用意します。
ここに画像の説明を挿入します

2. 学習ノート

ここに画像の説明を挿入します

3. 学習ビデオ

ここに画像の説明を挿入します

3. Python初心者向け必須マニュアル

写真

4. Python の実践例

ここに画像の説明を挿入します

5. Python クローラーのヒント

写真

6. データ分析のための完全なリソースセット

ここに画像の説明を挿入します

7. Python インタビューのハイライト

ここに画像の説明を挿入します

ここに画像の説明を挿入します

2.履歴書テンプレート

ここに画像の説明を挿入します
ここに画像の説明を挿入します

データ収集

上記の Python 学習教材一式は CSDN 公式にアップロードされていますので、必要な場合は、WeChat で以下の CSDN 公式認定 QR コードをスキャンし、「教材を受け取る」と入力すると入手できます。

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/xiqng17111342931/article/details/132996912
おすすめ