ユーニックス総合研究所

  • home
  • archives
  • programming-study

プログラミングの学習方法の種類と内容: メリットとデメリットをまとめました

プログラミングの学習方法の種類と内容

プログラミングには色々な学習方法があります。
代表的には↓の5つです

  • 本を読んで学習する
  • Webのコンテンツで学習する
  • 他人に聞く
  • 他人のコードを写経する
  • 動画で学習する

私は独学でプロのエンジニアになりましたが、主なプログラミングの学習方法もこれらの5つでした。
それぞれの学習方法の特徴と内容をこのブログだけに書いてみたいと思います。

本を読んで学習する

これは昔からあるポピュラー(人気)な学習方法です。
今のベテランのプログラマーやエンジニアの人達はほとんどこの方法で学習していると思います。

具体的には書店やネット通販で本を買い、その本を読んで書いてあることを実践するという方法です。
たいていの書店にはプログラミングのカテゴリーがあり、そのカテゴリーのコーナーに行くとプログラミングのための書籍がずらっと並んでいることが多いです。
その中から立ち読みして、良さそうな書籍を探して購入するというのがよくあるパターンです。

そのパターンの他には、ネットで事前に本の評判をチェックしておく方法もあります。
今の時代はこちらのほうが一般的でしょう。
Amazonや楽天などの通販サイトで、本の評判を見て、その本の購入を決めるという流れです。

いわゆるヒットしている本は明らかに評判が他の本とは違うことが多いです。
たとえば最近ベストセラーになっているディープラーニングの書籍↓は、すこぶる評判が高くなっています。

ただ、最近のAmazonは意図的に商品の評価の操作が行われていることもあるので、これらの評価を参考にするときは必ず低評価のレビューも見るようにしておくといいでしょう。
多数の低評価のレビューに説得力がある場合は評価の操作が行われている可能性が高いです。

メリット

本という1冊に情報がまとまっており、書いてる人も統一されているので教材としての品質が高いことが多いです。
また、その本1冊を何度も繰り返し使って学習することで、記憶が定着してスキルが付きやすくなるというメリットがあります。
評判がいい本はネット上で可視化されるので、評判が悪い本の購入を回避して良質な本を買うことができます。

デメリット

1度買った本は内容が更新されないため数年で本の内容が陳腐化する場合があります。
また、物理的に場所を取るので、本棚がないと本の管理に困ります。
ただ、これはKindleなどの電子書籍で改善できる場合があります。
コスト的に1冊数千円かかるので、お金もかかりますが、これは今流行りのプログラミング・スクールの費用に比べれば微々たるものかもしれません。

Webのコンテンツで学習する

これは技術系のWebサイト(ホームページ)をネットで探して、そのコンテンツを見ながら学習するという方法です。
ネット上には無数の技術系の学習サイトがあり、それらは企業や個人が運営しています。
また、技術系のブログも無数にあるので、そのブログを読んで学習するという方法です。

私もC言語(シーげんご)というプログラミング言語を学んだときは「苦しんで覚えるC言語」というWebサイトで勉強しました。

このサイトでC言語を学んだあとに、C言語を使ったデータ構造やアルゴリズムなどの専門的な本を買い、学習を深めるという風に進みました。
↑のサイトは書籍にもなっていますが、基本的にはWeb上ですべてのコンテンツを見ることができます。

メリット

何よりのメリットとしてまず無料であることが多いというのがあげられます。
ですので金銭的な出費が厳しい人は月々のネット料金だけで学習できます。
それからWebサイトで運営されているので、古い情報が新しい情報に更新される可能性が高く、陳腐化しにくいというメリットがあります。
パソコンやスマホがあれば学習することができます。

デメリット

コンテンツとして完成していない場合、つまりコンテンツが執筆途中である場合があります。
そのため学習の時に最後まで学習を完了できない可能性もあります。
また、放置されたWebサイトは内容が更新されないため、本と同様に内容が古くなりやすいという特徴もあります。
サイトの運営者がプロなのか素人なのか得体がしれないため、コンテンツの信頼性が不透明です。

他人に聞く

これは自分とは別の人に聞きながら学習を進める方法です。
具体的にはスタックオーバーフローやTeratailなどの質問サイトを利用します。

これらのサイトではプログラミングについての質問を投稿すると、無料で知識のある人が教えてくれる仕組みになっています。
そのためプログラミングでわからないところがあったら、質問サイトにわからないところを投稿し、誰かから回答を得るまで待つというのがよく行われています。
これはアマチュアの人やプロの人に限らずいろいろな人が利用している方法で、プログラミングの世界では非常に一般的です。

メリット

これらの質問サイトの利用は無料です。
また、専門家の人から回答を得られる可能性も高いです。
自分で考える必要がないため、精神的な負担も少なく利用できます。

デメリット

回答をもらえない場合があります。
その場合は質問した内容がわからないまま終わります。
また、回答が間違っている可能性もあります。
実際、スタックオーバーフローでは間違った回答がページの先頭に現れることも多いです。
もっともその場合はユーザーからの評価で視覚的にそういった間違いがわかるようになっています。

他人のコードを写経する

これは他人のコードを写経(しゃきょう)して学習する方法です。

写経とは、他人の書いたコードをそのまま自分のエディタで書き写す学習方法です。
昔のお坊さんがお経を勉強する時に使っていた学習方法で、それがプログラミングの世界では現代によみがえっています。

他人のコードを手に入れるわけですが、ここで言う「他人」とは自分よりスキルが高い人を指します。
その人のコードをWebや本などを通じて手に入れて、写経をします。

これも昔からプログラミングの世界ではよく行われている学習方法で、プロの人もよくしています。

特に最近のプログラミングの世界ではOSS(オーエスエス)という開発スタイルが人気になっています。
OSSとはコードを世界中に公開し、だれでも開発に参加できるようにするという開発スタイルです。
これによって簡単に他人の書いたコードをネットを通じて見れるようになりました。

Windowsのマイクロソフトが運営するGitHubでは色々なOSSのプロジェクトを見ることができます。

GitHubの検索バーに検索したいワードを入力すると、それに合ったプロジェクトがヒットします。
あとはそのプロジェクトのコードを見て、それを写経すれば無料で学習することができます。

メリット

OSSにより世界中のプロジェクトのコードを無料で見れるようになっています。
そのため写経にあたってネット料以外の費用はかかりません。

何度も写経をすることで他人のスキルをそのまま自分のものにコピーすることが可能です。
時間とパソコンがあればどこでも写経で学習することが可能です。

デメリット

写経にはある程度の根気がいります。
めんどくさがりには向いていません。

それからOSSのプロジェクトのコードを写経するときは、写経したコードをネットに公開しないようにしておきましょう。
OSSのプロジェクトには「ライセンス」というものがあって、MITなどのライセンスであれば公開しても問題ありませんが、ライセンスによっては公開するとまずいものもあるかもしれません。

動画で学習する

今もっとも流行っていると言ってもいい学習方法が、動画で学習する方法です。
YoutubeやUdemyなどでコンテンツを探し、それを見ながら学習します。

Youtubeは言わずとしれた動画投稿サービスです。
世界中の人がYoutubeに動画を投稿しています。
その中にはプログラミングのチュートリアル動画のシリーズもあり、それを見ることで無料で学習することが可能になっています。

また、Udemyは最近はやっている動画学習サービスです。
講師がいて、その講師が公開している動画に場合によってお金を払って受講します。

どちらもネット環境があれば利用することができます。

メリット

本を読む必要がなく、動画なので見る側の負担が少ないです。
本を読むのが苦手だという人にもおすすめの学習方法です。

また、Youtubeであれば基本的に無料で視聴することが可能です。

デメリット

本やWebコンテンツと同様に、こちらも動画の内容が陳腐化しやすいです。
コンテンツの寿命的には数年が限界かもしれません。

得体のしれない動画投稿者が多く、信頼性がいまいち足りていません。

🦝 < お前も動画投稿してるやんけ

はい。私も得体のしれないブロガー兼エンジニアです(^^)
(私について知りたい方はプロフィールを見てくださいね)

おわりに

最後におさらいです。
プログラミングの学習方法は↓の5つです。

  • 本を読んで学習する
  • Webのコンテンツで学習する
  • 他人に聞く
  • 他人のコードを写経する
  • 動画で学習する

これらの学習方法をうまく選択することで学習を効率良くすすめることが出来ると思います。
学習、頑張ってくださいね。

🦝 < 健闘を祈る