プログラミングの一歩目を踏み出すには

47歳になりました。まだちゃんとプログラマやってます。

子供も二人いるプログラマお父さんとしては、義務教育にプログラミングを取り入れるなんて政策にはかなり関心を持つ。関連ニュースや書籍などに目を通すと、国としてプログラミングできる人材が欲しいという意見とか、なぜプログラミングを教えるかという理由なんてのは、実際それで飯食ってる人間だから理解できる。

しかし理解できると言いつつ感じるのは、そもそもプログラミングってIT力や論理力を付けるためとか将来仕事にありつきやすいとか、そんな目的ありきで覚える技術なのだろうか?ってこと。まず最初は、「動かしたい!遊びたい!見せたい!」って欲望を満たすために何とか足掻くから自然と覚えはじめるのではないのか。

なぜそう感じるのか。俺はどうしてたんだっけ?
誕生日という節目でもあることだし、記憶から消えてしまう前に「俺のプログラミング一歩目」を書き出すことにした。

初めて触ったマシンは中学生の時。遊びに行った友人の部屋にあって、今でもそのマシンの色が鮮烈に頭に残っている「X1」だ。真っ赤なX1。羨ましかった!

いくつかゲーム遊んで、そこでなぜかいきなりプログラミングをしてみることになったのだ。
その時代のプログラミング事始めでは定番?の「数当てゲーム」。コンピュータが思い浮かべている数を当てるゲームだよ!
なんて書けば多少は格好がつくが、実際にはIFとPRINTの羅列でループも乱数も使っていない(だってそんなの知らなかった)から、数字とその順序は完全に決まってて一度正解覚えたらもうクソつまらないテキストゲーム。隣で見てた友人に遊んでもらったはずだが、きっと彼もクソつまらんって思っていたであろう。ごめんよ。

でもね、よく考えてほしい。
当時は8bitマシンであるX1が羨ましすぎた1980年代前半だよ。
Google先生なんて影も形もなかった時代。まともな教科書だってなかった。その状態で生まれてはじめてのプログラミング。その友人だってマシン持ってただけでプログラミングなんて知らない。
しかし幸運なことにその頃のゲームはBasicだけで組まれてるのも多くて、しかもキーひとつで実行止めて中身が拝めたりした。コード眺めてもさっぱり意味が分からなかったにせよ、「いっぱい命令並べたらきっと俺にもゲーム作れるんだ!だったら当然作るでしょ?作ろうよ!」というサル状態になれたのだ。
呪文のような命令の中で理解できたIFとPRINT、あとたしかINPUT。これだけあれば数当てゲームはできる。サル状態じゃなければきっとクソつまらん数当てゲーム。でもサルだった俺にはこうして30年以上経っても覚えてるほどの強烈体験。

「動かしたい!遊びたい!見せたい!」が己の書いたプログラムによって「動いた!遊べた!俺スゲー!!」に変わった瞬間だ。こんな体験すれば、あとはもう放っておいたって勝手に進化していくでしょ?サルなんだもん。

次に出会ったマシンは、これまた別の友人が持ってたMZ-1200。遊びに行けば友人が好きに使わせてくれたこの名機を前にして、さらに俺の手元にはついに素晴らしい教本があった。日本のおっさんプログラマならほぼ100%知ってるであろう偉大な雑誌。「ベーマガ(正式名:マイコンBASICマガジン)」だ!
この雑誌の何がすごいって、1ページ分ぐらいの短めプログラムが何本もたくさん詰まってて、打ち込むだけでゲームが遊べた。しかもソースコードだから自分の好きに弄ることが出来た。さらにそのコードを真似しながら、まったく違う自分だけのゲームを作ることだって出来た。真似することを誰も咎めなかった。「動かしたい!」「動いた!」を何度も何度も繰り返すのである。サルの永久ループ。そりゃもう楽しすぎだろ!

この後、ベーマガのプログラムリスト中に散見する「なにこのDATA文って?」から開いてしまったマシン語への門の話とか、サルが遂に親をも説き伏せ自分のマシンを手に入れてからの修行編とか、いろいろ続きも書いてみたいが今回のテーマではないのでまた機会があれば。

俺が子供の頃と今とではまったく状況は違う。スマホのゲーム遊びながら「これどうやって動かすんだろ?」って思ったところで、その真髄にサルの勢いだけでたどり着くのは非常に難しいだろう。でもググれなかった当時でも欲求さえあればプログラマへの道はあったのだ。考えを変えれば今のほうが最短経路が整備されているとも言える。

もし自分の子供が、一瞬でも「これどうやってるの?」とか聞いてきたら、その一瞬を逃さずプログラミングのための道具と手段と知識を存分に与えてやりたい。
いきなりプログラミングを教えるってことでなくて、まずは「動かしたい!遊びたい!見せたい!」って本人が望むのが重要で、それまでは変な誘導とかせず色々興味持ってもらう方が良いのではないだろうか。レゴに夢中になるのは良い傾向だ。Nintendo Switchも予約済みだよ。興味持ってもらいたいもん。一応そういう目的もあるのよ。はよゼルダ遊びたいってのはついでだよ。