WCAN mini 2013 Vol.8〜プログラミングのニガテ克服セミナー PHPで学ぶ、「コード脳」の鍛え方〜 に参加しました
たにぐち まこと さんによる、WCAN mini 2013 Vol.8〜プログラミングのニガテ克服セミナー PHPで学ぶ、「コード脳」の鍛え方〜に参加しました。 たにぐちさんのお話を聞くのは、WCAN2013 spring(WCAN2013springに参加してきました!SESSION2 「Bootstrapでつくる、いまどきのレスポンシブ・Webデザイン」| mkasumi.com)でのBootstrapのお話以来になります。他にもたにぐちさんの本を読んだことがあるのですが、とてもわかりやすく書かれていておすすめです。
普段の業務ではPHPを書くことがありませんが、今回はコード脳を鍛えたかったために受講しました。
プログラムはいくら「勉強」してもできない
いきなり難易度高いものだとわからないのでまずは簡単なものから勉強していきます。
ミスを繰り返せばだんだんできるようになってくるので練習しましょう。
たとえば、マリオのゲームでも難しいステージを何回もしていたらクリアできますよね。
プログラムはゲームやスポーツみたいなものです。
とうことで、セミナー中にちょっとしたゲームをやりました。
チクタクバンバンみたいなゲームです。すでに2つのマスだけ使うルートが決まっているのですが、用意された数のパネルをつかって直線を結んでゴールまでめざします。
このゲームで、「用意した物を把握してから組み合わせていく」というプログラムを書くときにも大切な体験ができました。
分解力
分解力のポイント
- 実装したいことをプログラムにできるレベルまで分解する
- コンピューターらしい言い回しに変える
- 語彙力、表現力を身につける
語彙力、表現力を身につけるにはリファレンスを眺めること。 ファンクションがどんな役割を持っているのかなんとなく眺めるだけで大丈夫。眺めていると、あとで「あ!あれ使えるかも」ってなるための索引だけは身につけておくことができます。
これ、実は私もHTMLとCSS覚えるときに無意識にやっていました。他にやってる人いたんだって思って安心しました。つぎはJavascriptを覚えたいので、今度リファレンス買ってこよう。
タイピング力
意外に大事な物で驚きました。タイピング力とは、書く早さのこと。 タイピング力が無いと学習が楽しめません。スピードが大事だそうです。 確かに通常業務でも普段書いているHTMLやCSSを書いてスイスイ作業ができるときよりも、普段使わないJavascriptやフォーム作成だと時間がかかってしまってあんまり気持ちよくはないということを私自身も感じています。
実際に鍛えるには写経をします。 意味が分からなくても大丈夫です。同じ物を慣れるまで打ちます。たとえば「print」を「plint」と間違えて打ってしまった場合は「l」の一部分だけ変えるのではなく、間違えた「plint」全部を打ち直すほうが場所を覚えるための練習としては良いそうです。
タイピング力で大事なこと
- 本では標準のテキストエディタでOKと書かれているけれど、初心者は高機能なエディタを使う
- ショートカットを活用することで本来の学習に集中できる
- 大文字のIと小文字のlの違いが分かりやすいフォントを使うこと
- 文字の大きさも大きめに
読解力
プログラム用語の解説が難しくてわかりにくいと感じている方に必要になってくる力です。
たとえばIT用語辞典。これはプロの方のためのもの。たとえばお医者さんの医学書みたいなもの。初心者にはちょっとわかりにくくなっています。
関数 【 function 】
引数と呼ばれるデータを受け取り、定められた通りの処理を実行して結果を返す一連の命令群。
IT用語辞典 e-Words
実際に引用してみましたが、初心者だとちょっと難しく思ってしまいますね。
簡単に言うと、関数は函数(かんすう)のこと。つつみこむという意味で、はこのこと。英語ではfunctionのことになります。
プログラム用語 | 英語 | 英語を日本語に変換 |
---|---|---|
関数 | function | 機能 |
因数 | parameter | 調整値 |
返り値 | return | 戻り |
このようなかんじで、プログラム用語を一度英語に変換した物をさらに日本語に変換するとわかりやすいです。セミナーの最後の方に質問させていただいたのですが、プログラム用語は英語原文を読んで理解するほうがいいとのことでした。
プログラム用語がわかりにくくなっているのは、数学用語で変換されているのでわけわかんないことになっているからです。
ポイント
- たにぐちさんの場合は、わかりやすい言葉になるんじゃないかなとおもって本を書いている
- なにがこの文章は言いたいんだろう?ということを汲み取る
デバッグ力
エラーメッセージは読むこと。読む練習をしていると慣れていきます。 中には2行目に直さなくてはいけないところがあるのに3行目とエラーメッセージに書かれていることがあるそうです。これは、エラーメッセージがエラーを出しているところではなくプログラムが止まったところを教えてくれているためです。
主な解決方法(たにぐちさんがネーミングされた物です)
print法 | 現在の様子をみて検証する (var_dumpを使うとわかりやすい、NULLは何も無いという意味) |
---|---|
exit法 | エラーは出ないがプログラムが実行され続けているときに使う。強制終了して確認する |
カット法 | プログラムの一部をカットして原因を特定する |
書き直し法 | 言葉通り書き直していく。 「'」が「’」だったりすることがある |
なんかいか失敗していると念力デバッグ(なんとなくどこが悪いのかわかるようになる)ができるようになるので大丈夫だそうです!
失敗して、その度にエラーメッセージを読んで、どこが悪いのか探して、作業して解決していくことを繰り返すことが大事なんですね。
まとめ
- プログラミングは「勉強」ではない(プレイして遊んでください)
- 何度も練習していこう
- 飽きないためにも好きになろう(挫折が一番辛い)
今回のセミナーはほんとわかりやすくて、9割は自分の中に吸収できたんではないかと思っております。途中、コーディング中のあるあるや、自分がすでにやってみたことがあるものもあったりして、「うんうん」と共感しながら受講することができました。
森田が覚えておきたいところまとめ
- プログラムは「勉強」じゃなくて「練習」する
- リファレンスを読んで実際使う時のために索引を作っておく
- プログラミング用語はプロのために解説していることが多いので英語を調べて、日本語に変換する
ブログを書くことでもう一度セミナーの復習もできたので、これからがんばって「コード脳」鍛えていこうと思います。