始めに
こんにちは!まんじです!
今回はプログラミング入門時の文法学習のやり方というか、勉強方法について解説したいと思います。
結論から書くと、こうです!
- やるプログラミング言語1個決める
- ドットインストール(など)を使って2週間ぐらいやって本当に必要なところだけ抑える
文法学習の教材に関しては本でも無料のサイトでもいいんですけど、よくまとまっていて勉強しやすいと思えるものが良いと思います!
ちなみに個人的な話なんですけど、問題演習が多いサービスとかは問題解くとかが面倒であんまり好きじゃなかったです。。。
ということで文法学習に関して詳しく解説ですう。
まずはプログラミング言語を1個決める
プログラミング学習をするゴール設定をしてそれにナイスなプログラミング言語を1個選びましょう。
大体の場合、PythonかJavaScriptかRubyとかになりやすくて、JavaとかCを最初に選ぶ場合はもしかしたらなんか違うかも・・・!しれないです・・・!(ウェブ系だとJavaとかCからスタートは微妙)
イマドキだとJavaScriptかTypeScriptかなあとは思います。
Pythonのほうが挫折はしにくそうなのと、自分はPythonから始めましたが、Pythonは最も挫折しにくい言語なんじゃね説があります。
入門におすすめ言語にPythonは推し言語に認定されることがすごく多いです。
信者の人だと「Pythonのおかげでおれはここまでこれた」みたく言う人もチラホラいます。
多分PythonかJavaScript(TypeScript)あたりで良いと思います。
文法を勉強するための教材を決めてそれで2週間ぐらい勉強する
ドットインストール: https://dotinstall.com/
プログラミング言語においての文法ってのは、こんなやつらです。
- 変数、定数
- if文
- for, whileなどのループ処理
- 関数
こういったどの言語にもあるオーソドックスな文法をとりあえず2週間ぐらいでざーっと勉強しましょう。
「2週間とか無理じゃね?」と思う人もいるかもしれませんが、文法の勉強をしてる間は文法の理解度はどうせ低いので、2週間とかのある程度短めの期間で割り切って1日3時間とか時間決めてとりあえず脳みそにつっこむのが重要です。
最初で完全に覚える必要はないです。
文法学習を終えてからなんか作ってる時に言語を使ってれば勝手に覚えるからです。
教材に関しては、ドットインストールが個人的にはおすすめですけど、本当になんでも良いと思います。
ネット出てくる無料のサイトとかYoutubeの動画とか、本当になんでも良いです。
とりあえず定番の文法を書いて動かして、コピペしたりして、1~2週間ぐらいは文法と遊んでやりましょう。
分からないところとかはググったりAIに聞きながら進めればOKです。
具体的にこんな感じにやる
動画とか本でPythonのforループを学んだとして
「なるほど、forループってのはなんかまわすやつなんだな!」
って思ったら、forループはまわすやつ!!!ってなんとなく脳みそにおいておきます。
ノートとかに書いてもいいんですけど、普通にnotionとかにこんな感じで適当で良いと思います。
実際のコードとかは手を動かして実行したほうが身に付くので、ノートに書く必要はないと思います。
あとこういうメモ書きみたいなnotionを書いても、どうせ後で消すので適当に書くぐらいで大丈夫です。
紙のノートとかにめちゃくちゃきれいにまとめるとかは推奨しません、普通に時間の無駄なのでその時間あったらコード書いて実行してやりましょう。
実際に手を動かす
練習問題とかがあるものならやってもいいですし、めんどくさかったらやらないで適当にとりあえず書いて動かしてみます。
もし3の倍数だったら「3の倍数だよ〜」とかprintで出すとか、30分ぐらい適当にコードをうちこんで動かしてみると良いと思います。
このぐらいの時期は「forループとか一体何に使うんだ?」みたいな感じに思いがちなんですけど、ある程度書いていくと逆に汎用性が高すぎてやがて生活の一部みたくなります。
最初はとにかく意味わからんと思うのですが、とりあえず薄く脳みそに記憶をはるようなイメージでやると良いと思います。
文法学習で書いたコードは残しておいても残さなくてもどっちでもOK
あとで参照することはあるようなないようなって感じなので、残しておいてもいいし、残さなくても良いと思います。
GitHubのprivate repositoryとかにcommit pushしておくと微妙にGitの勉強にもなると思います。
あとは歴で2~3年した頃に「この頃はこんなに雑魚だったな(ニヤッ)」みたいな思い出にもなるかもしれません。
その他、プログラミング文法の学習に関する細かいこと
暗記や覚えるという作業に関して
プログラミングにおいては暗記したり覚えたりすることはほぼ不要で、使っていると勝手に覚えられます。
たまに異様に長いコマンドで定期的に打つようなものが発生するんですけど、そういうのはnotionとかに打ち込んでおいて必要な時にコピペして使う、ってぐらいです。
説明に関しても覚える必要はありません。
例えば、「プログラミングの文法学習の時にPythonは動的型付け言語で2系と3系があって最近では3系が使われていて〜」みたいな内容のことで、そういった内容はやがて勝手に覚えます。
完璧にやる必要はないゾ!
参考文献: くれよんしんちゃん
受験勉強とかをしたことある人だと、3~5周ぐらいしてちゃんと理解して完璧にするみたいなマインドになりがちかなーって思うんですが、プログラミングに関してはそういう勉強法は微妙です。
勉強する時でもせいぜい2周ぐらいで大丈夫です。
プログラミングにおいては、なんていうか、「勉強を完璧にこなす=できるようになる」ってわけではないからです。
いろんなケースでforループとかをまわして、「あれなんか動かないゾォ」とか「forループキメキメやでぇ」とかそういう時間を多く経験することで、forループが手と脳みそに馴染んでくるみたいな感じです。
関数(メソッド)とかも関数を勉強したからできるようになるわけではなくて、使ってるといろいろと雰囲気で分かってきます。
コード書いてる時にこういうケースだと関数に切り出したほうがいいとか、Docsを書いたほうが他の人に分かりやすいとかこのケースは不要とか、そういうことが経験として馴染んでくるのが実際のプログラム言語の習得過程だと思います。多分。
プログラミング言語は最初1個だけでいい
上のほうにも書いた通り、プログラミング言語は最初は1個で良いです。
ただ、htmlとCSSと最低限のJavaScriptは必要になるケースがちょいちょい発生しがちなので、そこは要所要所で少しだけ勉強する必要がありますが、少し使うぐらいなら学習コストは低いです。
プログラミング言語は1個ある程度できるようになったら、2個目3個目は楽にできるようになるので1個だけに絞るほうが普通に良いです。
「使える気がするプログラミング言語数」が増えた方がかっこよくね?とか昔自分は思っていたんですけど、普通に幻想でした。。。
プログラム言語を使って何かをする事がプログラミング言語の勉強に最もなる
繰り返しにはなっちゃうんですけど、プログラミング言語というかプログラミング全般に言えることなんですが、真面目に勉強するよりも仕事で使ったり何かを作ったりするほうが普通に勉強になります。
本を読むとかなんか教材使って勉強するとかは確かに、「知る」みたいな部分は広がるんですけど、「知る」のレベルが手を動かしてアーダコーダしないと浅くなりがちです。
必要な手段としてプログラミング言語とかフレームワークとかを使ってて知ってる範囲が徐々に勝手に増えていくみたいなほうが良いと思われます。
とにかく使うこと大事です。
(しつこい)
ウェブアプリ作るとかスクレイピングするとか、あとはお金が出てる状態でプログラミングをするのが勉強としてはかなりよさげです!
まとめ
プログラミング言語1個に絞って文法を適当に2週間ぐらいでサラーッと終えるのが文法学習ではいいのでは!というお話でした。
ドットインストール登録して2週間Pythonの文法やってそこからウェブアプリ作リ始めるとかで良い気がします。