#science fictionの話ではないです
頭の中でプログラムを組んでみようという話
#理由 プログラミングがダルくなってきたので
プログラムを100ファイルアップするまで毎日qiita更新しようかと思ってたけど、プログラミングに対して若干ダルさを感じてきたので原因を分析
#プログラミングがダルい原因
プログラミングという行為を解体すると、
##何を作るか決める
##だいたいどんな感じで作れば良いかパーツを考える
##コーディング
##テスト
###動かない場所をデバグ
####動かない箇所を修正
という感じでダルく感じるのはコーディングと動かない場所の修正の部分
さらにその原因を解体すると
1.関数と関数の使い方を思い出せない
2.文法を思い出せない
3.一度書いたコードのブロックを思い出せない
4.正規表現を思い出せない
5.前に書いたコードを全体的に思い出せない
6.データ構造を把握できていない
という有様で、要はほとんどの原因がその都度リファレンスや過去に書いたコードや読んだコードを思い出すのに労力を取られてることが分かった。
これは当然ダルい。
6については事前にこまめにpp(他の言語のメソッドは知らん)しとけば問題なし。
要は覚えておけば解決っていうロジックの世界から多少離れた体育会系的な解決策で解決できる。
#プログラミングはぷよぷよと同じ
書きたいプログラムを思いついたが目の前にPCが無いし、すぐプログラムできない。
そういった場合あなたはどうするか。
以前ぷよぷよにハマった時は頭の中でぷよを動かして連鎖のパターンをいくつも作って練習していた。
で、実際だいぶ上手くなって子供の頃にぷよぷよを持っていた相手に2週間くらいで勝てるようになった。俺の頭がおかしくて偏執的にずっとぷよぷよのことを考え続けたから、というわけもないはずだ。
ぷよぷよは色の種類とパターンがある程度決まっているからできる。
さて、プログラミングでは。
#つまりなぜプログラミングがダルくなってるか
プログラミングのダルいところはデバッグではなくて、実装でいちいち何かリファレンスを見なきゃいけないところだと思う。
短いコードのブロックからデータ構造をきちんと把握して、大きくしていけばtypo以外でバグは比較的小さなプログラム(100行以下などで最大でも多重ネストを避けて、既知のクラスやメソッドのみを利用するなら)ならバグも出づらい。
#脳内でやろう
そういったわけで、少しの間メソッドやコードを頭の中に詰めていちいち書いてる途中に調べるという動作を避けてプログラミングをするということをする。
しかもそれを脳内だけで作って、PCに向かう時は頭にあるものを書くだけ、という状態にする。
そうすれば一日のうち14時間くらいはプログラミングをし続けることができる。はず。
#今後
上手くいったら儲けものくらいで考えておく。ある程度までは成功すると思うけど、完全では無い、というのが自分の予想