プログラミング言語の宝庫
2020年3月、歴史的に貴重なDEC社 TOPS-20のLISP言語で「hello, world」をプログラミングしました。
TOPS-20は、DECのPDP-10マシンで動作するOSで1976年に誕生して1970年代から1980年代にかけてUNIXと共に人気のあったOSです。
TOPS-20では、多くのプログラミング言語処理系が動作していました。
TOPS-20で動作する言語処理系は半世紀以上前に生まれた言語であり、21世紀の現在では使われていない言語もあります。
項番 | 言語 | 開発時期 | 一言説明 |
---|---|---|---|
1 | FORTRAN | 1954年 | 科学技術計算向け言語 |
2 | COBOL | 1959年 | 基幹システムを支える言語 |
3 | ALGOL | 1958年 | アルゴリズム記述言語 |
4 | Simula | 1967年 | 初のオブジェクト指向言語 |
5 | PASCAL | 1970年 | 計算機科学の教育用言語 |
6 | C | 1972年 | システム記述の標準言語 |
7 | SNOBOL | 1962年 | 強力なテキスト処理言語 |
8 | BASIC | 1964年 | 思考を助ける対話型言語 |
9 | LISP | 1958年 | 関数型リスト処理言語 |
10 | LOGO | 1966年 | 思考方法を学ぶ教育用言語 |
11 | FORTH | 1971年 | パワフルなスタック型言語 |
これらのプログラミング言語は、いろんな時代背景で生まれそのユーザーと共に進化してきました。例えば、FORTRAN言語は科学の強力な道具となり、COBOL言語はデータ処理ユーザーに支えられ、C言語はUNIXと共に普及し、LISP言語は人工知能(AI)研究と共に進歩してきました。
DEC TOPS-20ではMacLisp、InterLisp-10、Common Lispが動作します。
今回のブログでは、項番9のLISP言語(MacLisp)による「hello, world」を紹介します。
MacLispの設定
LISPシステムで使用できるエディターはEMACSなので、端末モードをビデオ型端末(VT100)に設定して、定義済みエディター(論理名editor:)をEMACSとします。
また、Maclispを使用するために、論理名lisp:を設定します。
@terminal vt100
@define editor: sys:emacs.exe
@define lisp: <Maclisp>
ホームディレクトリーにMaclispの初期設定ファイル「LISP.INI」を作成してください。
;;; A very typical init file
(COMMENT) ;magic
(PROGN ; real init file stuff
(ALLOC NIL)
(SETQ BASE 10. IBASE 10. *NOPOINT T) ;base-10
(SETQ NOUUO T *RSET T) ;debugging
(SSTATUS FEATURE NOLDMSG) ;supress messages
(LOAD "LISP:LEDIT.FASL")
'*) ;return an asterisk for Maclisp to print out
LISP言語
EDITコマンドで、HELLO.LSPというソースファイルを作成します。
LISPプログラムのファイルタイプは「.LSP」です。
(defun hello ()
(princ "hello, world")
)
LISPは、インタープリター型なのでコンパイルは不要で即実行できます。
@lisp
* ←①
(princ "hello, world")hello, world
T
←②
(load "hello")
T
←③
(hello)hello, world
T
←④
(quit)
@
LISPコマンドでLISPシステムを起動します。
- ① LISPプログラムを入力するとダイレクト・モードで実行します。
- ② (load “ファイル名”)で、LISPプログラムを入力します。
- ③ (プログラム名)で、LISPプログラムを実行します。
- ④ (quit)コマンドで、LISPシステムを終了します。
Maclispは、LISPシステムの中からEMACSを起動してプログラムを編集し、即LISPシステムに反映できます。
極めて対話的に使用できるLISP環境となっています。
詳しくは、『超マシン復活 #2 DEC TOPS-20 プログラム言語 その世界』を参照してください。
TOPS-20 プログラミング言語の解説書
「hello, world」を実行できたら、もう少し複雑なプログラムを書いてみませんか。
プログラミング言語の詳細な解説やLISPシステムの使い方は、『超マシン復活 #2 DEC TOPS-20 プログラム言語 その世界』という書籍を参考にしてください。
技術を極める知的冒険の旅へようこそ
プログラミング言語の世界の魅力は、この書籍だけでは語り尽くせません。TOPS-20ワールドは、ワクワクでいっぱいです。この本を出発点として、探究心と好奇心の扉を開いて『技術を極める知的冒険の旅』へ出発してください。
超マシン 関連情報