WindowsでPascalを走らせる

急に思い立って、Windowsでパスカルを走らせてみようとしたんです。
パスカルというのは、まだウインドウズが出る前のDOSの時代のプログラミング言語でした。
その頃、もう30年以上の前のことですが、いわゆるパソコンが現れました。PC98などといわれたパソコンは、ソフトなどは備わってなくて、何かをしようとすると、内蔵されているBASICという言語でソフトを作らないといけませんでした。
BASICという言語は、取っ付き易く手軽に遊びのようなソフトは作れるのですが、きちんと構造化されたソフトやオペレーティング・システムなどを作ることに向いていません。


8インチフロッピー・ディスクユニット、高さが30センチほどもある大きなものだった。

8インチフロッピー・ディスクユニット、高さが30センチほどもある大きなものだった。値段はなんと50万円だった。

8インチ、5インチ、3.5インチフロッピー。8インチフロッピーは、一辺が20センチだった。

8インチ、5インチ、3.5インチフロッピー。8インチフロッピーは、一辺が20センチだった。



ぼくが、注目したのはパスカルでした。パスカルというのは、チューリッヒ工科大学のニコラウス・ヴィルト教授が考案した言語でした。彼は教育用を意図して作ったので、極めて厳格な文法を持った奇麗な言語でした。
パスカルは、MS-DOSというオペレーティング・システム上で動きました。MS−DOSを走らせたパソコン上にパスカルを乗せるには、普通のソフト媒体5インチのフロッピー・ディスクでは無理で、8インチのフロッピー・ディスクが必要でした。でも、8インチのフロッピー・ディスク・ユニットは、なんと50万円もしたのです。まだ、ハードディスクのない時代です。
この時代、パソコンの画面は真っ黒で、C>という文字が左隅に出て点滅していました。これをシープロンプトと読みました。いわゆるDOS環境です。

ここに何らかの文字を打ち込み、Enter(Return)キーを叩くと、コンピューターはそれを読み込んで反応を起こすわけです。普通は、ここにプログラムを呼び出すコマンドを打ち込みます。いまからいえば、まったく想像を絶する世界だったのですが、それでもデータベースソフトも動き、依頼されてぼくが作った顧客管理や在庫管理のソフトは、そこここの商店や会社で正確に動いていたのです。
PascalBookぼくは、出版社の依頼を受けて、パスカル言語の入門書を書くことにしました。
この本の内容を検証するために私塾みたいな教室を開いて、毎週木曜日にレッスンを行ったのです。こうした試行錯誤の結果出来上がったのが、『入門TurboPASCALプログラミング』だった訳です。
コンピューターのことを、パソコンとは絶対にいわず、「計算機」と言い習わすような大型機を扱ういわゆる専門家からすれば、幼稚な本だったかもしれないのですが、初学者に取っては大変分かり易い本だったようです。
いつだったか、乗鞍で行われた南極越冬隊の訓練に講師で参加した時、北大の隊員の一人がぼくのことを、コンピュータの神様と紹介したのです。彼はこの本で勉強して、リモートセンシングの機械を考案して、会社を作って社長になったと聞きました。

我が家には数台のMacintoshがあるが、このSEは永久保存指定だ。

我が家には数台のMacintoshがあるが、このSEは永久保存指定だ。

パソコンの嚆矢、いわゆる先駆けを作ったのはアップル社でした。スティーブン・ウォズニアックという天才ともう一人のジョブスが作ったアップルやそれに続くマッキントッシュSEなどには、いわゆるWindow環境が最初から備わっており、マウスもフォルダーもポインティング・デバイスなどの概念も備わっていたのです。
このアップルコンピュータにソフトを提供していたのがビル・ゲイツでした。いわゆるワードやエクセルやドロー(絵画)系のソフトは、最初からマックのマシンには備わっていました。
アップル社の急進を見逃せなくなったのが、マンモス企業だったIBMでした。もっぱら汎用機と呼ばれる大型機の専門メーカーだったIBMもマッキントッシュに対抗してパーソナル・コンピューターいわゆるPCを作ろうとしたのです。

IBMがパソコンいわゆるIBM-PCを作ろうとした時、問題となったのがOSをどうするかということでした。マッキントッシュのOSはパスカルで書かれていました。マイクロソフト社のビル・ゲーツには、パスカルでOSを書くだけの能力も時間もありません。もともと彼が会社を作ったのは、大型汎用機の練習用言語BASICをアルティヤー社の小型パソコン用に書き換えることで、お金を得たことがスタートでした。
そこで、商才に長けた彼は、すでに存在するOSを探しまわり、シアトルのコンピュータ倶楽部で開発されていたOSを買い取り,これをIBMに売りつけたのです。その時にこういう契約をしました。つまり一台のPCには一個のOSのライセンス料を支払うこと。つまり一台のPCが売れるごとにライセンス料がマイクロソフト社に入ることになったのです。
PCが大売れした理由の一つに、IBMのオープンアーキテクチャーという方針がありました。これはアップル社の対極のもので、ハードウェアの中身を公開するというものでした。だから、安いパーツを集めて、誰でもが安いPCを作ることができたのです。安いPCはどんどん売れましたが、それについているマイクロソフトのOS・MS-DOSは同じ値段でした。
こうしてマイクロソフトはどんどん大きくなり、CPUを始めとするハードデバイスの進化によって大型機は廃れ、IBMは衰退してゆきました。

話を戻します。
PCにマッキントッシュのOSをなぞったWindowsが載りだした頃から、ソフト開発の形が変わってきました。まあいってみれば、のみとかんなの時代からプラモデルの時代になったとでもいえるでしょう。
当然TurboPascalなどという言語も忘れ去られてゆきました。パスカルはもう消えた。そう思っていました。しかし10年以上も前、Pascal言語がFreePascalという名称で生き残っており、各国で用いられていることを知り嬉しくなったことがありました。
早速そのサイトからダウンロードして、走らせてみました。Windowsに内蔵されているドスプロンプトという画面を使います。アクセサリーの中にそれはあります。WindowsはいまもDOS上で動いていることに変わりはないのですから、それは当然のことです。
一方マッキントッシュの方は、かなり前の段階でPascalからC言語にかわり、インテルマックになった時点でUNIX上で動いているといえます。

DOSBoxはこんな具合に、ドス窓を開いてくれる。

DOSBoxはこんな具合に、ドス窓を開いてくれる。

さて、調べてみて驚きました。現在Window上でもマック上でもパスカルを動かす環境が出来上がっていました。TurboPascalもFreePascalもWindows7上でも8上でも動くのです。さらに、これはまだやっていませんが、マック上でも動くのです。
それも、DOSBoxというDOS窓を作るソフトができています。TurboPascalはここで動きます。
FreePascalには、FreePascal IDEというDOS窓を作るツールがセットされていました。
試してみたところ、TurboPascalの方は、日本語に対応していないので、日本語を書くことはできません。しかし、FreePascalは大丈夫でした。





forloop1 forLoopTo100












なんだか無性に懐かしい気分というか嬉しくなって、どんどん適当なプログラムを走らせてみました。
これはforloopと呼ばれる繰り返しのプログラムで、1から100までを書き出させるものです。

10から1まで順次下がりながら、その数までを書き出させるというのは、こうなります。
forloopDecrimentprogram forloop2;
var i,j;
begin
 for i:=10 to downto 1 do begin
   for j:=1 to i do
     write(j:4);
     writeln;
 end;
readln;
end.

forloopChar順に書き出すというのは、数字に限らず文字でも可能です。
program forloop3;
var i: char;
begin
 for i:= ‘!’ to ‘}’ do
  write(i:4);
readln;
end.
という具合に、文字が書き出されます。これは、文字がアスキーコードという数字として記録されているからなのです。
そうであれば、2バイト文字の漢字も同じように2バイトのコード順に書き出せるはずだということで、作ったのが、次のプログラムでした。

forloopKanjiprogram kanji_2; (*漢字の表示*)
var i,j: intejer;
begin
 for i:= $88 to $8B do
  for j:= $9E to $EE do begin
   write(chr(i));
   write(chr(j),’ ’);
  end;
readln;
end.

などとやっていると、『入門TURBO PASCALプログラミング』を上梓したのは平成元年だったと奥付から知れ、25年前にタイムスリップしたような気分になって、なんだかうきうきしてくるのでした。
ネットでは、アメリカやヨーロッパで特に人気があるらしく、インストールの仕方などが、YouTubeに上がっていたりする。ぼく自身イタリアのYouTubeの情報ががインストールに大変役立ちました。

たとえば、航海士にとって、いまの船はGPSで位置が知れるし、エンジンで動きます。しかし帆船に乗って、六分儀で位置を知ることはやはり必要なのだろう。それが証拠に商船大学には帆船航海実習があるのだそうです。
同じ意味合いで、パスカル言語は現在もそれなりの存在価値を持ちつづけ、有効な教育言語とされているのだろう。そんな気がしているのです。