プログラミングの階段かスロープか

(酷い絵ですみません)ここにプログラミングの山があります.すごいものを作るにはどれくらい高くまで登らなければならないか,という絵です.

緑色の階段と赤いスロープがあります.

緑色の階段は今までのやり方のプログラミングです.まず,最初の段を登るには繰り返し,条件分岐といった初歩を学ぶ必要があります.たぶんこの段階では,まだ変数はでてこないので,そんなにすごいものは作れません.そして,子供には最初の段くらいまで登れればよいという(というか2段目は到底無理だから)のか,この最初の段を登るためだけの教材が沢山あります.木で出来ていてそれだけで数万円して,結局1段だけというものもあります.世の中は1段目くらいしか興味がないのかもしれませんが,上に進むにはもっと高い段差を登れる体力(スキル)が必要です.Scratchは結構上の段まで行けますが,ツールのデザインとしては3段目くらいまでで,その先をやるなら他の言語を学んだ方が楽だと思います(ここで何段というのは特に意味がなく,相対的なものです).

一方,赤い方のスロープはビスケットのプログラミングです.最初からとてもなだらかで,苦労して何かのスキルを身につけないと先に進めないということはありません.その代わりなかなか上には登れません.

実は最近まで,ビスケットではScratchの3段目に相当する高さまでは登れないと思っていました.それより最初の方のスロープの滑らかさばかり頑張って磨いていました.

ところが,ビスケットで作ったテトリスです.まだ本当に全パターンのテトリスを作ってはいませんが,原理的にできることまではわかりました.この調子で登ればスロープの延長線上にテトリスが見えたということです.

テトリスがどれくらい難しい問題かというと,Scratchの4か5段目くらいに相当します.すごいプログラマーだったら作れないことはないですが,Scratchをやっている標準的な子供,つまり3段目までのスキルでは作れません.

これはたまたま,テトリスのようなゲームがビスケットにぴったりだったということであって,3段目まででScratchで作れるすべてのプログラムがビスケットのスロープ上にある,というわけではありません.ビスケットで作れないものも沢山あります.テトリスはたまたまです.しかし,テトリスのようなゲームはほぼ大丈夫ということでもあります.

Scratchで3段目まで登れるようになるのにどれくらいの筋トレが必要なのか.僕もちょっとその辺の経験がないのでわかりませんが半年くらいはかかるのではないでしょうか.ビスケットだと数時間です.筋トレはしません.

階段は筋トレしないと登れません.筋トレというのは「なになに力」「論理的思考力」とか「プログラミング的思考」とかを身につけるということです.階段を登ることをプログラミング教育と呼ぶなら筋トレ必須です.スロープで行くプログラミングはなんと呼ぶべきなのでしょう.こちらは筋トレしなくていいから,なになに力は身につかないです.

なになに力を身につけるのが目的ならば,スロープを登るのは禁止です.一方,コンピュータで自由に作れるようになるのが目的ならば,どっちの登り方だってよいわけです.最初から運動神経のよい子供なら,緑の階段をどんどん登れるかもしれません.

コンピュータの専門家になるのでしたら,行く行くは階段を登らなければなりません.だとしても,最初はスロープで高さの感覚を身につけてからの方が,全体が見通せる専門家になれるのではないでしょうか.スロープの経験も無駄ではないはずです.

専門家にならない大半の人は,階段の1段目だけでもやるべきなんでしょうか.1段目でやめるとほとんど何にもできないまま終わります.それよりはスロープを登って少しでも高い気分を味わう方がよくないですか?その方がコンピュータで自由にものを作っている感に浸れますよ.

スロープ研究のこれからの課題は,テトリスの他にどれくらいのものが作れるのか.どんな拡張をしたら,取りこぼしたものもちゃんと拾えて,さらに上まで登れるのか.ですかね.

シェアする

  • このエントリーをはてなブックマークに追加

フォローする