プログラミング学習続けて思った7つの注意すること

プログラミング勉強

スポンサーリンク







どうも、ぱぺまぺです。

プログラミングの学習で注意することは、以下のツイート。

という感じです。

ぱぺまぺ的には、ツイートと反対のことはしないほうがいいと考えます。

  • インプットしかしない → ×
  • 教材を読んで満足、調べて満足する → ×
  • 実際に手を動かさない、コードを打たない → ×
  • コードの写経より模写中心 → ▲
  • コードは暗記しようとしない → ×
  • メンターやプログラミング学習仲間を作る → ▲

 

あとは、↑のツイートには書きませんでしたが、完全に理解してから始めたい病もやめることです。

 

コードの暗記は不要、ググればOK

 

暗記しようと思って勉強する意味はないかなと。

なぜなら、コードを書く練習をしていれば自然とは覚えていられるようになるからです。

 

暗記しようと思ってコードを打つのではなくて、コードを書いているうちに気がついたら覚えているみたいな。

 

コードの写経とコードの模写の違い

 

コードの模写もしくは写経はプログラミングの勉強法としてはそれなりに知られている方法です。

ぱぺまぺ的には、写経よりも模写のほうが力がつくと考えています

 

 

ちなみに写経と模写は違います。

コードの写経は、まずお手本となるコードがあり、そこコードをそのまま手打ちして動作を確認しながら前に進めていく勉強法です。

要するに、解答が準備してある状態ですね。

 

学校の授業で例えれば先生が黒板に書いたものをそのままノートに書き写す感じ。

いわゆるサンプルコードなどがあって、もしくはwebサイトのコードの見本とかのコード写経はどちらかというとインプットの部類に入ります。

  • こういうコード書けばこういう動作がある。
  • このコードとこのコードを組み合わせてやるとこういう動きが実装される

みたいな、動作の確認作業がいわゆるコードの写経です。

 

  • 目の前にお手本となるコードを書き写すのがコードの写経

 

コード模写の方は、解答のコードはわからないですが完成状態のものがある状態。

自分でコードを調べて完成版のお手本の通りになるようにを作るみたいな感じです。

コード模写は、アウトプット寄りです。

模写は例えば、

  • こういう動きのプログラムがあって、これをそのままそっくり実装
  • お手本のWebサイトをそのままそっくり作成

 

みたいな感じで、目の前にお手本となるコードはないけれど、「お手本となる素材」はあると。

こちらはどちらかというとアウトプット寄り、ですね。

 

コードの写経はインプット学習、模写はアウトプット学習

 

よくやるものが、例えば動画教材でもテキスト教材でも何でもいいのですが、そこに書いてあるコードを書き写して学習する。

それでインプット学習。

コードの文法を学ぶみたいな。

 

それも勉強にはなります。

そもそも文法やコードの意味を知らないとアウトプットできませんから。

 

コードの写経で学んだ知識を、アウトプットするのが大事です。

写経は、全く意味がないというわけではありませんが、模写のほうは自分で調べる作業が発生するので、どっちかといえば模写のほうが力がつくと思います。

 

写経がダメというわけではなくて、役割が違うから 一概にどちらが優劣という話ではありません。

 

写経は写経でいい面もあります。

例えば、模写は知識があればいいのですが、ない場合は調べるといってもめちゃくちゃ時間かかりますよね。

 

写経だと答えは用意されていてそれを書き写すだけなんですが、ただ書き写すだけだと勉強にはなりません。

しかしプログラミングのコードの意味コードを組み合わせるとをこういう動きがつくだとか、そういうのはすぐに分かります。

 

模写はその辺を自分で0から調べなくちゃならないので時間がかかります。

時短できるという意味ではそうですし、 パターンを知る、という意味では模写よりも写経のほうが有効なのかなと。

 

なので、勉強のやり方としては、

  • 教材をみて写経し、インプットする
  • インプットしたものを模写としてアウトプットする

 

暗記する必要はないんですが、テンプレートというか、パーツのテンプレートとして覚えておくのもいいかもしれないです。

早くコードを効率的に打つとなるとどれだけのコードのパターンを知っているかになりますから。

 

2つともやり方、学習目的が違います。

 

動画学習やテキストで学習するのも写経です。

目の前にお手本のコードがあるので。

 

コードがない状態で、自分で考えて実装してみる。

それがアウトプットです。

だからどちらが正しいとかいうわけではなくて両方やった方がいいです。

 

学習的な手順でいえば、

  1. テキストでもなんでもサンプルコードでも何でもいいんですが、お手本を見ながらコードかいてみて動作を確認してみる。
  2. それを繰り返し、内容や文法のチェック
  3. 理解したら、模写をしてみる。

エラーやわからないことがあったらその都度ググる、とという感じ。

これに関しては写経も模写もやることは一緒ですね

 

 

Twitterでみていると、プログラミングの勉強でコードを写経させる教材のものが結構見かけます。

ぱぺまぺ的には写経よりも模写の方が 力がつくような気がします。

 

 

ゼロからオリジナルの成果物をつくるための訓練だと思えば。

ゼロからオリジナルのものを作るのはなかなか難しいので、初心者のうちは写経と模写をうまく組み合わせてコードをかくことですね。

それに慣れることで、オリジナルの、自分だけのアプリやサービスが作れるようになる!・・・はずです。

 

教えてくれる人を身近におこう

 

プログラミングの学習をしていると、独学の限界を感じる時がたまにあるんですよね。

高度な勉強しているというわけではないんですが、勉強していると、

  • 他人から見た時の自分のレベル感
  • 他人から見たときのコードの状態・状況
  • 制作物のレイアウト

とか、見た目がどうとかそういうのが 自分ではわからないわけですよ。

そういう時に備えて、メンターを雇うのが一番です。

 

 

無料で独学もいいけど、時間がめちゃクソかかるので、お金をかけてプログラミングスクールやメンター雇って時短する。
金はかかるが、稼いで取り戻せばいい。
時間のほうは、なくなったら二度と取り戻せないので有効に使おう

 

メンターは、現役でエンジニアやっている人が多いので、特に自分が書いたコードを評価してもらうには最適です。

自分の周りにそういう人がいればいいかもしれませんが、ぱぺまぺの場合はそういう人は全く1mmもいませんでした。

MENTAというサービスでメンターを雇っています。

MENTA使ってみた感想

2020年3月2日

 

勉強している仲間同士で競争しあうのもいいですが、ある程度レベルが高い人からの評価も大事です。

やっぱり数段上の人からの評価なりコメントなりもらうと非常に助かります。

もちろんメンターだからといって何でもわかるというわけではありませんが、少なくとも自分よりはめちゃくちゃわかるのでその点は安心です。

 

コードを見てもらう以外のサポート

 

メンターを雇うことのメリットは、コードを見てもらえるということの他に、メンターにもよると思いますがオリジナルの課題を出してもらえるということですね。

 

課題といっても実際にメンターが実務でこなした案件を利用したものなどが使われていたり、実務に沿った形で学習することができます。

自分がやっている勉強方法や勉強する方向性とか転職に関する悩みとか、そういうのも相談できます。

その辺はやっぱり独学では分からないことなんですよね

 

メンターを雇うのは費用がかかりますが、稼げるようになれば、今まで支払ったものはすべてペイと考えると、考えようによっては安い出費なのかなとも思います

 

プログラミング完全に理解してから先に進みたい病をやめる

 

プログラミング理解してから始めたい病は卒業しましょう。

プログラミングに限らないかもしれないですが「完全に100%理解してから前に進みたい病」というのは、卒業した方がいいかもいいです。

 

というのもそれだとプログラミングがインプット作業メインになってしまうからです。

勉強においてはインプットもアウトプットも大事なんですよね。

それはプログラミングにおいても同じでインプットばかりではなくアウトプットもした方がいいわけです。

 

学習段階におけるプログラミングのアウトプットは、

  • 今まで得た知識を元に自分でコード考えて組み合わせて書いてみること
  • わからなかったらググること。

みたいな感じですね。

 

⬆で説明したコードの模写なんかもアウトプットです。

 

エラーが起きたらまたググる、の繰り返しです。

Progate何周も何周もして100%理解したいという人もいるかもしれませんが、あんまり意味はないかなと。

やっぱり基本はアウトプットにあります。

 

そうしないと先に進まないからです。

100%理解してから前に進みたいという気持ちはわかりますが、実際のところ100%はムリです。

 

そもそもとしてインプットだけを100%理解してやるというのは少々厳しい。

100%理解できたことに越したことはないんですが、重要なのはインプットしたデータや知識をもとにアウトプットすることです。

実際に自分でコードを書くこと、いかにどれくらいできるかにかかってると思うんですよ。

 

ここまで読んでくださりありがとうございました。




応援クリックよろしくお願いします。