おかげさまで、javascriptプログラミングにも慣れ、PHPにも慣れ、そろそろプログラマー始めましたくらいのことはいってもいい時期なのかなって思えるようになりました。
はてさて、僕はプログラミングに挫折することなくなんとかここまでこれましたが、諦めそうになってる人や今後の自分に向けてプログラミングとは何かと言うことについてまとめていきたいと思います。
簡潔にプログラミングがなにかということを考えてみると、二つの言葉で表せるとかんじました。それは、
要素の
・分解
・再構築
です。
例えるなら、料理かな。もっと具体的には、他人の家の冷蔵庫の中にある具材だけをつかっておいしい料理をつくるというような感じ。
アニメーションの原理にも近い何かを感じる。絵が実際にヌルヌルと動いているわけじゃない。異なる絵をパラパラと変えることで絵をあたかも動いてるように見せる。
プログラミングも同じだ。限られた機能、要素を限られた動かし方との組み合わせで目的を実現する。コンピュータに対する命令はプログラミング言語→アセンブリ言語→マシン語→0101111100001…と最終的には0と1だけになる。0と1をどこで区切ってどう解釈させるかがコンピュータを動かす上で重要なんだけれど、0と1は電気を流すか流さないか、つまりonとoffの違いでしかない。
当たり前だけど、最終的には0か1かの2択に分解されるわけだから、プログラミングもそのような選択の繰り返しになる。要素がしっかり理解できていれば、あとは並び替えるだけだ。分解とは0と1まではいかなくとも機械がどう処理しているのかを裏で予想しながらコードを記述すること。再構築とは、それらの要素が複合的に組合わさるとどう動くのかを予想しながらコードを記述することだ。