BUSINESS TECHNOLOGY MY MIND

元東大教員が語るプログラミングが思うように上達しない3つの理由とおすすめの上達方法【コンピュータを学問の視点で解説】

悩んでいる人

プログラミングができるようになりたいけど,上達しない...おすすめの上達方法を教えて!

こういった悩みにお答えします.

本記事の信頼性

  • リアルタイムシステムの研究歴12年.
  • 東大教員の時に,英語でOSの授業.
  • 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校コンピュータサイエンス学部2021年の世界大学学術ランキングで20位)で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発
  • プログラミング歴15年以上,習得している言語: C/C++Solidity/Vyper,Java,Python,Ruby,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
  • 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」GitHubにオープンソースとして公開

こういった私から学べます.

元東大教員がプログラミングが思うように上達しない3つの理由

元東大教員がプログラミングが思うように上達しない3つの理由を語ります.

プログラミングが思うように上達しない3つの理由は以下になりますので,それぞれ解説していきます.

  • プログラミングは,数学,物理,化学のように体系的に学べる学問ではないため
  • プログラミングは,新しい言語を習得することであるため
  • プログラミングの問題解決には,論理的思考力が要求されるため

プログラミングは,数学,物理,化学のように体系的に学べる学問ではないため

プログラミングは,数学,物理,化学のように体系的に学べる学問ではないです.

数学,物理,化学は学問としての歴史が数百年以上と古く教育方法は体系化されているため,この順番で学べば自然に習得できることがわかっています.

これに対して,プログラミングはコンピュータの技術で,ここ数十年に発展してきた学問です.

また,コンピュータは日々進歩しているため,仮想通貨の技術のようにこれまでの常識が変わることも多くあります.

なので,コンピュータを体系化して教えるのが非常に難しいです.

仮想通貨のビットコインやイーサリアムを知りたいあなたはこちらからどうぞ.

ビットコイン
ビットコイン(Bitcoin)とは【買い方】【仮想通貨のパイオニア】

こういった悩みにお答えします. 目次1 ビットコイン(Bitcoin)2 ビットコインの買い方3 ビットコインを法定通貨にした国3.1 ビットコインを法定通貨にしたエルサルバドル共和国に関する動画3. ...

続きを見る

イーサリアム
元東大教員/アメリカ企業CEO兼CTOから学ぶイーサリアム(Ethereum)

こういった私から学べます. 元東大教員/アメリカ企業CEO兼CTOの私が,イーサリアム(Ethereum)について解説します. イーサリアムで取引,NFTの売買,ゲーム,プログラミングをしたいあなたに ...

続きを見る

さらに,プログラミング(特にC言語)を理解するためには,ハードウェア(コンピュータアーキテクチャ),コンパイラ,OSの知識が必要ですが,これらを理解するためにはプログラミングが必要という相互に依存関係があります.

例えば,プログラミングを初めて学んだ時は理解度30%くらいで,その後にハードウェア(コンピュータアーキテクチャ),コンパイラ,OSを学んだ後にもう一度プログラミングを学ぶと理解度が40%~50%になるという感じです.

私を含めて最初はみんなわからないところからスタートなので,プログラミングを初めて学んで全然わからなくても実は問題ではありません.

プログラミングは,新しい言語を習得することであるため

プログラミングは言語なので,英語を習得することに近いイメージです.

プログラミングは読み書きが主ですが,英語は会話が主という違いはあります.

※正直,英会話ができれば英語のリーディングやライティングもある程度はできるようになります.

プログラミングの単語や文法を英語の単語や文法のようにいくら暗記してもできないのと同様です.

プログラミングの問題解決には,論理的思考力が要求されるため

プログラミングの問題解決には論理的思考力が要求されます.

なぜ動かないのかを論理的に考えていくと自然と解決方法がみつかります.

論理的思考力は,基本的には以下のスキルになります.

  • 論文を書くスキル
  • 自分の考えを論理的に説明する(議論する)スキル

これらのスキルが低いとプログラミングの問題解決がうまくできない場合が多いです.

プログラミングが上達するおすすめの方法

プログラミングが上達するおすすめの方法は,「習うより慣れろ」です!

つまり,良質なプログラミングのコードをひたすら読んで書くことですね.

英会話ではシャドーイングという英語のネイティブの発音や発声を真似して,ひたすら聞いたり話したりしますよね.

英会話と同様にプログラミングもインプットとアウトプットの反復が上達するコツです!

自然に英語が話せるようになることと同様に,自然にプログラミングを書けるようになることです!

そうすれば気がついたらあなたは自然にプログラミングができるようになります!

プログラミングは「好きこそものの上手なれ」ということも重要です!

スラムダンクの桜木花道の名言「オレはバスケットをやる」「バスケットマンだからだ」が刺さりますね.

※プログラミングだと「オレはプログラミングをやる」「プログラマーだからだ」ですね.

バスケのようにプログラミングを続けることが上達への近道です!

スラムダンクを知りたいあなたはこちらからどうぞ.

スラムダンク
スラムダンク:不良少年「桜木花道」の成長を描いたバスケ漫画

こういった私が解説していきます. 目次1 スラムダンク2 スラムダンクの漫画2.1 1~3巻:入部編2.2 3~6巻:練習試合編2.3 6~8巻:喧嘩編2.4 9~21巻:インターハイ県予選編2.5 ...

続きを見る

まとめ

元東大教員がプログラミングが思うように上達しない3つの理由とおすすめの上達方法を語りました.

本記事を読んでプログラミングができるようになるイメージをつかんで下さい.

元東大教員が語るC言語が挫折するほど難しい5つの理由とできるようになる3つの方法もあわせて読むことをおすすめします!

C言語 挫折 難しい
元東大教員が語るC言語が挫折するほど難しい5つの理由とできるようになる3つの方法

こういった悩みにお答えします. こういった私から学べます. 目次1 元東大教員が語るC言語が挫折するほど難しい5つの理由1.1 開発環境の構築が大変1.2 文法が古くてわかりにくい1.3 標準ライブラ ...

続きを見る

-BUSINESS, TECHNOLOGY, MY MIND
-, , , , ,