「あ!そうか!」ってのはなかなか曲者で、自力で簡単には手に入らない。
事前の悩みがあり、イラっとくるような不快感があり、試行錯誤があってようやく
自分のココロに衝撃を伴って現われてくれる。
記憶に焼付けができるのはそんな時だ。
教科書とか手順書読んだらずっと大丈夫〜みたいなことはない。
繰り返し繰り返し覚えて自分に定着するまで苦労があるはずだ。
そこに答えがあるにもかかわらず。
とはいえ、この苦労の過程は避けて通れないもんだと、あれこれやってみて理解した。
苦労があるほうが効率的なんだ。
しょうがねぇ。

[繰り返されること]

おいらは論理思考を破棄するのは長続きしない性質なので、*1
破棄するためにあれこれ自分で努力するよりはツールに落とした。
あれやってこれやったらホレ出来たみたいな時間短縮のための手順をつくることで、
できる限り、何かをしながら考えることを有効活用出来るようにしてみている。
定型編集とコピペを使い倒せば、言語関係なく等しく開発能力が手に入る。
行数で月10万でも30万でもいけるだろう。自動生成機能を増幅すればなんてこたーない。
今では開発している時間のほぼすべては「考える」と「わき道それている」に分類される。
いかんいかん。


同時に、自分ひとりが出来てもしかたのないこともあると、いつかどこかで焼きついたので、
その推進力を誰かにも付与する際に必要な条件というか土壌というか、そーゆーものが必要で、
そのなんだかよく理解しにくいレベルの境界線と、現在位置を把握するために言い続けてしまうアプローチがある。
端的な物言いをすると。
<初級:初期段階のレベル>
(,,゚Д゚)<ごちゃごちゃうるせぇ習うより慣れろ。
     とりあえず手順を踏襲しろ。してから物言え。


<中級:慣れたころのレベル>
(,,゚Д゚)<慣れたからって調子こいてんじゃねぇ。
     なぜそれでうまくいくのか考えろ。考えて理解しろ。


<上級:理解できる人たちのレベル>
(,,゚Д゚)<そこで何をどうしたらこうなるってのがわかった上で
     どんなことしたらより効率がよいかを模索するんですよ。


初期では頭で理解するより、より多くの経験のほうが大事で、
良い悪いすべてが後の糧だからあえて負荷高めの言い草をとってみる。
独り立ちできるころは頃で、悩み多き時期。
情報の取捨選択を覚えて身に染み込ませるのが目的で、その先に待つ永遠の修行みたいなことが出来たらいいなってゆー土壌作りのための1手をとってみる。
反射でも理解してるのもどっちでもよくて、
何でもできるからこそ「ほな次どーしよう。どうやればよりうまいこといくかしら」ってのをあれこれ一緒に考えてたい。


これらはみーんな過去のいろんなジャンルの先人達が残した言葉からでたもの。
今自分は前人未到の新しいことを宣言しているわけじゃなく、
繰り返されて繰り返されてきたことを繰り返しているだけのこと。
でもそれが結局よかったってこったと脊髄反射できるまでにどんだけ無駄を積み重ねてきたんだろうとやっぱり思うわけで。
最初から答えはそこにあったんだ。
ってのを今でも実践しきれてないもの覚えのわるい自分があるんだなこれが。



中級までにはお勧めしない「考えながらやるプログラミング」*2
コード作るのに無我の境地に入るのもいいけれど、
考えながら行うプログラミングはやはり楽しい。
行き着く先はクラス分けと、データ保持と条件判定もそこそこにfor eachのループばっかりになると思えどもそれをやるのが楽しい。
でも土壌が無ければたんなる暴走になってしまうから、
そこはレベルによる差別を行うのが吉だとおいらは思うのですよ。


わかるやつにはわかる。
いい意味でそーゆーのが増えてくといいなって思った。
なんかほれ。
わからないからってそれは自分を否定されているコトではなくて、
まだまだオレは甘めぇ(´∀`)って思えたらなんかいいなって感じたからかなぁ。

*1:5分ともたない。ってか雑念が多い

*2:いつでもお勧めするのは「考えてからやるプログラミング」。自分でも3回に1回くらい忘れるのだが。