プログラミング勉強を開始するための10個の心得
2021年の4月から京都精華大学のメディア表現学部というところで教えることになりました。
主にプログラミング方面の技術を教えることが僕のミッションなのですが、来年入学する一年生はおそらくほとんどがプログラミングを学んだことがことなない人たちになりそうです。
ということで、プログラミング未経験者に、プログラミングを学ぶにあたっての心得を書いてみました。
1. 数学ができないからプログラミングができないと思わない
よく聞かれるのが「数学が苦手なんでプログラミング難しそう」という言葉です。プログラミングは英語でProgramming languageです。つまり日本語とか英語とかの言語の一種です。
なので、数学というよりはどちらかというと国語に近いです。
つまりうまく順番を考えながら、意味のある構造を作っていくことがいくことが大事です。
まずは数学という概念を取り払って、文章を書く気持ちで始めるのがいいでしょう。
2. いいパソコンを買う
これは結構大事です。特に初心者にとってはどんなパソコンでも大丈夫だろうと思いますが、授業についていくのに、パソコンの起動が遅かったり、コードを実行してもなかなか実行されなかったりするとそれだけで授業に遅れます。つまり自分の実力とは関係ないところでついていけなくなることで余計にストレスを感じます。
もちろんかなりハイスペックの3Dゲームをやるようなパソコンは求めていません。ただメモリが2GBしかないなど、数万円で買えるようなパソコンはおすすめしません。
だいたい10万以上のものを選べば最近だと問題ないのではと思います。
去年に新しくでたMacbook Airなどはスペックが高いと評判なので、このあたりを買えば問題ないのでsないのでしょうか。
3. タイピングの練習をする
プログラミングとは関係ない?と思われるかもしれないですが、これはとても重要です。
できればブラインドタッチができたほうがいいです。
なぜかというと、授業で先生の画面をみながらコードをタイピングする必要があるからです。
タイピングに手間取っていると、先生の書いたコードについていけなくなります。
もちろん先生もそんなに早く書くわけではないですが、コードを書くことにストレスを無くせばより理解することに集中できます。
また、初心者のプログラミングエラーのほとんどがミススペルによるものなので、スペルを間違わないという意味でもタインピングは重要です。
4. ファイルとフォルダの使い方になれる
タイピングと同じくらい重要なのが、パソコンの使い方になれるということです。
初心者にはかなりよくあるケースなのですが、「先生さっきから同じように書いているのですが、まったく動かないんですよ」という質問をよくうけます。先生もよくわからなくて、よくよく調べてみると、今書いているコードのファイルと実行しているファイルが違ったというケースです。
これは自分が保存したファイルがどこにあるか把握しておらずに起きることです。
とりあえずデスクトップに保存するのではなく最初からフォルダ構造をある程度考えてファイルを保存することをおすすめします。
5. ファイルを都度保存する
これは本当に取り返しのつかないことがよく起こります。
今まで書いたコードをまったく保存していないケースです。
最近は自動保存機能もあり、保存しないと実行結果が反映されないものばかりなのですが、それでもファイルを保存しないまま実行しようとすることが多々あります。
とりあえずコマンド(コントロール)+Sはコードを書くたびに実行してほしいです。
6.言語はとりあえずひとつに絞る
フロントエンドであればJavaScript、サーバサイドであればRuby, Php, Pythonなどが最近の主な選択肢だと思います。
初めてプログラミングを学ぶ場合はまずは全部やろうと思わないことです。正直どれから初めてもいいと思います。問題はプログラミングの文法の基礎を学ぶことなので、いろいろと飛びつかないで、まずはひとつの言語について集中して学んでください。
順番的には以下のような感じですかね。
1. プログラミングの文法を学ぶ
2. オブジェクト指向の考え方を学ぶ
3. フレームワークを使う
- 参考:人気プログラミング言語
7. 流行りのフレームワークやライブリになびかれない
フロントエンドでは流行りのフレームワークが2,3年ごとにやってきます。
もちろんそのフレームワークを知ることは重要ですが、まずやるべきはプログラミングの文法です。
「もうjQueryはいらない、今はReactJSだ」というような記事をよく見ますが、それはjQueryをつかいまくって良いところも悪いところも把握し、結論としてReactJSに以降したということです。
プログラミング初心者にとってはフレームワーク比較よりまずはJavaScriptの文法をきちっと理解することです。ピュアJSでなんでもかけるというくらいになればあとはどんなライブラリやフレームワークに移行してもいいでしょう。
- 参考:jQueryいらない説
8. プログラミング教室や授業が終わってからが本当の始まり
プログラミング勉強は復習が一番大事です。
授業で聞いていてなんとなくわかったつもりでも、1週間後には半分くらい忘れています。
翌週の授業では前の授業が理解している予定で新しい技術を教えますので、半分くらい忘れている時点でついていけなくなります。
授業が途中からついていけない人たちは大体復習をしていない人たちです。
復習することで、自分の頭で定着しますので、できれば授業が終わった数日のうちに復習することをおすすめします。おすすめします。
9. 写経を侮らない
サンプルのコードをみながら、まったく同じコードを書くことを業界では写経といいます。
この写経がとても大事です。「コードみて書くだけじゃないか?」と思われますが、自分で書いていくことで気づきがあったり、自分で書いて間違えたところを理解したりと、プログラミング習得には写経は必須です。
現役のプログラマでも他の言語を学ぶときは写経から始めます。
上記の復習の件も同じですが、授業が終わったら、まずは講師のコードを写経することから始めてください。
10. インデントを軽んじない
インデントというのはコードの左側にあるスペースのことです。
このスペースをどれくら空けるかによって構造を理解していきます。
最初のころは先生のコードを写すのに必死でインデントを疎かにしてしまいますが、インデントがきっちりしていなければ他の人がみたときにまったく理解できなくなります。
正直講師もインデントがズレているコードはとても読みにくいです。
さらにプログラマはこのインデントが汚いコードをとても嫌います。
僕の知り合いはよく「インデントが腐っている」といっています。
たかがスペースですが、それを軽んじてはいけないです。
ちなみにpythonはインデントをきっちり書かないと実行しない言語でもでもあります。
ということでいろいろ書きましたがいかがでしょうか?
プログラマには「こんなこと当たり前じゃないか」と思われるかもしれませんが、プログラミング初心者にとってはとても需要なことなので書いてみました。