csh and tcsh work

Questions and Answers

ありえる質問と回答

Takayuki Kawamoto

(takayuki.kawamotogmail.com)

First published: 2019-03-22 19:31:44.

Modified: 2019-03-27 17:16:33, 2019-03-30 12:56:31, 2019-04-01 21:44:43.

Last modified: 2019-04-04 21:26:52.

特に断り書きがない場合は、いわゆる「想定問答」です。“frequently asked” でもなんでもないので、僕が言いたいことを言うために自作自演しているにすぎません。

Cシェル(csh)を使ってはいけないという文書が20年前から出回っているというのに、どうしてそんなシェルのサイトを作るのか。
当サイトの趣旨で説明したように、まず csh という歴史的に一定の役割を担ったプログラムについて、僕は “historical approach” を採用して情報を収集し、それなりに体系立てて公開しようとしています。csh を、これからコンピュータで何かをしようという人たちに使ってもらいたいという目的でサイトを作っているわけではありません。しかし、あらゆる歴史的な事実にも言えることですが、過去にわれわれが間違ったことをしたり不十分な成果しか上げられなかったという評価があるからといって、それらを無かったかのように無視してはならないのです。それは第一に間違いをわれわれ自身が見つけ、改良してきたという業績も無視することになり、誰かが間違ったという事実だけではなく、誰かがそれを吟味して批判したり改良したという事実も含めて、歴史というものを冒涜する行為だと言えます。
しかし、僕は当サイトで過去の遺物を展示することだけを意図しているわけでもありません。あまり検討されていないことですが、上記の問いのような「Cシェル(csh)を使ってはいけない」という幾つかの文書があるのはいいとして、ではそれが本当に欠点なのかどうかを確かめたり、現在は他のシェルでどう改められているのかを、ソース・コードの解析というレベルで議論している人が、いったい世界中にどれほどいるのでしょうか。そして、csh や tcsh のソースを改変できる余地があるのかないのかを、もちろんコミットする必要が無くても議論している人はいるでしょうか。そういうところまで丁寧に扱ってこそ、初めて或るプログラムを使うべきではないと公言できるものです。そういうところまでやっていない大半の人々は、単にそういう文書(のタイトル)を目にして、csh を遠ざけているだけではないでしょうか。では、実際に “harmful” などと言われているのが本当なのかどうか、検証するようなサイトがあってもいいでしょう。そうしてこそ、僕らは技術としても文化としても次の段階に進めるのだと思います。僕は、このような取り組み方を “contemporary approach” と呼んでいます。

To the top of this page

それぞれのシェルをどう呼んでいるのか。
当サイトでは、Bill Joy が最初に開発したシェルを “csh” として表記し、Ken Greer が TENEX (TOPS-20) という OS のコマンドライン・インタープリタから着想を得て手を入れたシェルを “tcsh” と表記しています。“csh” はシェルを起動するコマンド名であってシェルの名前ではないと思うかもしれませんが、たとえばレッサーが [Lasser, 2000: 67] の脚注で書いているように、「このことは、Unix のシェルが二つの名前を持っているということを指摘するのに打ってつけの事例だと思えます。つまり、これらのシェルには『実名(“real names”)』と、シェルを起動するために打ち込むコマンドの名前という二つの名前があるわけです。」というわけなので、シェルの名前としてコマンドの名前を使っても、特に何か誤解を招いたり不当となるわけでもないでしょう。
では、それぞれのシェルをどう呼んでいるのでしょうか。“-sh” は、おおむね “shell” と発音されているようなので、“csh” が “see shell (C shell)” と発音されていることに疑問を覚える人は殆どいないでしょうが、“tcsh” については、[Peek, O’Reilly, and Loukides, 2002: 10] では “T-shell” と表記していたり、あるいは “tee see shell” と表記しているページがあったりします。この手の発音ネタは、頻出の話題であるにも関わらずコンセンサスがなかったりすることもあるので、FAQ になっておらず何度でも持ち上がることがあります。
どうしても気になる方は、最初に開発した人がどう呼んでいたかをメールやカンファレンスでの懇談で尋ねたらいいだけだと思うのですが、開発者の当人たちであっても、そういうことに何か decisive というか決定的な影響を与えようとすることを「愚か」だと思う人もいます。僕も、はっきり言ってこういう話題は齟齬が生じない限りはどうでもいいと思っています。僕が専攻している科学哲学でも、“van Fraassen” や “Putnam” や “Kyburg” といった研究者の名前の発音は人によって違うこともありますし(僕はそれぞれ「ファン・フラッセン」「プトナム」「キーバーグ」と表記したり呼んでいます。国内では「ファン・フラーセン」「パトナム」「キュバーグ」といった表記もあります)、当人が特にこだわっていないこともあります。とりわけアメリカのような移民の国では、そんなことにこだわる暇があったら別のことをした方がいいと考える人も多いわけで、僕も「かわもとさん!」と呼ばれようと「こうもとさん!」と(間違って)呼ばれようと、僕を呼び止めていることが分かれば、その人を無視したりしません。そして無視せずに応じたなら、言葉で相手に呼びかけるという相手の目的は果たされているのですから、それでいいではありませんか(もちろん、正しくは「かわもと」であることも伝えますが)。

To the top of this page

フッタに「ドキュメントのアーカイブではない(This website is not an archive of sources and documents for csh/tcsh shells)」と書いているのはなぜ?
もちろん可能であればドキュメントを転載させてもらったり、翻訳させてもらうかもしれませんが、許可を受けた文書だけを率先してアーカイブすると、できるだけ多くのリソースを無差別にアーカイブするとしても偏りが生じるかもしれません。よって、僕が当サイトで自らの見識や判断による理由や動機があって、何かを考察するにあたり転載したり訳出しておくべきだと決めて許可を受けた(あるいは public domain や Creative Commons として公開されている文書にも言えることですが)文書だけを当サイトで公開します。転載や翻訳の許可を受けた文書であるかどうかと、その文書の内容の是非(とりわけ、僕がその文書の主張を支持しているかどうか)とは関係がないと冷静に受け止められる人だけがアクセスしてくるわけではないと思うので、何か特定の意見に偏った文書ばかりをアーカイブしたり訳していると思われは困りますから、僕自身が自分のコンテンツを制作するに当たって必要だと判断したわけでもない文書を、アーカイブするというだけの目的で転載したり翻訳したりはしないという方針を取っています。
マイナーな、あるいは実務上の補足的な理由を挙げると、オンラインで公開されている多くの文書やメール等のメッセージは、転載したり翻訳してもいいかどうか、ライセンスを明示していないことも多いからとも言えます。日本の著作権法や条約の範囲で「フェアユース」の法理を個人が勝手に立てて無断の転載や翻訳を行うのは、僕は法治国家の成人として単純に不見識だと思います。大人がそういうことをオンラインで、若者や子供も閲覧するようなウェブサイトで無邪気に実行するのは、ただたんに恥ずべきだとしか思えません。そして、そういう理由があるので、翻訳や転載の許可を取るために連絡する方法が分からないような人も多く、もちろん中には学術文書として所定の金額を支払う必要のある文献もあるため、僕が承諾を受ける暇やお金があるかないかという瑣末な理由で転載したり翻訳したりしなかったりするという違いが生じるのは、やはりアーカイブとしては偏っていますし、考えようによってはそういうアーカイブなら無いほうが公正だとすら言えます。
また、別のマイナーな理由もあります。とりわけ、日本の技術者やアマチュアの多くは、海外のリソースを紹介したり取り扱う際に、漫然とテキスト・データとしてコピーしたままサーバへ置くとか翻訳文書を公表するだけに留まることが多く、もちろんそれらの仕事も敬服に値する成果が数多くありますが、やはり知識や経験の共有とか継承という意味では不十分なアプローチだと思います。学術文書にも言えることですが、“discussion”(誰かと交わす「議論」ではなく「考察」という意味)なくして十分な成果とは言えません。したがって、当サイトのコンテンツを作成するために多くの書籍や論文、メーリング・リストあるいはニューズ・グループのメッセージ、そしてウェブページなどをダウンロードしたり購入して保管していますが、それをそっくり誰かへバケツリレーよろしく渡すだけで済むような仕事であれば、やや傲慢な言い方かもしれませんが、僕がするほどのことではないと思うわけです。

To the top of this page