【雑談】プログラミング言語の学び方

0. 序文

あなたは普段どのようにプログラミング言語を学んでいますか? 授業に必要なもの、仕事に必要なものなど、さまざまなことを次々と学びました。言語の学習と習得については議論する価値があると感じているので、それを要約して議論するためにこの記事を書きたいと思います。ただし、私の経験や能力は平均的ですので、この記事はあくまで雑談用です。

1. 複数のプログラミング言語を学ぶのが一般的であり、実現可能

大学では電子情報を専攻し、いろいろなことを勉強しました。1年生の時はC言語を学び、次にMATLAB、Pythonを学び、オブジェクト指向コースでC++を学び、Verilogなどのハードウェア記述言語も学びました。とにかくたくさんのことを学べたので、授業に活かしていきたいと思います。たとえば、C と Verilog は組み込みマイクロコントローラーや FPGA に使用され、Python や matlab は機械学習や画像処理に使用されます。この専攻では、組み込み開発、機械学習、通信、回路設計など、卒業のための選択肢がたくさんあります。しかしその後、C# を学び、ゲームを作り始めました。また、卒業後の進路を迷っていたときに Java を少し学びました。その後卒業して就職したのですが、会社では主に TS を使って小規模なゲームを作っていたため、Unity3d も TS フレームワークを使用していたので、TS を学び、使い始めました。

私も多くの言語を次々に学びましたが、その多くは入門にすぎず、マスターするには多すぎます。しかし、プログラマーが複数の言語を学ぶのは普通のことであり、ソフトウェア エンジニアリングを専攻した私の同級生は C++、Java、Python などを学びましたが、卒業後は就職し、仕事のために JS などを学ぶ必要がありました。言語の一部は、Web ページのデバッグ時にも使用されます。したがって、この観点から見ると、複数のプログラミング言語を学ぶことは、プログラマーにとっての基本的な旅でもあります。ニーズや環境が変化すると、異なる言語を使用するのが一般的であり、異なる言語を活用することもできますまた、かつて大流行したGOなど、プログラミング言語は常に更新や導入が繰り返されており、時代に追いつくためには異なる言語を学習する必要がある場合もあります。

しかし、1つの言語を学習した後、他の言語を学習するのは比較的簡単です。プログラミング言語間の相互運用性は依然として非常に高く、基本的な内容構文は基本的に宣言、条件判定、ループなどであり、データ構造などの基礎知識は異なる言語でもほぼシームレスに利用できます。

したがって、複数の言語を学ぶことは普遍的であり、実現可能です。もちろん、1つか2つの言語に堪能である必要はありますが、そうでないと、すべての操作方法を知っているだけでは、何かを作りたいときにそれができないとさらに面倒になります

2. プログラミング言語を始めるためのヒント

(1) コンピュータ専攻

これについては特に言うことはありません。まずは先生の指示とコースに従ってください。さらにやりたい場合は、アルゴリズム関連の学会や専攻のアクティビティに参加することを検討してください。問題を解決するためのアルゴリズムを作成するときに、この言語を使用することにますます慣れてくるでしょう。該当する研究室に入ることができれば良いでしょう。

(2) コンピュータ関連専攻および理系専攻

今では理系の学生がプログラミング言語を教えることが多いようですが、昔は土木工学系の同級生はJavaを習っていました。例えば、私の専攻は電子情報工学ですが、コンピュータ関連の専攻であってももちろん教えますが、入門言語は基本的にC/C++で、ここから学習を始めると、 という内容になります。基本は基本的なものであり、後で他の内容を学ぶのは比較的簡単です。

それは大学での先生の授業、授業後の実験、宿題、期末試験のようなものです。このプロセスを終えると、基本的な内容の 7788 を学習するだけになります。先生の手配を聞くだけです。基本的なことを学ぶだけです。先生が素朴すぎても問題ありません。質問がある場合は、百度で検索するか、クラスメートに質問してください。

ただし、ここで余談になりますが、業界で必要とされるスキルをさらに発見し、それを完成させるために追加のスキルを学ぶ必要があります。コンピューター サイエンスを専攻していない大学生の場合、ソフトウェア プログラミングはカリキュラムから欠落しており(これはごく普通のことです。結局のところ、専攻自体はソフトウェアの作り方を教えることを目的としたものではありません)、それを補う必要があります。後は自分で行います。例えば、私は今ゲームの仕事をしていますが、当時は習っていなかったデータベースやコンピュータネットワーク、コンピュータグラフィックスなどはずっと苦手でした。

(3) 関連しない専攻

高校生の場合は、大学受験において非常に重要となるため、まずは基礎的な内容をしっかりと学ぶことをお勧めしますまた、数学や英語は将来的に使うものなので侮らないでください。時間ができたらプログラミングを勉強しようと考えています。また、ゼロベースの知識では、言語はあくまで基礎であり、その後、データ構造やネットワーク通信など、プログラマーにとって重要な学習内容が多くあります。 。1日8時間かけてゼロから始めると4ヶ月くらいかかる気がするので、真剣にメモを取って練習しないといけません。

さて、学習を始めようと決心した場合は、まず言語を決める必要があります。フロントエンドかバックエンドか、モバイル端末か機械学習かなど、まず何をしたいのかを決めて検討する必要があります。インターネット上にはスパム情報があふれていますが、よく調べて比較してみると、自分が何を学びたいのかがわかると思います。関係する専門家に直接聞いてみるのも良い選択です。参考までに、私が比較的よく知っていることをいくつか紹介します。

  • ゲームの作成:
    C++ (Unreal、大規模なゲームを作成、優れたパフォーマンスと優れたグラフィックス)
    C# (Unity、モバイル ゲームなどの 3D ゲームを作成、多くの企業で使用され、学習リソースが豊富)
    Typescript (Cocos、小規模なプログラムの Web ゲームを作成) )
    (上記は別のものです。ゲーム エンジンはすべて学習でき、市場はかなり良好です。その後、長所がそれに応じて書かれています。) (以下は単なる長所であり、Unity が
    モバイル ゲームについてしか語れないというわけではありません。また、非常に優れています。もちろん、Cocos は小さなゲームだけを作ることができるわけではありません。プログラム)

  • 機械学習、AI:
    R言語、matlab(一般の大学や学術研究で使われており、matlabは有料)
    python(ライブラリが豊富で自分で合わせられる、オンラインチュートリアルも多い)
    (実際には機械数学を学ぶことは非常に重要です。基本的なアルゴリズムが鍵です。数学、高度な数学、線形代数を学ぶ必要があります。)

  • シングルチップマイコン、組み込み開発:
    C(言うことなし、基本高級言語、基本的には彼で十分)

チュートリアルを見てデモを一緒に作って一緒に学習するのがおすすめで、成果が出ると学習を継続しやすくなります。注意する必要があるのは、教師にコードを入力してもらいたくないので、それをコピーするだけで、終わった後は何も分からないということです。コードをコピーするのではなく、自分でコードを作成し、なぜこのようにコードを作成するのか、この文が何をロードまたは呼び出しているのかをよく考えてください。

方向性が明確でない場合は、C/C++ と Java をエントリーとして選択することをお勧めします1 つの言語を学習した後、別の言語、特に標準化された古いプログラミング言語である Java と C++ に切り替えるのは難しくありません。pythonなどはあまりお勧めできませんし、エクセルなどで自動処理するなど、ネット上にアップされているものほど使いやすいものではありません。この需要が大きくない場合、たとえば、毎日何らかのコンテンツを登録する場合、これを手動で行うことができます。実際にプログラムを書くのにはもっと時間がかかります。そして、この要件が後で変更されると、プログラムは使用できなくなります。最初に C/C++ を学べば、他の言語も学びやすくなるはずです。ただし、すでに明確な目標がある場合は、それに対応する内容を学習し始めるだけでも問題ありません。 。個人的には、C/C++ から学習を始める必要はないと思います。この方法で基本をよりよく理解できますが、復帰するためのエネルギーはまだたくさんあります。後で、作業が深い場合、またはその他のニーズがあれば、完了することができます。

(4) 独学での勉強方法

学習方法としては、本を読むよりも動画を見たほうが学びやすいと感じますが、本を読むと挫折しやすく、細かいところまで理解できません。b駅のようなチュートリアルがたくさんあります。有料のチュートリアルを受講する場合は、お金をかけてももう学びたくないという場合に注意する必要があります。本については、参考書としては比較的情報密度が高く、検索するときにも使える内容の本がおすすめです。たとえば、配列の宣言方法やアセンブリの入力方法を忘れた場合は、ディレクトリを調べて対応するコンテンツを検索することで解決できます。

もっと書いたほうがいいです、もっと書いて、もっと練習して、もっと記録して、ブログを書いて…とやっていくと慣れてきます。後でひっくり返すのを忘れてしまいました。コピーしないようにしてください。自分で入力して整理すると、より明確になり、理解できるようになります。**記録しておかないと、後から学んだ後に忘れやすくなり、結局学ばなかったのと同じになってしまいます。**大学時代はブログを書きたいとは思っていませんでしたが、良いブログを書くと就職が容易になります。

3. あるプログラミング言語を別のプログラミング言語から学ぶためのヒント

すでにプログラミング言語を学習していて、その後に別の言語を学習する場合、それは 2 つの部分に分かれているように感じられます。読んで勉強したり、ジャンプして読んだりすることをお勧めします最初の部分は文法について、二番目の部分は言語の特徴についてですもちろん、仕事などで新しい言語を学ぶ必要がある場合は、複数の言語を学ぶよりも 1 つの言語に習熟する方が良いでしょう

文法を学ぶには、基本的な定義、宣言、ループ、条件、その他の文法を見て、本の内容に従ってコードを入力するだけです。配列の定義方法が思い出せない場合は、本で調べてください。基本的な文法を学ぶのに 1 ~ 2 日かかりますが、1 週間もあれば比較的使いこなせるようになります。あとは使っていくうちに慣れてきますし、分からないところは本で調べます。

ここでは言語機能を学ぶことが実は特に重要で、C++ が C を使用するときと同じように手続き型のままであれば、言語としての C++ の役割はなくなります。言語の特徴を知りたければ本を読めばいいのですが、通常、本ではその言語の象徴的な特徴を説明する追加の章が設けられています。たとえば、私が購入した C# の本「Essential Theory of C#」では、リフレクションとジェネリックについて個別に説明しています。これらの章を注意深く読んで、さらに練習してください。

本を読む利点の 1 つは、テクノロジー関連の本の内容が概して正確、正しく、理解しやすいことです。本を読むことは、言語の機能を学ぶのに非常に適していますやはり本を出版するにはコストがかかりますし、今ブログを書くのと違って内容も複雑になりますが、基本的には売れ筋の専門書を選べば十分に効果はあります。動画やチュートリアルを見ていると、無駄な選択肢が多すぎたり、既に学習した内容が多すぎて、飛ばして見るのが面倒で時間の無駄です。

この時点では基本的にこの言語を使い始めることになりますが、当然のことながら、より多く使用し、より多く記録することで、徐々にこの言語に習熟していきます。

4.終わりです

たぶんそれです。本当にたくさん言いましたが、すでに 3,400 文字になりました。ちょっと長くなりました(笑)。
最後に、皆さんの健康と学業の成功をお祈りしています。

おすすめ

転載: blog.csdn.net/Blue_carrot_/article/details/132354925