きまブログ

5/31 はてなダイアリーから移行しました。


【備忘録】「UNIXという考え方」を読むときの 参考 用語集

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

ここでは主に、本書を読むにあたって、文化的な意味でわかりにくい事や、
歴史的な話の補足(といっても元ネタは、だいたいwikipediaですが。。)を書いていきます。
ネットで、ざっと調べただけなので、間違いがあればご指摘ください。


順次、補足していく予定です。

原著:The UNIX Philosophyについて

原著は「The UNIX Philosophy」で、1994に発行されています。
翻訳版の本書は、2001年に発行されています。


Unix philosophy - Wikipedia, the free encyclopedia

  • Small is beautiful.
  • Make each program do one thing well.
  • Build a prototype as soon as possible.
  • Choose portability over efficiency.
  • Store data in flat text files.
  • Use software leverage to your advantage.
  • Use shell scripts to increase leverage and portability.
  • Avoid captive user interfaces.
  • Make every program a filter.

定理1:Small is beautiful

1959〜 Vorkswagen - Think small. キャンペーン開始
1960 OPEC設立

シオドア・スタージョン

SF作家・脚本家
手がけた脚本には、スタートレックトワイライトゾーンなどあり。

定理2:1つのプログラムには、1つのことをうまくやらせる

定理3:できるだけ早く試作を作成する

「この門に入る者、すべての希望を捨てよ」(p.30)

地獄の門」に刻まれている碑文の一部。

定理4:効率より移植性

オプリランド・ホテル (p.47)

ゲイロード・オープリーランド・リゾート・アンド・コンベンション・センター
wikipediaより引用

ゲイロード・ホテルズが所有する50kWのカントリー・ミュージックのAMラジオ局の650 kHzのWSMのスタジオの本拠地。

本書で「カントリーミュージックの殿堂」と紹介されているのは、このため?
ゲイロード・オープリーランド・リゾート・アンド・コンベンション・センター - Wikipedia

定理5:数値データはASCIIフラットファイルに保存する。

9トラックテープ

8bit+チェックディジットで9トラック使うってこと?

System/360

IBMが開発したシステム。1965-1977
大ヒットし、多くの業界標準となった。(8bit = 1byte など)
文字コードとしてASCIIが売りだったが、互換性確保のため、EBCDICをサポート

PDP-11

DEC(現hp)が開発したシステム 1970-1990
Programmed Data Processer
1970 最初に(公式)UNIXが動作したハードウェアとして知られる。
※ 実際にUNIXが動いた最初のハードは本書にある通り、PDP-7
後継が、VAX

LSI-11

PHP-11の発展として、組み込みシステム向け。

VAX と (Open)VMS

DEC(現hp)が開発したハード(VAX)とOS(VMS)のこと。PDP-11の後継。1977-1992
初代機VAX11/780 は、ベンチマークDMIPSの基準となっている。
本書では、VAX11/750(1980)、VAX8600(1984)とVAX8800(1986)が登場する。


VMSは、1991 POSIXに準拠して、OpenVMSとなり、現在でもhpから販売されている。
日本HP - OpenVMS

Digital Professional 350

DECが開発したPDP-11互換PC。IBM PC対抗。

VAXstation

DECstation

DECが開発した、ワークステーション。1989-?
本書では、DECstation3100(1989), DECstation3500(?) が登場する。

定理6:ソフトウェアのテコを有効に活用する

タッパーウェア

食べ物を保存するときに使う、いわゆる「タッパー」のこと。
tapperware(R)である。
タッパーウェアとは|タッパーウェア|Tupperware


ジップロック(R)にもタッパーみたいな製品はあるけど、ジップロックはジッパーで閉じるのが元々。
だとおもう。。

定理7:シェルスクリプトを使うことで梃子の効果と移植性を高める

定理8:過度の対話的インターフェイスを避ける

定理9:すべてのプログラムをフィルターにする

さらなる10の考え方

  • (1) 好みに応じて自分で環境を調整できるようにする
  • (2) OSのカーネルを小さく軽くする
  • (3) 小文字を使い、短く
  • (4) 森林を守る
  • (5) 沈黙は金
  • (6) 並行して考える
  • (7) 部分の総和は全体よりも大きい
  • (8) 90%の解を目指す
  • (9) 劣る方が優れている
  • (10) 階層的に考える
ポニー・エクスプレス

南北戦争時代(1860-1861)にあった、アメリカ中部と西部を馬で結ぶ郵便
その後、ウェルズ・ファーゴ社へ引き継がれたようです。
アメリカン・エクスプレスとも関係がありそうですが。。

フェデックス - ポスト

FedExってポストがあるんだね。
日本ではやってないのかな?東京はある?

総括

RSX-11 (p.142)

RSX-11 (DEC 初期のOS)

デビッド・レターマン・ショー

木曜夜とあるので、おそらく「レイト・ナイト・ウィズ・デイヴィッド・レターマン」のことと思われる。
デビッド・レターマンのトークショー。1982

curses

要するに、TUI(Text User Interface)のこと。
ターミナル上で、カーソルキーで項目を移動できたりする簡易的なGUI的なヤツのこと。
curse(呪い)的で怖いネーミングですが。。

参考文献

オンラインゲームを支える技術

「第1章 オンラインゲームの歴史と進化」に、
オンラインゲームを中心とした、ゲームの歴史の紹介があります。
(アタリの記載はわずかですが。。)


オンラインゲームを支える技術  ??壮大なプレイ空間の舞台裏 (WEB+DB PRESS plus)

オンラインゲームを支える技術  ??壮大なプレイ空間の舞台裏 (WEB+DB PRESS plus)

人月の神話

言わずと知れた名著。System/360(OS/360)の開発を通した、
プロジェクト管理についての書籍。
ブルックスの定理などについてが書かれています。
古くて本質的。本書と同じニオイがする。
「人月の神話」読了しました。 - きまブログ


人月の神話【新装版】

人月の神話【新装版】

文字コード技術入門

この本では直接EBCDICについては扱いませんが、一応文字コードについての解説書です。


プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

はじめてのOSのコードリーディング

UNIX V6のソースコード解説本で、対象のハードはPDP-11/40です。


はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)

はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)