はじめてのプログラミングについて考える

プログラミングを自分ではじめようとして、うまいこといかなかったけれどもどうしたらいいですか?という話を少なくとも今年に入ってから3人に聞いた。ただ、これへの回答は難しい。難しいので、今日のこの記事自体が明確な回答にはなっていないが、思うことをいろいろと書いてみる。

まず思ったのは「プログラミングをしてみたい」という人は動機はいろいろあるにしろ、結構いるんだなということだ。正確には「何か作りたいもの」があって、それはソフトウェアなので、プログラムを組みたい、ということなんだと思う。

そしてもう一方で、いろんなソフトウェアやハードウェアが進化してしまったおかげで、環境構築がめんどくさくなり、そう簡単にプログラミングができなくなってしまっている、というのも事実なのだろう。*1いかに入門書がやさしくなろうとも、なんか妙なところでどんづまりになってしまい、それから脱出できずに挫折する、というのはある。会社に入ったときの新人研修でさえ、C言語で書いたプログラムがうまく動かなくて教育担当の先輩とうーんと唸っていたし、ついこないだも先生とふたりでPascalのソースをうーんと唸って眺めていたら、改行コードが悪さをしていた、というのがあった*2

残念ながら、なのか、ぼく自身は小学生の頃にプログラムを書き始めており*3、一般的な「いまからプログラム始めます」という人の参考にならないことも多いと思う。それでも、何かしらのエッセンスはあるような気がするので、しばらく昔話を書いてみることにする。

※上の文を書いたときは1回完結だと思っていたのですが、意外と長くなりそうで続きものにしました、すみません...

ぼくが生まれたのは1983年で、いまも父母が住むある奈良の家に引っ越してきたのは1987年だった。あんまりよく覚えていないが、幼稚園か小学校に入った頃にはもう家にNECPC-9801があった。初代は確かUXだったはずで、wikipediaを見たところ1987年10月発売らしいので、まあそんな頃だろう*4。これは、父が趣味でパソコンを使っていたためである。父は学習塾に勤めていたが、そこでの成績管理にもコンピュータは導入されており、いろいろ勉強したらしい。Sさんという父の友人(塾にいたSEさん)がときおり家に遊びにきていた記憶がある。

当初は父に教わってゲーム*5をしたり、四則演算がクイズ形式でできる教育用ソフトを使ったり、天体観測のソフトを使ったりしていた。当時のプログラムはぜんぶフロッピー1枚とか2枚に収まっていてコンパクトだった。ちなみにぼくは5インチFDDというのはお世話になっておらず、みなさんがよく知っている3.5インチのものしか実用的には使っていない。

そう、とりあえず最初は単なるユーザで、別にプログラムを組もうという気持ちもなかった。それでも、当時のパソコンはROM-BASICというのが内蔵されていた。当時のパソコンはハードディスクなんてついていなかったので、何かしらフロッピーを入れて電源を入れたら、そのフロッピーに入っているプログラムが起動する、というのが基本だった。じゃあ、フロッピーを入れないで起動するとどうなるか。そのとき起動するのがROM-BASICである。

wikipediaの項目を見ると、パソコン初級者にはちょっとわかりづらい説明だと思うのでざっくりとまとめておく。要するに、

  • パソコンを起動したらいきなりプログラムが書ける環境が整っており、
  • 大したことはできないけど、
  • それ以外のことがまったくできないためとりあえずプログラムを書くしかない

という状況であったのだ。もっとも、ぼくもこのROM-BASICを知ってからちゃんと勉強を始めるまでに何年かのブランクがあるため、当初から大変お世話になったというわけでもないのだが、それぐらいオールインワンに始められて、かつ、あんまり大したことはできないけれどもそれなりに面白い、というのは重要なポイントだったと思う。(続く)

*1:もっとも、昔に比べてコンピュータというものへの敷居が低くなったので、多くの人が挑戦して多くの人がつまづいているから、結果として多く見える、というのもある

*2:眺めていても実にわかりづらい

*3:途中のブランクは10年以上あったが

*4:このあたり父からのコメントを待ちたい

*5:名前を思い出してググってみたらちゃんと出てきて驚いた