99 BASIC のすすめ(2)
99 BASIC のすすめ(1)を書いてから、本当にこれをすすめてよいものなのかとぼくは自問した。
【 99 BASIC - http://www.sagami.ne.jp/tadaka/99Basic/ 】
ぼくは間違っていないだろう。
もし、プログラミングの経験がまったくなくて、直ぐに何かプログラムを作る必要に迫られているわけでもないのなら、99 BASIC を使ってみることが一番よいのではないかと思う。
しかしこれは本来、ガラパゴスBASIC のすすめであり、もっとよい処理系があれば 99 BASIC に拘る必要はない。では、ガラパゴスBASIC とはなにか。(Minimal BASIC 規格というものがありそれに該当するようだ)
かつては、パソコンを使うほとんどすべてと言っていいほどの人々が使ったであろう N88-BASIC が、それなのだと言っていいと思う。どうように 99 BASIC がそれだと言っても間違いではないだろう。
ここで ガラパゴスBASIC の文法を厳密に定義したところで意味はないだろう。しかし、少しだけ具体的に言うなら、N88-BASIC から特別に大きな文法的拡張がない、素朴な BASIC を思い浮かべている。そして、一つの画面ですべてが完結している開発・実行環境であること。
auto、save、run、new、files、load、list、renew、cls、system などのコマンドがあり、プログラムの作成、修正、実行、保存、などが同一の画面で可能であることなどである。
もし、99 BASIC によってプログラミングとは何かを理解できたなら、その次には何を学んでもよいだろう。ぼくは Python をすすめたい。それなら、最初から Python を学んだ法が手っ取り早いし無駄がないと思う人もあることだろう。
確かにその道を選ぶのも一つだが、Python は素朴な思想を持つ言語ではあるが、その全体としてはモダンな最前線の言語であり、プログラミングの楽しさを知る前に挫折してしまう可能性があるのだ。
ぼくの見立てでは、Python の全体を学ぶコストは 99 BASIC の全体を学ぶためのコストの 20倍はあるように思う。もちろん、Python の使用範囲を明確に小さく限定した入門者のための書籍があり、かつ「Basic Python」と呼べるような規定があり、誰もが共通してそれを学ぶことができ実戦できる環境があれば、それも悪くはないと思う。
だとしても、しかし、Python 以外の選択肢も多いのだから、プログラミングというものをよく理解したうえで、自分のプログラミングにとって何が必要なのかを見極めてからコストをかけたほうがよいのではないだろうか。
また、そもそも 99 BASIC それ自体でけっこう多くの目的を満たすはずだ。
直ぐにではないかもしれないが、ぼくは「99 BASIC のすすめ(3)」を書きたいと思っている。そしてまた、99 BASIC の入門の手助けをしたいという気持ちも生じてきている。
ところで、かつて、スティーブ・ジョブズが AppleⅡを作った(実際の開発はスティーブ・ウォズニアック)とき、このパソコンがこれほど美しかったのは、やはりスティーブ・ジョブズだからなのである。ちなみに、ぼくは根っからの Windows 野郎だが、1年ほど Macintosh(Classic)をオフィスで使ったことがある。そのころのぼくは Mac のことを「脳ある Mac は色を隠す」と言っておもしろがっていた(Mac への敬意だよ)。
当時は、コンピューターを大衆がいったい何に使うのだという疑問があったようだ。ゲームを楽しんだ人たちも多かっただろう。しかし、人々の好奇心とプログラミングの楽しさというものが、 パソコン市場というものを新たに立ち上げる原動力となったはずだ。
AppleⅡは、BASIC でプログラミングを行うことができた。現在でも、言語は何にせよ、ぼくにとっては、大きなディスプレイとキーボード、そしてプログラミング言語、それがなければパソコンの意味はない。スマートフォン(あるいはタブレット)で十分となってしまう。
女子中学生や女子高生が(ちょっと差別的だね)、プログラミングするだろうか。するはずはないね。だから、パソコンなど不要なのだ。スマホで十分であり、彼女らの必要はすべてそこにある。
何を言いたいのかって? うん、バカでかいパソコンを持っているならプログラミングをすべしと言うことだ。パソコンが売れなくなったのもよくわかるよ。サーバーとして使うニーズ、ビジネスで使うニーズ、そして、知的なパーソナルが使うニーズ、パソコンにはそれしかないだろう。
パソコンは大衆に見放されたのだ。(大げさだね):P
ぼくがもしプログラミングと関わらないのなら、ウェブを開発しないのなら、クリエートしないのなら、パソコンなど持たずにタブレットを使っていると思う。
だからといって、すべての人が Python だろうか、Ruby だろうか。そりゃ無理だろう。
ガラパゴスBASIC を見直してもよさそうだ。