正直なところ、新しいプログラミング言語を学び始めるたびに、興奮と不安という両義的な素晴らしい感覚を覚える。新しいスキルを身につけたいという興奮と、"Hello World "から実際のプロジェクトまでの長いプロセスをもう一度やり直すという不安だ。JavaScriptからPythonに初めて切り替えたとき、なぜPythonが波括弧の代わりにインデントを使うのかを理解するのに2週間かかったことを覚えている。

自分の "言語的アンカー "を見つける
最も効果的な学習方法は、既知の概念から始めることだとわかった。例えば、JavaScriptのPromiseに慣れ親しんでいれば、Pythonのasync/awaitを学ぶときに対応関係を確立できます。このような「コンセプトマッピング」は、認知的負荷を大幅に減らすことができる。比較学習法を使う開発者は、従来の方法よりも40%ほど早く新しい言語をマスターしているというデータがある。なぜなら、脳は知識ネットワークをゼロから構築する必要がなく、むしろ既存の基礎の上に構築するからだ。
Go言語のゴルーチンとJavaScriptのイベント・ループは、一見似ているように見えるが、根本的なメカニズムはまったく異なる。なぜGoはCSPモデルを選んだのか?なぜNode.jsはシングル・スレッドのイベント・ループを使うのか?なぜ」を理解することは、構文を覚えることよりも重要だ。
実戦、実戦、実戦。
チュートリアルをいくら見ても、手でコードを書くことにはかなわない。私の経験では、新しい言語を学んだ初日には、簡単なコマンドラインツールであっても、プロジェクトに取りかからなければならない。例えば、私がRustを学んだとき、最初のプロジェクトは、以前JavaScriptで書いたファイル処理スクリプトを書き直すことでした。 そのコードは稚拙でしたが、その過程で遭遇したコンパイルエラーや所有権の問題は、Rustのコアコンセプトをより早く理解するのに役立ちました。
面白い現象がある。新しい言語を学ぶとき、多くの人がチュートリアルを「ブックマーク」したがる。実際、最良の学習リソースは公式ドキュメントやシンプルなコードエディタであることが多い。Stack Overflowの調査によると、601人以上のTP3Tのベテラン開発者が、新しい言語を学ぶときは公式ドキュメントと実際のコーディングに頼っていると答えている。
不完全さを受け入れる
新しい言語で初めてコードを書き始めるとき、完璧なコードを書けるとは思わないほうがいい。Pythonで最初に書いたクラスがいかにひどかったか、今でも覚えている。しかし、この "ひどい "コードが、2つの言語の違いに気づかせてくれた。学習中に間違いを犯すことが問題なのではなく、間違いを恐れて挑戦しないことが問題なのだ。
文法はすぐにマスターできるが、本格的な表現は時間と練習が必要だ。大切なのは、好奇心を持ち続け、「不慣れ」から「慣れ」への過程で得られる達成感を楽しむことだ。結局のところ、この急速な技術革新の時代においては、継続的な学習そのものが開発者の核となる能力なのである。
评论列表 (12条):
加载更多评论 読み込み中...