# サイエンス社の Information & Computing シリーズから Pascal 関連の書籍を読んでみる <番外編> --- tags: Delphi Pascal TurboPascal created_at: 2019-11-07 updated_at: 2020-08-19 --- # はじめに サイエンス社の Information & Computing シリーズで出ていた Pascal 関連書籍の書評を書きました。 - [サイエンス社の Information & Computing シリーズから Pascal 関連の書籍を読んでみる (Qiita)](./93899a6fe0c2f46cc945.md) # NS ライブラリシリーズ サイエンス社には **NS ライブラリシリーズ** というのがあり、ここに一冊だけ Pascal 関連の書籍があります。折角なのでこれも読んでみようという趣旨の記事です。 ## #3 ザ・PASCAL Turbo Pascal を対象とした書籍です。 ![image.png](./images/18f499c1-7d1d-9071-105a-b2d78d513166.png) | No | タイトル | 著者 | ISBN-10
(Amazon) |出版年| |:---:|:---|:--|:---:|:-:| | 3 | [ザ・PASCAL](https://www.saiensu.co.jp/search/?isbn=978-4-7819-0475-7&y=1987) | 戸川 隼人 | [4781904750](https://www.amazon.co.jp/dp/4781904750?tag=deko0f-22) | 1987/4/10 | ### 書評 評価に困る本。 まず『ザ・PASCAL』と言っておきながら処理系が記載されていない。実行例に `Running` とあり、ソースコードに半角カナが使われており、印刷したものを貼り付けたであろうリストのフォントが PC-PR 系っぽいので**「PC-9801 シリーズ用の Turbo Pascal 3.0 ではないか?」**と推測しながら読み進めていくと、int() / frac() とかが出てくる。しかし `turbo PASCAL 等で使用可能。`[^1] との注釈付きなので決定的な証拠にはならずモヤっとする。さらに読み進めると **5.2 文字列型** の所で、 **var** 変数名 : **String** [最大文字数] と書いてある。やはりそうだった。そして隣のページには `「演算記号 + により二つの文字列を連結してみましょう」` とあるうえ、ここには「Turbo Pascal ~」 の注釈がない...えっとだ。 **6.2 ポインタ型** の所で、New() の説明があって Dispose() の説明がない事から、筆者は `標準 Pascal -> UCSD Pascal -> Turbo Pascal` と使ってきて**記憶がごっちゃになっている**ものと思われる。 - UCSD Pascal にも Turbo Pascal にも文字列型 **String** が存在する。 - 古い標準 Pascal と UCSD Pascal には Dispose() がない。 推測だけれど、時期的にみて標準 Pascal を試せる環境がもう手元になかったのではないだろうか? しかしながら、だ。そんな話よりも **"そもそもの話"** をする必要があるように思う。それはこの NS ライブラリシリーズの **NS** が何を意味しているかなのだが...カバーの袖 (そで) の文を引用してみよう。 > ■計算機科学の急速な細分化・専門家の中で、その精髄をできるだけはやく、的確に把握し身につけたいとする人たちの真摯な要請に応えるべく、各分野の > > **必要にして十分** (**N**ecessary & **S**ufficient) > > な内容を厳選し、わかり易く解説したのが、本ライブラリであります。 本書はそのシリーズのうちの一冊なのだ。実際、本書は読みやすいし、順に読み進んでいけばそれなりに Turbo Pascal でプログラムが書けるようになるだろう。NS ライブラリシリーズのコンセプト通りの本だと思う。即席プログラマを量産するにはこれで**必要にして十分**なのだ。 ソースコードは **Borland スタイル** で書かれている [^2]。 ```pascal program Test(Output); var i: Integer; function sub: Boolean; begin sub := (i = 0); end; begin i := 0; if sub then begin writeln('True!'); end; end. ``` 個人的な評価: ★★★☆☆ # おわりに 評価が低いのは**「Pascal の本としてどうか?」**と考えたからです。考え方によっては良書でもあるのですが。いずれにせよ、最低でも動作環境と登録商標、参考文献くらいは記すべきだと思います。 そういえば[本書の紹介ページ](https://www.saiensu.co.jp/search/?isbn=978-4-7819-0475-7&y=1987)には次のように書かれています...いやこれ、殆ど Turbo Pascal 用でしょう。 > これまでに出版された PASCAL の本の中でおそらく最もやさしいテキスト.なおかつプログラミング言語教育にとって最近とみにその重要性が指摘される斯言語の要所をあます所なく解説する.例題は有限要素法まで扱う.TURBO PASCAL 使用者にも適応. ちなみに [NS ライブラリシリーズの殆どを戸川氏が手掛けられています](https://www.saiensu.co.jp/search/?book_class_id=2&library_id=5)。これは凄い! **See also:** - [Pascal / Delphi 関連の書籍を読んでみる (まとめ) (Qiita)](./34bbcdea27ce224079e0.md) [^1]: 綴りは原文通り。 [^2]: 字下げのスタイルについては[こちらを参照](./50bac0de384d66208944.md#832--pascal-%E3%81%AE%E5%AD%97%E4%B8%8B%E3%81%92-%E3%82%A4%E3%83%B3%E3%83%87%E3%83%B3%E3%83%88-%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB)の事。