PC処世術>>雑感>>

PC処世術 - 雑感:日本語プログラミング言語の思い出で考えるPCの意義


 その昔、“パソコン”(ないしコンピュータ)と言えばイコール“プログラミング”という時代があった。そんな時代にいわゆるパソコンに触り始めた筆者自身も、やはり「“パソコンをいじれる”ということは“プログラムを作れる”ことだ」というイメージだけを持っていて、それゆえにママゴト程度ではあるがプログラムを書くという体験を持つことができた。
 この21世紀においては、「パソコンを使う」というのは、なにがしかの操作をパソコンで行う(例えばエクセルを使う、とか)を指すのであって、プログラミングを指すことが稀なのとは対照的だ。現代においては、“プログラムを書く”などというのは余程物好きな趣味人か、あるいはそれを生業にしている人のための作業になっているとも言える。それが出来なければならないということは無いし,勿論、それができないからと言って実社会で困ることも無い。
 21世紀に入ってからの“パソコン”は,既に道具ないしは日用品となっており、誰かが作ったソフトウェアを使えれば良いという段階に達している。もはやプログラムを組むなどという行為自体に大した意味は無いとすら思えるほどだ。

 しかしながら、筆者はこうした潮流に対して,当サイトの こちらこちらあるいはこちら で考察してきたように、「コンピュータは単なる道具で,使い方をマスターすれば良い」とする見方には疑問の眼差しを注いでいる。
 そして更に、かつて体験した「プログラムを書く」という労作を通じて培われた“物事の考え方”などは確かにあったと感じるようになっている。ここでは、筆者が体験したプログラミングという行為を回想しながら、パソコンに「単なる道具」以上の意味を見出せるかどうかを考えて見たい。(そもそも、そんな意義を見出す必要があるのか、という議論もあろうが,筆者としてはそういう意義が見出せないなら、PCではなく専用機化すればそれで良い、という思いもある。)

 さて、筆者は特に情報関連を専門とする道を歩んでいないため、専門家の方々とは異なる方面からプログラミングというものに触れて来た。筆者が初めてコンピュータらしき物に触れたのはファミリー・ベーシックであり、その後 MSX や 日本IBM の JX などに触れたのだが、BASIC とはあんまり真面目に付き合わなかった。筆者がそこで学べたことは、コンピュータは処理を逐次行ってゆくものだということと,能力に限りある計算機でまともにプログラムを組もうとすれば相応のスキルが求められる、という程度のことだった。

 筆者が真面目に取り組んだ最初のプログラミング言語は、(どこでこれを知ったのか失念したが)『日本語プログラミング言語MIND』である。PC関連で『日本語何某』と言えば、通常は「漢字表示可」を意味するのが常だが、こちらはそうではない。日本語でプログラミングが可能な言語なのである。
 MINDは現代でも未だ途絶えていないプログラミング言語であり,システム記述言語として設計され、かなり凝ったプログラムまで書くことができるシロモノであった。当時,試用版コンパイラがパソコン通信などを通じて無償で流通していたおかげもあって、筆者も随分とお世話になったものだ。
 ご存知無い方も居られるかとは思うが、この言語は“FORTH”という言語を元にして作られたものである。FORTH が持っていた「引数をスタック(*)に積んで渡す」という構造が、日本語の持つ文法構造や主語を省略した表現などと相性が良かったことから,日本語プログラミング言語が生まれたとされている。(* 注:ここでいうスタックはCPUが持っている一般的な機構ではなく、処理系が独自に持っている機構。詳細は 公式サイトにて。)
 さて、この「日本語でプログラミングができる」という MIND だが,筆者がこれを使ってDOS用ツールを作成しながら学び得たことは,「プログラミング言語(コンパイラ)を介して得られるのは最終的に機械語コード列であり、CPUはそれを逐次実行している」という基本中の基本と、「学習の難易度は,言語が日本語かどうかということと無関係」だということだ。
 無学な筆者としては「プログラミングが日本語でできるから、学習が容易な筈」という実に安直な考えのもとに始めたMINDであったのだが、実際には処理系が持つ概念(例えばMINDの場合はスタック)を理解・体得することの方が,単語が日本語かどうかということよりも遥かに重要であることの方に気付かされる結果となったわけだ。
 このことは,プログラミングの学習に限ったことではなく、実際の語学などでも同じことだろう。例えば外国語を学習する際には、単語が横文字かどうかという問題ではなく、言語が背景に持っている文法と考え方を理解していることの方が重要だったりするのと似ている(筆者の主張)。

 結局、筆者はこの後「日本語を打つことの面倒さ」の方が重大な問題(変換辞書がアホになった)と考えるようになり、MINDから離れ,ニーモニックとアセンブラの世界で遊ぶことになる。
 その後筆者は計算機とは縁遠い道を歩んでしまったので,趣味のプログラミングで得た“知識”を役立てる機会など殆どないのだが、その過程で得た“物事の考え方”は実生活の端々で活用する機会があるものだ。
 筆者にとっては、プログラミング云々ということよりも、このようなものごとの“背後にある概念を考える”ということ自体が,PCに触れることの成果の一つだったのではないか,とMINDのことを思い出しながら考えた次第である。
 パソコンが“道具”として進化し使われていくその一方で,単なる道具ではなく、“考えさせてくれるツール”としての活用方法についてもスポットライトを当ててみてはどうかと思う。(15. Aug, 2005)

雑感へ

PC処世術トップページへ