2020-10-15

プログラミングの壁

私にも経験がある。

参考書を買ってひたすらコードを打ち込むのだがまるで頭に入ってこない。

参考書が悪いのではないか自分に向いてないのではないかと思い、別の参考書を買い、気づいたら家の本棚参考書だらけになっているのだが、結局プログラムは書けないままなのである

今になってみると上記の行動はある一定意味があったとは思うが、本質的意味理解せずに写経をしているのと変わらない行為だったと思う。

では、どうしたらプログラミング技術が身につくのだろうか?

一番最初に学ぶ言語は何が良いのか?

どんな環境が良いのか?

私はJavaScriptを奨めたいと思う。

理由ブラウザテキストエディタがあれば開発環境が揃うからだ。良くわからない複雑な環境設定で消耗する必要はない。

またブラウザリロードすれば実行結果がすぐわかるのも手軽で良い。

尚、外部のライブラリ使用オススメしない。車輪の再発明上等である

目的の設定:

ブラウザ上で動くブロック崩しを作ることを一旦の目的としよう。別にぷよぷよでも良いしテトリスでも良い。

作り方:

ここから重要だ。ステップバイステップで進めよう。

・画面にブロックを表示する

ボールを表示する

・自機を表示する

この段階では動かなくて良い。HTMLでそれっぽく表示されていれば良い。

次に自機を動かすことを考えよう。

キーボードのWを押したら左に、Dを押したら右に動くようにしよう。キー入力を受け付けて描画している自機を何ピクセルか横に移動させる。同様にボールを動かす、壁に当たったボールが跳ね返る、ブロックと衝突を判定する、ブロック消滅させるなどなど一つずつ解決しよう。結果はブラウザにすぐに表示されるから逐一チェックできる筈だ。

おそらく上記実装する時に上手くいかない事が沢山出てくる筈だ。なぜ上手くいかいかを考えて調べてみよう。もしかすると考え方が間違っているかもしれない。可能な限り実装したい動作を分解して考える事がポイントだと思う。そして解決策は必ずあるということも忘れないでほしい。

さて、それっぽく動く物はできただろうか。

ある程度動くものが出来たとしたらとても苦労したことだと思う。そして飛躍的にプログラミングが出来るようになったという実感がある筈だ。

重要なのは、以下の3点だ。

実装したい動きを分解して考える癖をつける事

目的に対し実装する手段を調べる事

進歩が分かりやすい形で表示される事(モチベーションに繋がる)

プログラミングの話となると言語選択作法の話になりがちだが、最初は全くそんな事を気にする必要ない。コードは汚くて良いし、動けば正義だ。動作が速ければ尚良い。自分がやりたいことをコード表現出来て楽しめる事が何より重要だ。

今回書いたエントリが楽しんでプログラミング出来る事への一助になればと思う。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん