イロイロな出版社から出ている Turbo Pascal 関連書籍を読んでみる

# はじめに
『Turbo Pascal』を触る機会が増えたので、改めて Turbo Pascal の書籍を購入して読んでみました。過去に読んだ書籍にも触れています。

:::note
『Turbo Pascal』は ver4.0 以降、CP/M のサポートをやめているので、日本における「Turbo Pascal ver4.0 以降の書籍」というのは、主に PC-9801 シリーズ用 MS-DOS 版の書籍を指しています。
:::

# 読んでみる。
書籍は発行日順になっています。

## ・Turbo Pascal トレーニングブック 

Turbo Pascal 2.0 を対象とした書籍です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/c5aae974-10f5-88b8-430b-b59820d89d36.png)

| タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| TURBO PASCAL トレーニングブック  | Pascal User’s Group | [4874081606](https://www.amazon.co.jp/dp/4874081606)  | 1985/7/10 |

### 書評 

詳細は[別記事](https://qiita.com/ht_deko/items/06946a72b51f577523bb)に譲るが、ざっくりとした感想は「機種依存の話が多く、意外と読む所が少ない」だった。

 - やさしい Turbo Pascal プログラミングテクニック (MS-DOS 固有)
 - PC-98 グラフィックライブラリ
 - PC-88 グラフィックライブラリ
 - FM-7 グラフィックライブラリ

逆にこの機種依存部分が必要な人もいるかもしれない。

対象: Turbo Pascal 2.0
個人的な評価: ★★★★☆

:::note
[『TURBO Pascalトレーニングブック 』](https://dl.ndl.go.jp/pid/12630899)は国立国会図書館デジタルコレクションで読む事ができます。書籍の閲覧には国立国会図書館の利用者登録 ([本登録](https://www.ndl.go.jp/jp/registration/individuals_official.html)) が必要です。
:::

## ・はじめての Pascal - Turbo Pascal によるプログラミング作法
Turbo Pascal 3.0 と UCSD Pascal を対象とした書籍です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/44ab1b06-c1ff-e12d-a7f9-94a767cf1dc0.png)

| タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| はじめての Pascal <br>- Turbo Pascal によるプログラミング作法 | 小池 慎一 | [4874081746](https://www.amazon.co.jp/dp/4874081746)  | 1985/11/1 |

### 書評 

詳細は[別記事](https://qiita.com/ht_deko/items/06946a72b51f577523bb#9-%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE-pascal---turbo-pascal-%E3%81%AB%E3%82%88%E3%82%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E4%BD%9C%E6%B3%95)に譲るが、ざっくりとした感想は「Pascal を覚えるために Turbo Pascal を使う本」だった。Pascal 初学者に特にオススメ。

Pascal マニアとしては UCSD Pascal の情報は有り難かったが、「Turbo Pascal によるプログラミング作法」というタイトルに惹かれて購入した方の中には、この部分を不要と思う人もいるかもしれない。

対象: Turbo Pascal 3.0
個人的な評価: ★★★★☆

:::note
[『はじめてのPascal 』](https://dl.ndl.go.jp/pid/12631050)は国立国会図書館デジタルコレクションで読む事ができます。書籍の閲覧には国立国会図書館の利用者登録 ([本登録](https://www.ndl.go.jp/jp/registration/individuals_official.html)) が必要です。
:::

## ・TURBO Pascal プログラミング

Turbo Pascal 3.0 を対象とした書籍です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/763623f2-07f1-fe7d-c132-3b9579984879.png)

| タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| [TURBO Pascal プログラミング](https://www.saiensu.co.jp/search/?isbn=978-4-7819-0480-1&y=1987) | 玉井 浩 | [4781904807](https://www.amazon.co.jp/dp/4781904807)  | 1987/8/25 |

### 書評 
詳細は[別記事](https://qiita.com/ht_deko/items/93899a6fe0c2f46cc945#16-turbo-pascal-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)に譲るが、ざっくりとした感想は「Turbo Pacal を使うだけなら前半だけで OK」だった。Pascal 初学者に特にオススメ。

対象: Turbo Pascal 3.0 (MS-DOS: PC-98)
個人的な評価: ★★★★☆

:::note
[『TURBO Pascal プログラミング 』](https://dl.ndl.go.jp/pid/12630548)は国立国会図書館デジタルコレクションで読む事ができます。書籍の閲覧には国立国会図書館の利用者登録 ([本登録](https://www.ndl.go.jp/jp/registration/individuals_official.html)) が必要です。
:::

## ・Turbo Pascal パーフェクトリファレンス

Turbo Pascal 3.0 を対象とした書籍です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/25b17d27-27a9-02be-0677-8fbf9d6abbf5.png)

| タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| Turbo Pascal パーフェクトリファレンス | フェイザーインターナショナル | [4893690345](https://www.amazon.co.jp/dp/4893690345)  | 1987/10/26 |


### 書評
『Turbo Pascal 3.0』を簡潔にまとめた本。CP/M 版固有の機能には触れられていないが、MS-DOS 版固有の機能は一通り網羅している。

反面、章立てがイマイチで
`2 標準の手続き` -> ` 3 標準関数・定義済み変数` -> ` 4 予約語・文 (文法)` 
ではなく 
`4 予約語・文` -> `2 標準の手続き` -> `3 標準関数・定義済み変数`
の順がいいかと思う。もっと言うならば、
`2 予約語・文` -> `3 標準の手続き・関数` -> `4 定義済み変数`
であったらな、と思った。

説明文が若干淡泊ではあるが、サンプルコードは多い。章立ての順序の理由はサンプルコードの都合なのかもしれない。

後述する[『Turbo Pascal ハンディ・マニュアル 』](https://qiita.com/drafts/6f199034c75ec068936d/edit#turbo-pascal-%E3%83%8F%E3%83%B3%E3%83%87%E3%82%A3%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB)が存在しなければ、もっと評価は高かった。

対象: Turbo Pascal 3.0 (MS-DOS: PC-98)
個人的な評価: ★★★★☆

## ・Turbo Pascal プログラミング入門

Turbo Pascal 3.0 を対象とした書籍です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/241fc71a-ef5b-b21a-8c7b-23416f0f7559.png)

| タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| Turbo Pascal プログラミング入門 | 赤川勝矢<br>高見英親 | [4766501950](https://www.amazon.co.jp/dp/4766501950)  | 1987/10/31 |

### 書評

Turbo Pascal 3.0 の入門書。PC-98 シリーズ用の MS-DOS に書かれているものの、低レベル機能にも触れられている。コード例も豊富で、一読すれば Turbo Pascal 固有ルーチンの使い方で悩む事はないと思う。Turbo Pascal 3.0 のマニュアルを持っていないのであれば、マニュアル代わりに使ってもいいかもしれない。

但し、CHAIN() / Execute() やオーバーレイについては触れられていない。

対象: Turbo Pascal 3.0 (MS-DOS: PC-98)
個人的な評価: ★★★★★


## ・Turbo Pascal ハンディ・マニュアル 
ナツメ社のハンディマニュアルシリーズです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/2b85280d-d855-59cc-318f-21eca7021606.png)

| タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| Turbo Pascal ハンディ・マニュアル | 河西 朝雄 | [4816308113](https://www.amazon.co.jp/dp/4816308113)  | 1988/4/1 |

### 書評

こちらも『Turbo Pascal 3.0』を簡潔にまとめた本。CP/M 版に固有の機能には触れられておらず、ハードウェア寄りの機能も省略されているが「どのようなルーチンがあるのか？」「どのような機能があるのか？」を簡単に調べる事ができる。(Turbo) Pascal の言語仕様についても簡潔にまとめられている。

MS-DOS 版の『Turbo Pascal 3.0』を使うのであれば、これ一冊持っているだけでなんとかなると思う。

対象: Turbo Pascal 3.0 (MS-DOS: PC-98)
個人的な評価: ★★★★★

## ・はじめての Pascal (改定第2版) - Turbo Pascal Ver5.5 によるプログラミング作法
『はじめての Pascal - Turbo Pascal によるプログラミング作法』の改訂版です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/b94b3ad7-7a4f-b4cc-fde0-e535c6574630.png)

|タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| はじめての Pascal <br>- Turbo Pascal 5.5 によるプログラミング作法 | 小池 慎一 | [4874083617](https://www.amazon.co.jp/dp/4874083617)  | 1990/6/1 |

### 書評 
詳細は[別記事](https://qiita.com/ht_deko/items/06946a72b51f577523bb#9-%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE-pascal-%E6%94%B9%E5%AE%9A%E7%AC%AC2%E7%89%88---turbo-pascal-ver55-%E3%81%AB%E3%82%88%E3%82%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E4%BD%9C%E6%B3%95)に譲るが、ざっくりとした感想は「一般的に触れる事のできる (比較的容易に入手できる) Pascal による Pascal の使い方」だった。オブジェクト指向部分には一切触れられていない。Pascal 初学者に特にオススメ。

対象: ・Turbo Pascal 5.5 (MS-DOS: PC-98)
個人的な評価: ★★★★★

## ・Turbo Pascal プログラミング
Turbo Pascal 5.5 を対象とした書籍です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/06e99f5e-a5e9-4d0d-9fd5-6be5ac393847.png)

|タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| Turbo Pascal プログラミング | 内田 智史 | [4274075796](https://www.amazon.co.jp/dp/4274075796)  | 1990/6/1 |

### 書評 
簡単な MS-DOS 入門から始まり、Turbo Pascal の使い方、Pascal / Turbo Pascal プログラミング入門、高度なグラフィックスまで、盛りだくさんの 559 ページ。

Turbo Pascal 5.5 の完全なマニュアル代わりまでとはいかないが、ざっくりと使い方を覚えたり、逆にマニュアルではよくわからない使い方を調べるのに重宝するように思う。マニュアルを補完してくれる良書。

対象: ・Turbo Pascal 5.5 (MS-DOS: PC-98)
個人的な評価: ★★★★★


## ・技術者のための Turbo Pascal 活用法
Turbo Pascal 3.0 / 5.0 に関連する記事があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/05ef1588-619c-3ad3-62fd-c903c2b83eb8.png)

| タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| 技術者のための Turbo Pascal 活用法 | 中野正次 | [4789835499](https://www.amazon.co.jp/dp/4789835499)  | 1991/12/20 |

### 書評
本書は読む人を選ぶかもしれないし、書かれている内容を実践するのも難しいかもしれない。端的に言えば **Turbo Pascal を使った組み込みの本** である。

前半は Turbo Pascal の使い方とバージョンによる差異、標準 Pascal との差異、ポートの操作などで、後半に

 - Turbo Pascal 3.0 の ROM 化
 - Turbo Pascal 5.0 の ROM 化
 - Z80 Turbo Pascal の ROM 化
 - Z80 Turbo Pascal (ver3.01A) の コマンドラインコンパイラ化 (CHN 出力)

なんてものがある。マニアックな内容でとても興味深い。

コマンドラインコンパイラ化 (P.209) は試してみたが、確かに CHN を吐き出した。リストのアドレスに一部間違いがあるが、アドレスが前後しているので場所はすぐに判ると思う。

対象: Turbo Pascal 3.0 (CP/M-80, MS-DOS: PC-98) / Turbo Pascal 5.0 (MS-DOS: PC-98)
個人的な評価: ★★★★★

## ・Turbo Pascal for Windows プログラミング技法
Turbo Pascal for Windows 1.0 に関連する記事があります。原書は『Turbo Pascal for Windows 3.0 Programming』です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/c2651d17-8052-c218-52a5-df3b3ca3e8d6.png)

| タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| Turbo Pascal for Windows 3.0 Programming | トム・スワン(著) | [0553352938](https://www.amazon.co.jp/dp/0553352938)  | 1991/9/1 |
| Turbo Pascal for Windows プログラミング技法 | トム・スワン(著)<br>パセイジ(訳)<br>ワードクラフト(監) | [4893691805](https://www.amazon.co.jp/dp/4893691805)  | 1992/7/15 |

### 書評
端的に表現すると「『Turbo Pascal for Windows 1.0 (TPW 1.0)』 を使って Windows 3.0 用のプログラムを作るための本」。

Pascal や Turbo Pascal の文法を教えてくれたり、オブジェクト指向プログラミングを教えてくれたりはしない。それらはマニュアルや別の書籍で理解している前提となっている。一方、TPW 1.0 自体の使い方については第 2 章でちゃんと書かれている。

本書は TPW 1.0 に付属のサンプルを通して、Windows アプリケーションの作り方を学ぶ本なので、別途『Windows API バイブル 1』を買い求めた方がいいように思う。

| タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| Windows API バイブル 1| James.L.Conger(著)<br>パセイジ(訳) | [4881350382](https://www.amazon.co.jp/dp/4881350382)  | 1993/6/24 |
| Windows API バイブル 2 | James.L.Conger(著)<br>パセイジ(訳) | [4881351060](https://www.amazon.co.jp/dp/4881351060)  | 1994/6/25 |

ただ、『Windows API バイブル 1』は Windows 3.0 / 3.1 向けの書籍である事から解るように、本書より後で出版されており、当時 TPW 1.0 を購入した人はサンプル以上の事ができず、途方に暮れたかもしれない。

**Turbo Pascal for Windows はフォームデザイナのない Delphi** と言ってもいいくらいなので、Windows 3.x の情報があって過去の Turbo Pascal を使った事があるのなら、本書を読むだけで Windows アプリケーションの作り方のコツを掴む事ができるように思う。

対象: Turbo Pascal for Windows 1.0 (Windows 3.0)
個人的な評価: ★★★★★

## ・ゲーム&&オブジェクト指向プログラミング
Turbo Pascal の本だと出せない (売れない) ので、ゲームで学ぶオブジェクト指向の本という事にしてリリースしてある書籍です。さも C++ がメインのように書いてありますが、Pascal と半々です。Turbo Pascal 5.5 以降に対応しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/786a9694-2670-c838-9cbd-74914bb1bc1c.png)

| タイトル | 著者 | ISBN-10<br>(Amazon) |出版年|
|:--|:--|:-:|:-:|
| ゲーム&&オブジェクト指向プログラミング | 塚越 一雄 | [4874085644](https://www.amazon.co.jp/dp/4874085644)  | 1993/5/25 |

### 書評

詳細は[別記事](https://qiita.com/ht_deko/items/2f5ecd6858b8d4eaab49)に譲るが、ざっくりとした感想は「[筆者の Delphi 本](https://qiita.com/ht_deko/items/06946a72b51f577523bb#22-delphi-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)を先に読んでいなければもっと評価は高かった」だった。

Delphi 関連書籍としての評価はそんなに高くないが、Turbo Pascal の本としての評価は高い。Turbo Pascal のオブジェクト指向を深く知るためには読んでおいて損はない。

対象: Turbo Pascal 5.5～
個人的な評価: ★★★★☆

# おわりに
他にも Turbo Pascal の本を読んではいるのですが、大学のテキストブックのようなもの (標準 Pascal でやっている事と変わらない) だったので記事には載せませんでした。

評価については本当に個人的なものなので、

 - Pascal の入門書として有用
 - 低レベル機能についての解説がある
 - マニュアルに詳細がない機能についての解説がある

どの内容に期待しているかによって評価は変わると思います。Pascal そのものから知りたいのか、他言語を知っているので概要が知りたいのか、Turbo Pascal は知っているのでディープな内容を欲しているのか、です。

Turbo Pascal 関連書籍を何冊も持っていると、後になって「もう少し上なのでは？」「もう少し下なのでは？」と評価を変えたくなる事もあるのですが、その書籍を読んだ時点の評価としています。

:::note
面白い内容の Turbo Pascal 本があったら、適宜追加したいと思っています。
:::