表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
20/23

プログラミング言語探訪Pascal

「プログラムとは何か」ということを学ばせることを意識した、教育用言語、と呼ばれることの多い言語です。歴史的に見ると1970年に発表されているのでこれまた歴史の長い言語ですね。

 歴史の古さもあるのですが、教育目的ということもあって、非常に厳格な言語です。コンパイル型の言語はだいたいが厳格な文法を持っているのですが、Pascalはその中でも群を抜いて……は言いすぎですが、かなり厳格。

 C言語を囓った程度では返り討ちにあいかねないくらいに厳しめの言語です。

 現在もいろいろとコンパイラ――中には完全に教育目的としてインタプリタもあるそう――がある中で、一番広く使われているのがDで始まる製品群。作者も一応一ライセンス持っていて、ちょこまかと触ったことがありますが、ちょっとそれは後に回して、この製品群の歴史を。これがまた面白い。

 最初はいわゆるDOSで動くコンパイラとして発売されたのですが、コンパイラだけでなくエディタ、デバッガも含めた統合開発環境(IDE)として発売されていました。

 それ自体は特別に珍しいことではなかったようなのですが、価格設定が……二万円を切っていました。さすがに作者も知らない時代なのですが、だいたいの製品が五万円から、という時代だったそうです。

 つまり、劇的に安かった。そして、統合開発環境としての出来もよくて、特にエディタが軽快に動く、ちゃんとしたエディタだった。

 なので……エディタ目的で買った人も多かったとか。嘘かホントか「エディタを買うとPascalコンパイラがついてくる」と言われていたこともあったとか。

 その辺を狙ったのかどうかはわかりませんが、かなり売れたのに気を良くしたのか(?)順調にバージョンアップを重ね、オブジェクト指向な考えを取り入れた独自の拡張を重ねること幾星霜。

 本格的なビジュアル開発環境としてDで始まる製品が投入されたわけです。当時、Vで始まるBasicが売られていましたが、中間言語へのコンパイル、つまりコンパイラとインタプリタの間にいるような開発環境だった上に実行するのにいくつものDLLを必要とする言語でしたが、Dはネイティブコンパイラ。

 機械語にコンパイルする上に、別途DLLは不要という実行モジュールができあがるということで、なかなかに売れ行きもよかったようです。

 作者がPascalに触れたのもこの頃で、「なるほどすげえ」と思ったものです。

 そして特筆すべきはそのコンパイル速度。

 約三十年前のそれほど高スペックでもない性能帯のPCで数万行のコンパイルをほぼ一瞬で終わらせるという驚異のコンパイル速度。作者が実際に作ったのはせいぜい数千行レベルでしたが、IDEで「実行!」とやったらいきなり動き出したのにはビビりました。ホントにコンパイルしてるのか?と。

 で、試しに画面に表示する内容をちょこっと変えて実行すると、ちゃんと変わってる。つまり、ちゃんとコンパイルしているわけで、一体どういう仕組みなのかと疑問に思ったものでした。

 この辺は言語の特性で、多くの言語がコンパイルするときに変数名やらなんやらを処理するためにソースを何度か――何度も?――読み込むのに対し、Pascalは言語の仕様というか構造的にコンパイラが一回読めばいいようになっているとか。

 文法が厳格で、ちょっとでも曖昧だとコンパイルエラーにしてしまうという性質があるからこそ実現できているとか。

 さて、そんなPascalですが、Dで始まる製品を筆頭に今でも商用・非商用ともに色々あるのですが……じゃあ、これを業務で使えるかというとそれはまた別問題。

 ソースを読み込みながらそのままコンパイルしていく仕組みは、コンパイル速度こそ速いものの、プログラムの最適化がイマイチなんだとか。つまり、何度もソースを読み込むコンパイラは「ここで宣言している変数はこことここで使っているから……」と変数の割り当てをいい感じに調整して、実行時の速度が落ちにくく出来るのですが、Pascalではそうした工夫が難しいんだとか。

 うん、コンパイラの作り方に詳しくない作者には難しくてよくわかんないや。

 そんなわけで、今後も一定の地位を保ちつつ、Dで始まる製品のメーカーがこれ以上新しいバージョンは出しませんと言うまでは使われ続けるだろう言語。それがPascalです。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
# Pascal と言ったら UCSD p-System じゃないの!? Dで始まる言語(笑)、Tで始まる頃から安くて早くて軽かったですねぇ…。 意外に(といっては失礼だけど)使い勝手が良くて、無理目…
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ