わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

プログラミングは山登り

プログラミングは,山登りのようなものである.
それぞれが山頂を目指して登る.
単独で登る人も,グループで登る人々もいる.
何の変哲もない,一つの山に見えても,
尾根歩きをする人,沢登りに挑戦する人がいる.
プログラミングでは,登っている山を大きくしたり小さくしたり,形を変えたりできる.
創造的なプログラミング*1では,そうするのが普通.
それが,プログラミングという名の山登り.

登頂おめでとう!
でも,山を降りるまでが登山だよ.
頂上にいるのは,数少ない入力で動作したと言っているようなもの.
登りと下りで景色は違う.
経路変更*2を余儀なくされることも.
お掃除も忘れずに.

初心者とベテランa novice and a veteranとでは,登り方,使う道具,そして結果がぜんぜん違う.
一緒だったら…もしかしたらベテランが足跡をつけてくれてて,
初心者はその通りに歩いただけかも.
でも,細い川を越えるときに,
渡せそうな木を見つけていたかもね.

下山すれば,プログラミング終了…ではない.
どんな山に,どんな方法やルートでアタックしたかまで,書き記しておこう.
チェックポイントにはコメントを.
どうやって登ったか,思い出すことはほとんどない…
ソースファイルを広げない限り.
ソースを改めて見直すと,あのときの情熱が,苦労が思い出せる.
いいのも悪いのも合わせて,コレクションだ.

元ネタ: 研究とは山登り - わさっき

*1:授業のプログラミングは,「決まりきった課題」に見えて,それが学生の興味を削ぐ原因になっているかもしれません.

*2:予想しない入力に対応するためのコード修正だけでなく,リファクタリングも,ここに含めるべきでしょうね.