プラモデルの重なり方
0から1にするときに学んだこと。
今までなかったシステムを作るという経験をしているのですが、その中で今思っていることを書きます。
「プログラミング言語は道具でしかない」ってのはなんとなく感覚で理解してたのですが、0からシステムを作っていく上で、なんとなく腹に落ちたのです。
開発って、プラモデルを作るのに似ているなと思います。
作りたいプラモデルの形、説明書、部品、道具、技術(くっつけるだけも含む)。
これらが全部ないと、プラモデルは完成しないわけで。
開発も、同様だと思うんです。
要求、設計、コンポーネント、プログラミング言語、プログラミングスキル。
全部揃わないと、完成しない。
どれかがかけると、思ってたのと違うものができてしまう。
そして、重要度も似ていると思うのです。
道具と技術があっても、どうしようもない。
一番大事なのは、作りたいプラモデルの形、説明書。
これらがないと、どうやったってダメで。
部品と、道具と、技術だけでも、つくれることはあるけど、思ってたのと違うことがある。
開発も、要求と設計がちゃんと出来てないと、思い通りのものはできない。
そこで9割が決まってしまう。
だからプログラミングは道具で、開発の上では重要度は低いものだと、感じました。
でも、だからといってプログラミングが適当で良いわけはなくて。
プログラミング技術を貪欲に得なければならないとも、思います。
僕は、子供の時によくBB戦士や1/144のプラモデルを作っていたんですが、よく違うプラモデルの部品を取り替えて、別のものにしていました。
BB戦士同士の部品をとりかえっこするのは、簡単にできます。
基本的に穴の大きさが一緒だからです。
でも、BB戦士の部品を1/144のプラモデルにうまく付けるには、技術がいります。
例えばBB戦士の頑駄無流星王の肩パーツを1/144のガンダムデスサイズに付けようとするなら、カッターなどを使って切込を入れる必要があります。
プログラミングの技術を得ることは、部品をうまく使うためにカッターという道具を使えるようになることに似ていると思うのです。
たくさんの技術を得て出来ることを増やし、思い描くものをうまく作れるようになる。
そのためには、やはりプログラミング技術も重要なのだと、感じます。
と、今更なことを書いてみましたが、僕にとってはこう、いままでもやがかっていたことがはっきりしたような、そんな気分になったので、書きました。