挫折した話をすると、たいてい「作りたいものから始めるといい」と言われました。
もっともらしく聞こえます。 実際、そうやって伸びた人を何人も見ています。 私はこの助言で一度も動けませんでした。
作りたいものはありました。 それでも、そこから次の一歩が出ません。 「で、そもそも何をどうすれば」というところで止まります。
願望と問いは別のもの#
長いあいだ、これは意欲の問題だと思っていました。
いまは、作りたいものと問いが別のものだと考えています。
たとえば、やることを管理するアプリを作りたいとします。 これは願望です。 ここから手を動かすには、いくつも小さな問いに割らないといけません。 複数のやることをどうやって持つのか。 一つ終わったときにどう消すのか。 画面を閉じたあとも残すには何が要るのか。
問いに割れていれば、調べる先が決まります。 割れていないと、検索窓に入れる言葉すら出てきません。
割るには部品の名前が要る#
では、なぜ割れなかったのか。
複数のやることをどう持つか、という問いは、持ち方が何通りかあると知っている人にしか浮かびません。 配列という言葉を知らなければ、持ち方は一通りしか想像できません。 一通りしかないものについて、人は問いを立てません。
私が止まっていたのは、この段でした。 選べる形を知らないので、比べようがなく、比べられないので問いにならない。 やりたいことは最初からあったのに、それを問いへ割る道具のほうがありませんでした。
問いを立てるには、選べるものの名前が先に要ります。
基礎という言葉が指しているもの#
「基礎が大事」とはよく言われます。 その基礎が何を指すのかは、あまり説明されません。
私が後から必要だったと分かったのは、繰り返し、場合分け、まとまりに名前を付けること、そして値の持ち方の何通りかでした。 どれも、それ自体が何かを作るわけではありません。 何かを作りたくなったときに、選択肢として並ぶものです。
paiza で問題を解いていた頃、私はアプリを作っていませんでした。 入力を受け取って出力を返すだけです。 それでも、あとから振り返ると、あの時期に手に入れたのはこの並びのほうでした。
順番を入れ替える#
作りたいものから始める助言が間違っている、とは思いません。 すでに選択肢を持っている人には、いちばん速い道だと思います。
持っていない状態で同じ助言を受けると、願望と手のあいだに橋がかかりません。 私はここで二年止まりました。
作りたいものが浮かんでいるのに手が動かないなら、いま自分が何と何を比べられるかを数えてみてください。 比べられるものがゼロなら、足りないのはやる気ではなく名前のほうです。