今日は何の日7ページ目の日記です

目次

前のページ
2014-11-11 寺田貴信の誕生日(1969)
2014-11-13 キム・ポレーゼの誕生日(1961)
2014-11-14 ピーター・ノートンの誕生日(1943)
2014-11-18 ポール・モカペトリスの誕生日(1946)
2014-11-22 セガ・サターンの発売20周年
2014-12-03 ジョン・バッカスの誕生日(1924)
2014-12-08 NLS伝説のデモの日(1968)
2014-12-08 【追悼】ラルフ・ベア氏
2014-12-10 エイダ・ラブレイス伯爵夫人の誕生日(1815)
2014-12-12 ロバート・ノイス 誕生日(1927)
2014-12-18 コンラッド・ツーゼ 命日(1995)
2014-12-28 リーナス・トーバルズの誕生日(1969)
2015-01-07 スティーブン・ボーンの誕生日(1944)
2015-01-08 ジョン・モークリーの命日(1980)
2015-01-13 ロビン・ミルナー誕生日 (1934)
2015-01-20 高柳健次郎の誕生日(1899)
2015-01-20 【追悼】森公一郎さん (LSI-C の作者)
2015-01-23 宮永好道 命日(1993)
2015-01-24 Macintosh の発売日(1984)
2015-01-28 芸夢狂人 誕生日(1953)
次のページ
寺田貴信の誕生日(1969)  2014-11-11 12:47:44  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は寺田貴信さんの誕生日(1969)。


僕、この人知りませんでした。

スーパーロボット大戦シリーズ一筋のプロデューサーの方。


…このシリーズやったことないんですよ。

先日書いたばかりだけど、ゲーム好きだけど「気に入ったゲームをやり込む」タイプなので、知らないゲームの方が多い。


それに、アニメも子供のころからそれほど見なかったので、元ネタをほとんど知らんのです。




じゃぁなんで書くのか、といえば、昔バイトしていた会社でSDガンダムのゲーム作るのを、ちょっと手伝った覚えがあるため。


自分でも何やったのかよく覚えてないけど、主にデータ整理だったんじゃないかな。

プログラムした覚えはない。


僕はガンダム良く知らないからわからないのだけど、発注元の営業さんが来た際にドット絵を見て、「16ドットなのに、よく似たモビルスーツの違いがちゃんと判る」としきりに感心していたのを覚えています。

その現場では、プログラムもドット絵描きもやっていました。


シリーズいっぱい出ているけど、どれだったのかなー…と今調べたけど、わかりませんでした。

この作品、孫請けでやっていたはずなのね。開発元にすら会社名入っていない。


メイン発注元の「ライバル会社」の発注を受けてしまったので、こっそりやる…と、メインの事務所とは違うマンションの一室で開発していました。

だから、開発元としても名前出さなかったんでしょうね。


この会社以外でもゲーム会社でバイトしたり、他の会社の事情も聴いたことありますけど、こんな話ざらにあります。

孫請けで仕事しても世の中に名前でないし、名前出すわけに行かない仕事でも請け負うことが多い。



この仕事やっていたとき、プログラマの人に、「キャラクタ動かすのに、小数点を使わず、正確に目的地について、動きの速度が一定になる方法、なんか知らない?」と聞かれたので、ブレゼンハムのアルゴリズム教えました。


グラフィックなんかで線を描くアルゴリズムなんですけど、しばらく研究して「求めているのと違う」と言って、結局固定小数点で計算してました。



寺田さんは「スーパーロボット大戦」の人で、SDガンダムとは違うのだけど、延長上にあるシリーズ…と考えていいんですよね?

やってないので何とも言えないのだけど。




ガンダム知らないにも関わらず、ファミコンディスクの「ガチャポン戦士」は遊んでいて、非常に面白かった覚えがあります。

シミュレーションゲームは基本的に好きなのね。


ただ、時間かかるものが多いからあまり遊ばないのだけど。



というわけで、この日記は非常に短く終了。

人を紹介したはずなのに、どういう方かちゃんとわかっておらず、申し訳ない。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

13年 vi は世界初のスクリーンエディタか?


申し訳ありませんが、現在意見投稿をできない状態にしています

キム・ポレーゼの誕生日(1961)  2014-11-13 11:39:20  今日は何の日

▲目次へ ⇒この記事のURL

今日は、キム・ポレーゼさんの誕生日(1961)。

コンピューター業界の「偉人伝」としては珍しく、女性の方です。


…えーと、僕は男女平等を標榜しているので、わざわざ「女性だ」と区別したくはない。

でも、現状男性が多いのは事実。だからこそ、女性だって頑張ってますよ、と明記しておきます。



多彩な方ですが、Java の名付け親、というのが一番有名なエピソードではないかな。

以前にジェームス・ゴスリング(Javaの開発者の一人。最初の実装を作ったプログラマ)の話で取り上げましたが、要約しておきましょう。


1990 年ごろ、元々ベンチャーとして始まった SUN は急速に成長し、すでに大企業病にかかっていました。

この状況を打破するため、社内で新しいプロジェクトが起こります。


#すでに SUN が存在しない会社なので説明すると、UNIX ワークステーションを開発し、広めた会社でした。

 SUN 以前、UNIX は存在しましたが、主に大学などで研究目的に使われ、製品としてそれほど売れていたわけではありません。

 SUN はこの UNIX を信頼性のおける製品として一般に広めた会社です。


このプロジェクトでは、「SUN の技術を信じず」、新しい製品を開発しようとしていました。


プロジェクトでは、「当面のハードウェア」として SUN の CPU が使われました。

しかし、SUN の技術を信じない、というのがプロジェクトの重要な思想だったため、そのままではプログラムができません。


そこで、特定の製品に依存しない「仮想 CPU」を考案し、その上で動作するプログラムを作ることにします。

同時に、それまでのプログラム言語の問題点を解消した、新しい言語でこの仮想 CPU をプログラムできるようにしました。


この言語が、oak 言語です。


これは素晴らしいアイディアに思えました。

…が、プロジェクト自体は失敗します。




その後、キム・ポレーゼが SUN に入社し、過去に失敗したプロジェクトを見直し、言語を発見します。

彼女は、この言語にはまだ使い道が残されているように思いました。


それまでのプログラム言語の問題点を解消し、気軽にプログラムが組める言語。

この「気軽さ」は、もっとアピールされるべきポイントです。


その気軽さを示すため、oak という名前を別の名前に変えることにしました。

そしてつけられた名前が、コーヒーの品種である「Java」でした。



丁度、WWW の登場によってインターネットが注目され始めていました。

インターネットでは、CPU の違う多数のコンピューターが使われます。


Java の「仮想 CPU」の考え方を使えば、それら多数のコンピューターの、すべてで動くプログラムを作れます。

彼女の指示により、Windows / Mac / SUN の Java 環境と、その上で動くキラーアプリである「HotJava」が用意されます。


HotJava は、Java で作られた WEB ブラウザでした。

当時のブラウザは、Netscape が急成長中。その元となった Mosaic もまだ多少使われており、IE が開発されたばかり、という時期でした。

その熱い戦場に、新しいブラウザを投入してきたのでした。


#Netscape は、現在 Firefox として知られるブラウザの元となったものです。

 Mosaic の開発者が新たに1から開発したブラウザでした。

 また、IE は Mosaic のソースを元に開発されたブラウザでした。


HotJava には「プラグイン」という、新たな機能がありました。

WEB ブラウザが知らないデータ形式があると、自動的にそのデータ形式を扱えるプログラムを探し出し、ダウンロードし、ブラウザに機能を追加するのです。


今ではブラウザに「プラグイン」があるのは当然ですが、HotJava が最初に打ち出したアイディアでした。


激しく移り変わるインターネット技術に、常に追随していく、自らを拡張していくブラウザ。

それが HotJava でした。




Java と HotJava は、熱狂的に世に迎え入れられます。

素晴らしいアイディアでした。


と同時に、Netscape は SUN と提携。Netscape のブラウザの中に Java の実行機能を作り込みます。

マイクロソフトもこれに追随。さらに、両者とも「プラグイン」の概念をブラウザに取り込みました。


これにより、Java の普及は促進されましたが、HotJava の優位性は消えてしまいました。

また、Java の実行機能に各社少しづつ違いがあったため、「どこでも動く」はずの Java は、実際に動かすのに非常に苦労する環境となってしまいました。



同時に、HotJava の見た夢も消し去られています。


たとえばプラグイン。

Netscape は独自の形式でプラグインを作れるようにしましたが、これは CPU 毎に別のプログラムが必要でした。

Windows / Mac / SUN で別のプログラムインを開発する必要があるのです。

もちろん、一部の機種用しか提供されないプラグイン、というものも存在しました。


さらに、IE は別形式のプラグインを必要としました。

その上、こちらは基本的に Windows 版のブラウザしかありません。


#初期の頃は Mac / SUN でも作られましたが、動作が全然違ったりしました。



HotJava の「プラグイン」は、ブラウザの動くどの環境でも、同じようにブラウザを拡張できるものでした。


新しいデータ形式が登場した際には、ユーザーが気にすることなく、自動的にそのデータを扱えるようになる…

全てのユーザーが同じ体験を共有できる、夢の世界がそこにありました。


しかし、Netscape や IE の「プラグイン」は、ユーザーの使用環境により、データを見られたり見られなかったりさせるだけの、邪悪なものでした。




WEB ブラウザに取り込まれた Java には、もう一つの問題がありました。

本来、Java は「どんなマシン上でも動かせる」という特徴を除けば、通常のプログラムと同じようにふるまうものでした。

HotJava も、この「通常のプログラム」として WEB ブラウザを作ったものでした。


しかし、WEB ブラウザ上の Java は、WEB ページの一部として動作することになります。

ページが移動すると、動作していたプログラムは強制的に停止させられてしまい、データは消えてしまいます。


そして、再び同じプログラムを動かそうとすると、ネットワークからゆっくりとプログラムを読み込み、起動するのです。


起動は遅いのにうっかり終了してしまい、とてもまともな仕事にはつかえない。できてもせいぜい簡単なゲーム程度。

これが、WEB ブラウザに取り込まれた Java の姿でした。



さらに、Netscape は Java 以前から作成していた「プログラム言語」を、Javascript の名前で発表します。

SUN との提携の元で使用した名前でしたが、これが混乱をもたらしました。


Javascript は、WEB ページの一部として動作するプログラムです。

表示を切り替えたり、操作を手助けしたり、簡単なゲームを作るくらいのことは出来ました。


…技術に詳しくない人から見たら、Java と Javascript の区別はつかない上に、名前も似ているのです。




キム・ポレーゼは SUN を退社し、「マリンバ」社を作ります。

世に「普及」し始めた Java を使い、当初の理想を追い求めるための会社でした。


WEB ブラウザに閉じ込められた Java ではなく、環境を問わずにプログラムを作れる、インターネット世代のプログラム環境としての Java へ。


…彼女の理想は高かったのですが、時代を先取りしすぎていました。

当時の資料などで彼女の「理想」をそのまま語るよりも、その後普及したサービスとの違いを書いた方がわかりやすいでしょう。



まず、マリンバ社の核になるサービスが「カスタネット」でした。


カスタネットでは「マルチメディアコンテンツ」…つまりは、多少のインタラクティブ性も持たせられる動画を配信することを商売の中心と考えていたようです。


当時はまだパソコンは「よくわからない」と言う人が多く、しかしインターネットは爆発的に成長していました。

テレビのように「見るだけ」なら受け入れやすい、ということでしょう。


つまりは、YouTube を作りたかったのだと考えてください。

ただ、この頃のインターネットはまだ通信速度が遅く、動画配信なんてできません。


カスタネットでは、「プログラム」を配信します。

そのプログラムが、アニメーションなどの形でユーザーに動画を見せるのです。



ユーザーは「受信機」を自分のパソコンにダウンロードし、実行します。

パソコンらしい作業が必要になるのはここまで。将来的にはあらかじめインストールされた状態で出荷され、ユーザーは一切パソコン知識がなくて良い、というのを想定していたようです。


受信機ではチャンネルを選ぶことができます。

あらかじめお気に入りのチャンネルを複数登録しておけば、すぐに番組を見られます。


先に書きましたが、番組はプログラムとして配信されます。

そこでユーザーが求める最新の情報を見たり、プログラムですからゲームで遊ぶ、アンケートを取るなんてこともできます。


このプログラムは、あらかじめ「お気に入り」のチャンネルに登録しておけば、見ていない間に勝手に更新されます。

ダウンロードしてインストール…ではなく、いつの間にか最新になっているのです。


しかも、プログラムが一部改編などでほぼ同じ場合、「変更された部分」だけがダウンロードされ、適用されます。

これ、「差分情報」がサーバーにあるのではなくて、サーバーに置かれたファイルは常に完全版。

配信時に、双方で情報を送り合いながら自動的に差分を検出する技術なのね。


#rsync みたいなもの、と言えば、わかる人にはわかるでしょうか。



…今では当たり前の技術ばかりですね。でも、当時はこんな環境は他になかったのです。

当時、プログラムを動かしたければ、自分のパソコン環境にあったプログラムを選び、ダウンロードし、インストールする必要がありました。

バージョンアップがあれば、最新版のプログラム全体をダウンロードしなおすところから始めます。


何度も書きますが当時は回線が遅く、ダウンロードには長い時間待たされました。

「いつの間にか」ダウンロードされ、インストールされているというのは、この待ち時間も手間も無くすことになります。


欲しいと思ってからダウンロードするものを「PULL 配信」と読んでいたのに対し、勝手に最新版になっているこの方法は「PUSH 配信」と呼ばれ、当時注目の技術でした。




カスタネットは、チャンネルがあってマルチメディアコンテンツが見られる…という娯楽面でとらえると、 YouTube に似ています。


しかし、おそらくこの考え方は当初の物で、すぐに「もっと商売になる」場所に気付いたようです。

実際、リリース時には「大企業を中心としたビジネス」を考えていたようでした。


カスタネットで配信されるのは、先に書いたように Java プログラムです。後には、Java に限らずプログラム一般をなんでも配信できるようにしています。


たとえば、有料でチャンネル契約すると、各種オフィスソフトが使用できる、なんてサービスもありました。

Java で作成されたワープロや表計算、図形描画ソフトなどが使え、さらに常に最新ソフトになっているのです。


…これ、今では Adobe がやっている Creative Cloud と非常に似ていますね。

Creative Cloud では、月単位で契約し、すべてのアドビ製品の最新版を自由に使えます。


Adobe に縁が無い人でも、Android や iPhone で、アプリが自動的に更新されたりするのを見たことはあるのではないでしょうか。



個人で使っていても、勝手に常に最新版になってくれている、というのは非常に便利です。


大企業では、「便利」以上のメリットがあります。

多数の端末を使っていて、重大なセキュリティホールが見つかったから一斉にアップデート、その間は仕事がストップ…とか、当時は実際に起こり得る悪夢でした。

しかし、勝手に最新版になる、という仕組みがあれば、この悪夢から解放されます。


カスタネットが最初のターゲットに企業を選んだというのもそのためでしょう。

ゆくゆくは、個人向けに…まさに、今の Adobe や Android / iPhone などがやっているような「アプリケーション配信」をやりたいと考えていたようですが。




マリンバ社では、カスタネット以外にも Java プログラムの作成支援ツールである「ボンゴ」や、「トランペット」という製品も出していたようです。

(トランペットの詳細がわからず…)


楽器の名前ばかりですが、キム・ポレーゼは当時のインタビューで「いわゆるパソコンらしい名前は使いたくない」と言う趣旨のことを言っています。

「変わっていて人に覚えてもらいやすい」ことや、「エネルギッシュで情熱的」であることを伝えたい、と。


カスタネットって、日本人の考えている奴じゃなくて、世界的には「フラメンコダンサーが持っている楽器」ですからね。

非常に情熱的で激しい楽器です。


その一方で「ネットだとか、サイバー、ウェブ、といったいかにもそれらしい名前」とは違うものにしたかった、とも言っています。

でも、Castanet って、Cast-a-net (ネットで放送する)という意味に、明らかに掛けてますよね…



残念ながら、カスタネット環境は非常に注目されていたにもかかわらず、思ったように普及せず、今では無くなっています。

(技術は別の会社に吸収され、サーバー製品群に組み込まれたりしているようです)



でも、これは決して「失敗」だったとは思わないんですよ。

マリンバ社としては失敗だったけど、方向性を示したことで、後に続くものがちゃんと育っている。


先に書いたように Adobe や Android / iPhone 、最近では WEB ブラウザも自動更新が当たり前ですし、他にもそうしたソフトは山ほどあります。

ただ、PC 上では自動更新のソフトって、「ソフトごとに」仕組みが作られているのね。


カスタネットみたいに、皆が共有するような仕組みが一つあれば、無駄をいろいろと省けるのでしょうけど。

(Android / iPhone では OS が仕組みを持っています。)




さて、キム・ポレーゼ女史は現在、ClearStreet 社の会長をしているそうです。


一般人向けに、人生計画に基づいた資金計画を考えるお手伝いをする会社…ということでいいのかな。

「普通の人にはややこしいことを、出来るだけ簡単に出来るようにしてあげたい」という部分は変わっていないようです。


2011年にはオバマ大統領のイノベーション諮問委員会の一員となり、アメリカの技術革新のためのレポートをまとめています。


この際には、サンフランシスコの新聞によって「もっとも影響力のある女性」に選ばれています。

…もっとも、サンフランシスコ近郊(ベイエリア)に住む女性を150人も選んだものですが。


さらに以前、マリンバ在籍中にはタイム誌によって、「最も影響力のあるアメリカ人 25人」の中にも選ばれています。



いずれにせよ、パソコンの世界だけでなく、政治や経済にも影響力をもつ女性であることに間違いありません。




▲目次へ ⇒この記事のURL

関連ページ

ジェームズ・ゴスリングの誕生日【日記 14/05/19】

全ての国民が…【日記 14/11/13】

別年同日の日記

01年 11/12

02年 パパイヤ

06年 風邪惹いた

08年 CMS

09年 読んだ本

15年 DIGA DMR-BRW500

17年 揚げ網

17年 スプラ2のフェス


申し訳ありませんが、現在意見投稿をできない状態にしています

ピーター・ノートンの誕生日(1943)  2014-11-14 12:19:21  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日はピーター・ノートンの誕生日(1943)


ノートン先生本人です。最近は知らない人も多いかな。

「ノートン・ユーティリティーズ」や、「ノートン・インターネットセキュリティー」のソフトウェアブランド名として残っていますね。




元々は、IBM-PC が発売されてすぐに、DOS 用の便利なユーティリティー集を作成して販売した人…でした。


その機能は、消してしまったファイルを復活する、壊れたファイルを出来る限り修復する、ファイルを見えなくする、ファイルエントリを整頓する…などなど。


今となってはこれ自体に解説が必要だな。

当時、今の Windows や MacOS にあるような「ゴミ箱」なんて概念は存在せず、消去したファイルは瞬時に消えました。

でも、実は「ディスク上のメモリを解放した」だけで、データは残っているんですね。


そこで、データが「少しでも残されている」前提で、できる限りデータを拾い出して復活する、というのが消去ファイルの復活・壊れたファイルの修復になります。

消した直後なら復活しやすいけど、時間がたつと(データが上書きされると)確率は下がります。


こういうツールはフリーソフトでも良く作られていたのだけど、それを最初にやったツール。


DOS では、「ファイル一覧」を見ると、ディスクに書き込まれている順…つまりは、DOS 内部の都合による順番でファイルが表示されました。

これを、ファイル名順とか、変更時刻順とか、自由に並び替えるのが「ファイルエントリの整頓」。


ファイルを見えなくするのは、単に「見えない」属性を付けるだけ。

DOS 自体にその機能はあったのですが、操作する方法がありませんでした。



どの機能も、後で定番となるようなものばかりです。

というか、CP/M でもあったのかも。僕は CP/M 当時をそれほど知りませんが、誰よりも早く DOS に移植した、というだけかもしれません。


でも、ノートンは、このソフトで大儲けします。




人気が出たので DOS がバージョンアップすれば対応版を作りますし、便利な機能を増やしたバージョンアップ版も作ります。


その一方で、こうしたツールを作るために「解析」した、IBM-PC のハードウェア詳細や DOS の内部詳細を、まとめて本にします。

この本の表紙には、腕組みをしたピーター・ノートン本人の写真が使われました。


IBM-PC や DOS の仕様変更に伴い、こうした本は数冊発売されています。

IBM-PC ハッカーの必携書でした。



1984年に Macintosh が発表になると、すぐにノートンユーティリティーの Mac 版も作ります。

Mac 版では「アイコン」を付けなくてはならなかったため、腕組みをしたノートンのイラスト…本で有名となった「本人」を登場させます。


ノートンは腕の立つハッカーで、小粒ながら本当に役立つツールを作成する、と認識されていました。

その本人が自分の肖像を付けて販売するソフトは、性能保証を意味していたのです。



Mac が「ファイルの扱い」で DOS よりも便利である、と話題になると、すぐに「ノートンコマンダー」を DOS 向けに発売します。

これは、いわゆる「ファイラー」(ファイルマネージャー)の元祖です。


ファイル一覧を画面に表示し、カーソルキーで選んで操作できました。

コピー、移動、複製、削除、内容表示、編集、外部プログラムへの受け渡し、などなど…


元祖だったため、以降に続く類似ソフトは、みなノートンコマンダーの作法に倣いました。

現在でも、数多くのファイル管理ソフトが、同じ作法で操作することができます。



いずれも、決して派手なソフトではありません。

しかし地味に使い勝手を向上させ、確実にパソコン環境を改善するツールばかりを作り出しています。




Windows 時代にもノートンコマンダーは作られましたが、そもそも Windows ではファイルの扱いが簡単になったため、それほど売れなかったようです。

かわりに、増え始めたウィルスの脅威に対してノートン・アンチウィルスや、ノートン・インターネットセキュリティが発売され、こちらも人気を博します。


他にも、ノートン360、ノートンパーソナルファイアーウォール、ノートンシステムワークス、ノートンパーテションマジック、ノートンアンチスパム、ノートンアンチボット、ノートンGoBack、ノートンゴースト…などなど。


今では他の製品の一部になっていたり、完全に開発終了しているものも含め、非常に多くの製品を送り出していおます。

(僕も知らない製品ばっかなので、あまり質問しないでね!)



ノートンユーティリティズの方は、今でもシリーズが続いていますね。

「フロッピーディスクを対象としたソフト」だったのが、現在ではハードディスクのデフラグや Windows のレジストリ整理など、全然違う内容になっていますが。


…でも、消去したファイルの復活はまだあるのね。

一度ゴミ箱に入れて、それから消去して、その後で「あ、間違えた」と言う時でも復活できる。うっかりさんには必要…なのか?


いずれにせよ、今ではほとんどがOSに付属していたり、無料で入手可能な機能ばかり。

「ノートンを買わないとその機能が手に入らない」ころと違って、雑誌などでの評価も下がっているようです。




ところで、68k Mac の頃に、ノートンユーティリティズの一機能であった「ノートン・ディスクドクター」のパロディで、「ニュートロン・ディスコダンサー」というソフトがありました。


ディスクドクターは、「ディスクを検査し、修復します」と、ディスクの聴診器を当てるノートン先生のアニメがありました。

ディスコダンサーは、「ディスクを破壊し、消去します」と、同じように手を動かして、DJ 風にディスクをスクラッチしたりする。


冗談ソフトなので、もちろん壊れてないし消去されないのですが。


こんなパロディが登場すること自体、「誰もが知っている」ことを前提としていたわけで、すごく普及していたのだと思います。




現在、ピーター・ノートン氏は健在ですが、流石にソフト業界からは手を引いています。

ノートン社もシマンテックに吸収され、ブランドのみが残っています。


つまり、ノートンは名前のみが残っていて、ノートン氏が作っているのでも、ノートン社が作っているのでもない。


ノートン氏は現在でもいくつかの会社の会長などを務めていて、それとは別に財団も持っているようです。

財団では、主に美術館と協力して美術品の保護にお金を出したりしているみたいです。






▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

01年 11/13

03年 首村消失

13年 ゲームセンターあらし 発表日(1978)


申し訳ありませんが、現在意見投稿をできない状態にしています

ポール・モカペトリスの誕生日(1946)  2014-11-18 16:23:54  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は、ポール・モカペトリスの誕生日(1946)。


初期インターネットに貢献したプログラマーです。

そして、最大の貢献は DNS の発案と、最初のサーバーの実装でしょう。


DNS については、技術記事として過去何度か取り上げています。

今回は、「なぜ」DNS が必要になったのか、その歴史を書いてみたいと思います。




初期のインターネットに DNS はありませんでした。


まずは、アドレスを直接指定して接続する「実験」が行われます。

これでは不便なので、すぐに「アドレスとホスト名の対応表」が作られます。


対応表は、HOSTS.TXT という名前で配布されていました。

(当初は、1バイトが 6bitのマシンもインターネットに接続されていました。

 このため、ファイル名などは全て大文字が使用されました)


これを、各システムの適切な位置にコピーして使用します。

unix であれば今でも /etc/hosts に、「対応表」を置くことができます。



HOSTS.TXT は非常に重要なものなので、一括管理されました。


管理者はダグラス・エンゲルバート

「マウスの発明者」として有名な…本当はもっとすごい…人です。



彼は初期のインターネットの管理に手を貸していました。

申請に応じて IP アドレスとホスト名を割り振り、HOSTS.TXT に書き込み、公開します。


利用者は、時々最新の HOSTS.TXT を取得する必要がありました。

そうしないと、新しく追加されたホストにはアクセスできないためです。




最初はうまくいっていたこの管理方法は、やがて破綻します。


当時、ホスト名は「世界中にたった1個」しか許されないものでした。

しかし、手動管理ではこれが保証できず、ホスト名の衝突が起こることがありました。


つまりは、送ろうとしたメールが、同じホスト名の別のマシンに届いたりするのです。


また、HOSTS.TXT は、数万行という非常に巨大なファイルとなりました。

世界中のすべてのホスト名が、このファイルに書かれているのですから。


そして、当時のインターネットはまだ低速でした。

何万と言うホストの管理者が、みんなで1つしかないこの巨大ファイルをダウンロードしようとするのです。

サーバーは接続に対応しきれませんでした。




これを解決しようとして、ポール・モカペトリスが出したアイディアが、ホスト名の分散管理です。


まず、ホスト名の衝突問題の解決。

世界中のホストを調査し、同じ名前にならない名前を付けなくてはならない、というのは現実的ではない。


そこで、名前を階層化します。

つまり、普通の人が「姓」と「名」を持つと同じ。


ある団体に、団体名を割り当てます。

この団体名は、同じ名前が無いようにします。


団体が大きすぎる場合、団体の中でさらにグループ名を割り当てます。

この名前も、団体の中では同じ名前が無いようにします。


さらに、グループ内でホスト名を考えてもらいます。

このホスト名も、グループ内で同じ名前が無いようにします。


最後に、今まで「ホスト名」を必要とした部分で、ホスト名、グループ名、団体名を接続した名前を指定します。

世界中に同じホスト名・同じグループ名が存在したとしても、団体名が違えば別の名前になります。



英語で、あるまとまった地域などのことを「ドメイン」と呼びます。

これが、「ホスト名のドメイン管理」です。


ちなみに、グループ名などは、何段階に階層化しても構いません。

世界に一つ、という保証さえあれば問題は無いのです。




次に、HOSTS.TXT 相当のファイルの管理も、グループや団体の単位で行ってもらいます。

自分の「ドメイン」の中にあるホスト名やグループに関してのみ責任を持ち、それ以外のことは適切な別のところに問い合わせる。


これが、ドメインの名前管理サービス。…つまり Domain Name Server 、DNS です。


各ドメインの管理ファイルは、今までの HOSTS.TXT のように巨大なものにはならないでしょう。

必要最小限の情報だけを送り合うことで、低速な回線でもすぐに情報が伝達できるようにします。


DNS の考え方では、知らない名前は基本的に「上位」のサーバーに問い合わせます。

つまり、ホスト名がわからなければ自分の属するグループに訊ね、そのグループは属する団体に訊ねるのです。


じゃぁ、団体はどこに訊ねるの? …一番上には「ルート」、つまり「根っこ」を用意します。

(太い根っこから、幹が伸びて枝に別れ、葉っぱが茂っているイメージです。葉っぱがホストに相当します)




アイディアが出されたのは、1983年の11月。RFC881,882,883の連番で、2と3がモカペトリスによって書かれています。

(881は、モカペトリスのアイディアを実行に移すために、以下のスケジュールを考えている…という内容)




この時のアイディアはたたき台に過ぎず、これから長い時間議論が続きます。

最終的には、4年後の 1987年11月に、RFC1034, 1035 として仕様が決まり、モカペトリスによって最初のサーバー(JEEVES)が実装されます。



当初、ルートサーバーは、エンゲルバートが管理しました。

それまでの HOSTS.TXT の管理人です。


しかし、重要なものを個人が管理するのも違うだろうということで、後に世界で13台のサーバーを、分散して管理することになります。


ルートにアクセスする必要がある際は、この13台の中でランダムに問い合わせを行います。

どれかのサーバーが障害を起こしてアクセスできなくても、別のサーバーに問い合わせれば大丈夫。


#現在は、見た目の上では13台のままですが、さらに数百台に分散されています。


ちなみに、13台には A~M の名前が付けられていますが、日本には M が置かれています。

これ、当時の日本のインターネットの世話役であった、「村井純」先生のイニシャルから決められたそうです。


#この話、以前に NHK の技術番組でも、本人が語っていました。

 上のリンクは、最近本人にお会いして聞いた、という方のブログ。




ところで、DNS と IP アドレス(IPv4)には、似て非なる関係性があります。


IP アドレスは、0~255 (8bitで表現できる数)を、. (ピリオド)で区切って4つ並べたものです。

左側の数字が上位の管理者によって管理され、右に行くほど末端を意味します。


ドメイン名は、「名前」を . (ピリオド)で区切って並べたものです。

右の名前が上位の管理者によって管理され、左に行くほど末端を意味します。


…ドットで区切って並べる、という部分が同じなのに、左右のどちらが末端か、という扱いが違うのです。


DNS は、基本的には「名前を元に、IP アドレスを調べる」ためのものです。

しかし、IP アドレスを元に名前を知りたい、という場合(逆引き)もあります。


DNS では、「プログラムの仕組みはそのまま」で、「データを工夫して」逆引きに対応しています。


たとえば、192.168.127.32 というアドレスがある場合、これを逆引きするためのデータは、次のような「ホスト名」として設定します。


32.127.168.192.IN-ADDR.ARPA


IP アドレスを区切ったうえで逆に並べ、最後に IN-ADDR.ARPA を付けただけ。

でも、これで IP アドレスの「末端が右」という規則は「末端が左」に変わり、ドメイン名と同じプログラムで処理できるようになりました。


もちろん、IP アドレスの部分にはホスト名を書いておきます。

…これはつまり、DNS のプログラムが、IP アドレスとホスト名を「まったく」区別していないことを意味します。

数字である IP アドレスを書く部分に、アルファベットのホスト名書けちゃうのね。


プログラムを複雑にしないで、運用上の工夫で乗り切ろうとする姿勢、素敵です。


#運用上の、と書いたけど、運用しながら作りだされた方法ではなくて、最初の DNS RFC にこの表記方法が明記されてます。




過去に書いた通り、DNS の設計時点では「悪人」がいることは想定していなかったので、仕組みそのものにセキュリティホールが指摘されています。


以前には「毒入れ」と呼ばれる問題と、google DNS がその問題の解決方法の一つだということを書いたのですが、つい最近別の問題も起こっていました。

ドメイン名ハイジャックとして話題になりましたが、DNS の登録情報もまた、DNS のように「人から人へ」と伝播していくのを悪用した攻撃です。



セキュリティは弱いところからほころびる、と言われますが、極度に分散した仕組みであるDNSは、弱いところだらけです…




▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

DJBの誕生日(1971)【日記 15/10/29】

世界最初のドメイン登録(1985)【日記 17/03/15】

別年同日の日記

01年 11/17

02年 予約特典

04年 CSV-S57改造

13年 ミッキーマウス&ポール・モカペトリス 誕生日

16年 ら抜き言葉


申し訳ありませんが、現在意見投稿をできない状態にしています

セガ・サターンの発売20周年  2014-11-22 12:47:18  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日はセガサターンの発売日(1994)。

発売 20周年です。


サターンの発売日としては去年も書いたし、今日が土曜日なので昨日も書いた

でも、ツイッターでセガ公式氏が昨日「仕掛けた」ので、昨日今日とサターンファンが盛り上がって自分の思い出話を語り続けている。



で、時々見かけるのがサターンの「マスコットキャラ」の…であったはずの…ペパルーチョの話と、「なんでソニックじゃなかったのか」という話。


ソニックの人気を上層部が過小評価していたのではないか、ということを呟いている人もいました。

えー、それは流石に違うと思う。



真相は知りませんが、当時の噂としては理由をちょっと聞いていましたし、最近サターンの話を調べていた際の情報とも合致します。

なので、どうも…多少の信憑性はあるんじゃないかな、と思っている噂話を書いておきます。




サターンの話の中で、サターンが当初はメガドラ互換として考慮されていた話を書きました。

当初はメガドライブ 32 という開発名だったようです。


System 32 の機能を大幅に取り込みながらも、メガドライブ互換。

…つまりは、ポリゴンなんて出なかった、ってこと。


そのころから、セガはポリゴンゲームも作りはじめていました。

なので、メガドライブ 32 はポリゴン機能も付け加えられ、その頃から「ジュピター」と名前を変えた模様。



この頃の CPU が何だったかは知りません。

でも、メイン CPU にはそれなりに強力なものを据えて、サブ CPU に 68000 を搭載したのではないかな。


想像ですが、メイン CPU は Z80 をエミュレートさせても、十分に 3.58Mhz の速度を出せる程度の速度は持っていたでしょう。

そして、メガドライブと同じように、68000 とメイン CPU は、どちらも同等のバスに接続させる。


こうしておけば、メガドライブのソフトも Z80 部分をエミュレートすることで動かせます。

68000 を音楽用にして、メイン CPU をネイティブで動かせば、十分なパワーも引き出せます。



実は、メガドライブも同じような仕組みで、「mkIII 互換」になっているのは、セガファンなら知っているところ。




メガドライブの互換機、というのは非常に重要だったと思います。

日本ではメガドライブはあまり売れていませんでしたが、世界的にはすごい大きな市場を作った機械。

この市場を「丸ごと捨てる」という判断はあり得ません。


そして、ソニックはこの市場を代表するビッグキャラクター。

おそらく、ジュピターがメガドライブ互換のまま完成していたら、当然のようにソニックのゲームも同時発売されていたのではないかと思います。



しかし、当のアメリカ市場で、3Dゲームの旋風が巻き起こることになります。




パソコン用には3Dゲームが流行し始めていました。

3DOの開発の噂もありましたし、PS-Xの噂もありました。


どうも、一番ライバル視したのはPS-Xのようですが、この機械に負けないようにジュピターは大幅に設計をしなおし、サターンに変わります。


どうやらこの過程で、「メイン CPU とサブ CPU を同じバスにつなげる」という選択は捨てられた模様。

同じバスを奪い合うと性能が低下するために、性能向上を狙うとこの選択は無かったのでしょう。


サターンに音楽用としての 68000 は残っていますが、メインとして使うことはできません。

これは、「メガドライブ互換にはなり得ない」ことを意味します。


メガドライブの互換性を気にしすぎると、性能が低くて他社との競争に負ける。

しかし、メガドライブの互換性が無くなれば、大きな市場を手放すことになる。


非常に難しい選択を迫られた形です。




サターンにはメガドライブの互換性は望めない。

…どうも、技術的にこのことがはっきりしたのは、かなり遅かったようです。

逆に言えば、互換性を考慮できないか、ぎりぎりまで設計の見直しが続いていたのかもしれません。


しかし、互換性が保てないとはっきりした時点で、セガは「互換性を持った後継機」の路線を諦め、メガドライブの延命策を始めます。



この方法も、念のための2系統。

一つは、メガドライブの「後継機」ではなく、「周辺機器」でパワーアップを計る方向。

もう一つは、そのままメガドライブの市場を維持する方向。


前者はスーパー32X ですね。

メガドライブがすでに「拡張」に耐えられないほど古いハードになっていた上に、戦略決定が遅かったため、スーパー 32X のハード自体を十分練り込む時間もなく、歴史的な大失敗しました。


ハードを「開発する」という決定から、発売まで1年無いんだよね。

同時発売のソフトの開発も考えると、ハードの実質的な設計期間は3か月程度だったのではないかと思います。


それでも、こちらではサターンにはなかなか出なかったソニックシリーズが、すぐに発売されています

ソニックは登場しない、外伝的作品ですけど。



で、メガドライブ延命策のもう一つ、「そのまま市場維持」です。

…これが難しいのは、最初からわかっていたでしょう。


でも、そのための戦略の一つが「ソニックはメガドライブのキャラクターだ」という宣言です。


ソニックの人気を過小評価なんてしていない。

むしろ、非常に大きく評価しているからこそ、「ソニックの続編はまだメガドライブで出る」としておけば、メガドライブの市場を保てるのではないか、と考えたのでしょう。




もっとも、この宣言自体、非常に玉虫色なんですね。


どうも、どこかで「メガドライブのキャラクターだ」と言ったようなのですが、そのことを聞かれたセガの人間は「いや、メガドライブと言うことは無くて、あれはセガのキャラクターですよ」なんて言ってたりもする。


でも、そういうときにも必ず、「サターンにはサターンで活躍する新しいキャラが必要でしょう」と付け加えたり…

要は、言質を取られないようにのらりくらりとかわしながら、ソニックの新作はまだメガドライブで出るんじゃないか、と期待させようとしている。


これ、結局「市場維持するためにも、ソニックはメガドライブと共にあるような幻想を見せておけ」という戦略だったのではないかと思います。

いつか市場がしぼむとは分かっているから、決して言い切ったりはしないのだけど。




で、サターンのキャラはペパルーチョ、ということになるのですが、これは単に宣伝上の戦略。


プレステは、発売日の少し前から「モータートゥーン・グランプリ」のキャラクターイラストをチラシなどに使っていました。


#モータートゥーンは当時ソニーが直接作っていたゲームで、後の「グランツーリスモ」の元になるゲーム。


かなり使っていたし、初代マスコットキャラ、と思っていたのだけど…

Wikipedia にもプレステのマスコットキャラ一覧、ってのがあるのだけど、載ってないね。


まぁ、ともかくプレステは「かわいいゲームキャライラスト」を使ってチラシとか作っていたのね。

じゃぁ、サターンもやらなくちゃまずい。


でも、ソニックはメガドライブ市場を温存する戦略があるので使えません。

注目タイトルはバーチャファイターでしたが、「アキラ」は…一般向けのかわいいキャラとは言えない。



そこで、開発中のゲームのキャラから、ペパルーチョが選ばれた。ただそんだけ。

「クロックワークナイト」を作っていたチームは、サターンを背負って立つキャラになるなんて、全く考えていなかった模様。




急にメインキャラの重圧を背負わされた、クロックワークナイトの開発チームの方には同情を禁じ得ません。

「ソニックに続く看板キャラだったのに、いつの間にか消えた」とか言ってあげるのは、ちょっとかわいそう。


看板キャラだから、当然「同時発売で」と言われたと思うのですが、そんなつもりで開発してない。

じゃぁせめて2週間遅れで、となったのでしょうが、おかげで、未完成だったのに「上巻」って名付けて半分だけ発売することになっちゃうし…


#クロックワークナイトの発売は、本体発売からおよそ2週間後の、12月9日。


でも、「上巻」って名付けて発売したので、下巻を発売することが約束されました。

ここで、「アイディアコンテスト」を行ったのは流石。転んでもタダでは起きない。


このゲーム、上巻はスーパーマリオタイプの普通のゲームなのね。

3Dを活かした演出はあるのだけど、「3Dじゃなくちゃ」と言うほどのものは無い。


でも、下巻はすごいです。横から見ている2Dゲームなのにも関わらず、3Dじゃないとできないことが詰まっている。


アイディアコンテストで応募された中から、実際に面白いアイディアを詰め込んだのですね。

数人の開発チームで作っていても出てこないような仕掛けが、これでもかと詰め込まれている。


それでいて、ちゃんと2Dゲームなので、遠近感が掴めないで遊びづらい、とかいうこともない。

それまでのゲームでは見たこともないような突拍子もないアイディアを、ちゃんと遊びやすいゲームにまとめ上げているのだから、たいしたものです。


名作です。遊んでない人は今からでも是非。




そんなこんなで、ソニックのゲームがセガサターンでなかなか発売されなかった理由と、ペパルーチョがマスコットとされた理由の「噂」を書いてみました。


もう一度書いとくけど、当時聞いた噂だよ。

ここには書けないこともあって、それなりの信憑性はあると信じているけど、核心に迫る事実は何も知らないので間違えていても責任はとれません。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

01年 11/21

02年 エアチェック

09年 風邪…ひいた?

09年 Netwalker 買った。

13年 セガ・サターンの発売日

17年 加湿器


申し訳ありませんが、現在意見投稿をできない状態にしています

【sh】 海外のフォーラムで、32Xのソニックは元はセガサターンで(主役もソニックとして)出すつもりだったという噂がありました。実はその頃のものらしき開発中ROMデータというのがネットに流出して出回っているんですが、それがメガドライブ用のROMなんですよね... 互換性を予定していたのと関係あるのかもと妄想してます (2017-08-27 00:54:49)

ジョン・バッカスの誕生日(1924)  2014-12-03 10:30:47  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は、ジョン・バッカスの誕生日(1924)


FORTRAN 開発の責任者であり、ALGOL の作者の一人であり、BNF記法の考案者の一人でもあります。

つまり、世の中の多くのコンピューター言語の基礎を作り上げた人。


Lisp なんかはまた違う潮流ですけどね。



以前の日記に、FORTRAN の誕生経緯を書いたことがあります。

バッカスの業績は、大体そこに書いてあるので、そちらをご覧ください。



ここでは、そちらに書かなかった話を書こうかと思います。




僕の認識では FORTRAN は世界最初の「高級言語」です。


高級言語の定義と言うのは非常に曖昧なのだけど、アセンブラではなくて、もう少し「文法」らしきものを持っている、ということね。


ただ、今日バッカスの誕生日なので調べたら、Wikipedia の日本語版には FORTRAN の前にバッカスが SpeedCoding という言語を作っている、となっている。


うーん、あれを言語と呼ぶか。…呼べなくはないけど、そう認識してなかった。

弁明するわけではないけど、FORTRAN が「世界最初」と以前に書いてしまった手前、SpeedCoding について解説しておく必要がありそうです。




FORTRAN が作られた IBM 704 は、701 の、互換性のない後継機です。


701 は IBM の作った最初の電子式デジタルコンピューターで、科学計算用でしたが固定小数点しか扱えませんでした。

(704 は浮動小数点を扱うハードを持っていて、これが世界初です)


しかし、科学計算では浮動小数点が無くては、精度が十分ではありません。


そこで、浮動小数点を含む科学演算を素早くプログラムするために、SpeedCoding が作られました。

その意味では、目的は FORTRAN と同じ。



でも、SpeedCoding は FORTRAN とは全く違うアプローチを使っています。


これは、IBM 701 の中に作られた「仮想コンピューター」なのです。


この仮想コンピューターでは、浮動小数点を扱う命令を持っていますし、主要な数学関数を扱う命令も持っています。

それらの命令は全て、仮想コンピューターの「機械語」として用意されています。


SpeedCoding システムは、この仮想コンピューターの命令を解釈できます。

…内部的には、命令語(数値)を拾ってきて、その数値に対応するルーチンを呼び出す、というのをひたすら繰り返すだけです。


ひたすらルーチンを呼び出し続けるだけなので、遅いです。



命令の中には、IBM 701 に処理を戻す命令もあります。

なので、IBM 701 の命令で前処理を行い、SpeedCoding システムで浮動小数点計算を行い、終了後は IBM 701 命令で結果出力を行う、という使い方になります。


(判る人にだけ:Apple ][ の ROM にある、Sweet16 と全く同じような動作です)



まさかこれが「FORTRAN の前に作られていた言語」と言われるとは思いませんでした。

言語と言えなくはないですが、完全に機械語で、この時代なのでおそらくハンドアセンブル。


まぁ、どう捉えるかは人それぞれでもあるのですが、英語版 Wikipedia でも「世界初の高級言語」というような紹介をされていて、それはちょっとどうかと思う。


日本語版はその翻訳に過ぎないのですが、「世界初の高級言語」は流石に違うと思ったのか、「先に作られた言語」みたいにトーンダウンしてる。




ただ、SpeedCoding が FORTRAN に影響を与えているのは事実です。


SpeedCoding は、結局のところ機械語だったので「誰でも使える」とは言い難いものでした。

また、インタプリタ実行だったので、非常に遅く、機械の高速性を殺してしまうものでした。


そこで、FORTRAN は「英語のような文法」を持つ言語として設計され、下手なアセンブラプログラマが組むよりはずっと速い実行速度を持つコードを生成することが目標とされました。


最初の FORTRAN では、すでに局所最適化などのテクニックが駆使されています。


言語構造は実のところ、英語の文法に近づけただけで、IBM 704 の機械語の影響を強く受けています。

…つまるところ、アセンブラと大して変わらなかった、ということ。


でも、生成されるコードの品質に関しては、いきなり高いレベルを狙っているのです。




冒頭でリンクした FORTRAN の誕生経緯を書いた際に、「FORTRAN はよく出来ているから、最初の言語だとは思わなかった」と言っている方がいました。


多分、その方は 現代の FORTRAN や、FORTRAN の各種バージョンの中でも特に普及した FORTRAN 77 を想定していたのではないかな、と思います。


最初の FORTRAN は、「文法を変えただけのアセンブラ」と言う感じが残っているのですが、FORTRAN 77 の頃にはそのような部分は無くなっていて、よく出来た高級言語です。



でも、上に書いたような経緯で、最初の言語であるにもかかわらず、「過去の反省」が活かされてもいます。

最初の FORTRAN を知ったうえでの「よく出来ている」発言だったとすれば、その理由は上記のようなものでした、


最初の言語、ではありますが、過去のプログラムの反省を踏まえ、高いレベルで作り上げられていたのです。





▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

ジョン・バッカスの命日(2007)【日記 15/03/17】

ジョン・バッカスの命日(2007)【日記 15/03/17】

IBM - SSEC

別年同日の日記

02年 イタメシヤ

02年 オムライスカレー

12年 ボーリング

18年 妻の誕生日

18年 ノートパソコン修理


申し訳ありませんが、現在意見投稿をできない状態にしています

NLS伝説のデモの日(1968)  2014-12-08 13:13:15  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

1968年の今日、ダグラス・エンゲルバートにより、NLS の「伝説のデモ」が行われました。


ダグラス・エンゲルバートは元米空軍のレーダー技師で、Whirlwind I の海軍版である「SAGE」を扱っていました。


当時のコンピューターは、「計算機」にすぎません。

パンチカードでプログラムとデータを入力すると、テレタイプライターが結果を印字します。

普通なら、これで終わり。


しかし、SAGE はそうではありませんでした。

何台もの CRT ディスプレイ…オシロスコープを改造したものが接続されていて、ベクタースキャンで画像や文字を出力します。

さらに、ライトガンと呼ばれる機器で画面をタッチすることで操作を行えます。


米空軍では、海岸線に並べたレーダーから入る情報を SAGE を使って統合し、表示し、必要なら即座に詳細情報を見られるようにしていました。

こうして、米国本土に侵入する航空機を監視していたのです。




エンゲルバートは、SAGE を扱った経験から、「コンピューターと対話する」可能性に気付きました。

SAGE では、必要な情報を画面に表示するだけです。しかし、「計算」だけではなく、画像や文字で情報が表示され、それに触れるだけで詳細を得られました。


この方法をもっと拡張すれば、コンピューターで文章を作成したり、遠く離れた人とそれを共有したり、文字を使って会議をすることもできるでしょう。


エンゲルバートのアイディアは、oN Line System 、略して NLS と呼ばれ、ARPA (国防総省高等研究計画局) の予算を獲得します。


NLS では、SAGE で使っていたベクタースキャンディスプレイよりも「安価な端末」として、市販されていたテレビを利用します。

ただ、このためにライトガンが使えなくなってしまいました。


そこで、エンゲルバートはライトガンに変わる「暫定的な」ポインティングデバイスとして、マウスを考案します。

また、マウスと同時に「片手だけで文字を入力できるキーボード」として、和音キーボードも考案します。


NLS は、文字入力用の通常のキーボードと、コマンド入力用の和音キーボード、そして、コマンドを適用する位置を指定するマウスの、3つの入力機器を使用していました。




1968年の今日…12月8日に、スタンフォード大学で NLS の発表会が行われます。

これが、後に「伝説のデモ」と呼ばれることになるものでした。


SAGE からずっと時代はたっていますが…まだ、コンピューターはテレタイプで使うのが普通でした。

ディスプレイを接続された PDP-1 などは現れていましたが、それはちょっとグラフを表示したりテレビゲームに使われたりする程度の、メイン用途ではない周辺機器です。


そこに、マウスによってグラフィカルに操作を行え、文章を自由自在に「コピー&ペースト」出来る、魔法のようなワープロが登場したのです。

oN Line System の名前の通り、遠隔地ともオンラインで結ばれており、テレビ会議を行うことも可能でした。


エンゲルバートのスピーチも見事なもので、この新しい概念…コンピューターを計算以外に使う、ということの有用性をわかりやすく伝えていました。



このデモを直接見た人は、そう多くはないそうです。

大学の講堂で行われた発表会に過ぎませんから。


しかし、その中にアラン・ケイがいて、スモールトークと GUI が生み出されます。


テッド・ネルソンの Xanadu も、伝説のデモの影響をいくらか受けているようです。

(ハイパーリンク、という案は伝説のデモ以前から持っていたようですが、このデモ以降に具体的なものとなったようです)



スモールトークが元となって Macintosh が、そして Windows が生み出されましたし、Xanadu が元となって WEB が生み出されました。

その意味で、NLS のデモが後に与えたインパクトは絶大で、まさに「伝説の」と呼ばれるのにふさわしいものだったように思います。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

PONG 発表日(1972)【日記 15/11/29】

別年同日の日記

01年 12/7


申し訳ありませんが、現在意見投稿をできない状態にしています

【追悼】ラルフ・ベア氏  2014-12-08 16:52:17  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

詳細は現時点で明らかになっていませんが、ラルフ・ベア氏がお亡くなりになったそうです。

(追記:12月6日没)


世界最初のテレビゲーム機である、ODYSSEY を作成した方。

そのプロトタイプモデルである BROWN BOX と共に有名です。


(BROWN BOX の方が性能が良く、発売に際してコスト削減で性能が落ちたため)



「世界最初のテレビゲーム」と一般に言われる、アタリ社の「ポン」は、ODYSSEY に含まれる複数のゲームのうち「テニス」を真似して、さらに完成度を高めたもの。


ついでに書けば、アタリ社はポンを「ビデオゲーム」と呼んでいます。

ラルフ・ベアは ODYSSEY を「テレビゲーム」と呼びました。


そういう意味では、ODYSSEY こそが、世界で最初のテレビゲーム。

「テレビゲーム」という言葉を作り出したのは、ラルフ・ベア氏です。




1年ほど前に、テレビゲームの初期の歴史を「ある程度」追いかけた記事を書きました


僕はコンピューターの歴史を追いかけるのが好きですが、どんなものでも「無から生じる」ことは無いと思っています。

必ず先行技術があり、影響を受けたり、改良されたりして新しいものが出来る。



先に書いたように、ポンは ODYSSEY の影響を受けています。パクリだと呼ぶ人もいます。

でも、そこで行われた「改良」は非常に重要なもので、ヒットの原動力となっています。


だから、ポンが「世界最初」と呼ばれるのも自然な事。

正直なところ、ODYSSEY のゲームは、現代人から見るとゲームらしくありません。



でも、記事を書いたときに、BROWN BOX がどんな先行技術から生み出されたのか、さっぱりわかりませんでした。

もしかしたら、ラルフ・ベアは本当に人知を超えた天才で、完全な無からこれを作り上げたのか…とさえ思いました。



でも、多分そうじゃない。


記事を書いている最中にしつこく調べつづけて発見しましたが、ラルフ・ベア氏の元で働いたエンジニア、ウィリアム・ラッシュが、MIT 出身でした。

そして、彼が新しいアイディアを次々もたらして、「おにごっこ」しか遊べなかった BROWN BOX に、次々と新ゲームを追加していったことがわかりました。


恐らくは、彼は MIT で作られた多数のゲーム…特に「スペースウォー」を知っていたのでしょう。



この記事を書いた時点で、ベア氏はまだ存命でした。

彼の WEBサイトも見つけていました。


…ただ、コンタクト用ページは 404 NotFound になっていました。

WaybackMachineを使ってメールアドレスを見つけましたが、まだ使えているのかも不明でした。



メールが届くかどうかもわからないけど、思い切って、ラッシュ氏のことを聞いてみようか…


そう思いましたが、きっとベア氏には、ラッシュ氏は「アイディアも豊富なエンジニアだった」程度の認識しかないでしょう。

ラッシュ氏が何処でアイディアを得たのか、という謎にはきっとたどり着けないと思いました。



それに…彼のページを見ると、すべてを一人で作り上げたかのように書いてあります。

実際はそうではない、というのは少し調べればわかるのに。


テレビゲームは彼が切り拓いた世界なのに、テレビゲームの世界は、すでに彼の手を離れている。


ラルフ氏は他にも有名な電子ゲーム、「サイモン」を作ったりしていますが、テレビゲームの隆盛を、半ば寂しく見守っていたのではないか、という気がしました。

「彼がひとりで作った」かのように書いているのも、彼の精いっぱいの虚栄心なのではないか?


そう考えると、そのアイディアはラッシュ氏が持ってきたのでは? などと聞く気にはなれませんでした。

僕の考えすぎかもしれませんが、とにかく聞く気にはなれなかったのです。


そして、永遠に聞くことは出来なくなってしまいました。




ラッシュ氏はベア氏ほど有名ではないので、現在どこにいるのかわかりません。

彼が PDP-1 とスペースウォーを知っていたのかどうか…状況証拠から、恐らく知っていたと確信しているのですが、是非知りたいところです。


決してそれは、ラルフ氏の業績を貶めるものではありません。


最初に書いた通り、どんなものも、先行技術を受け継いで生み出されると思っています。


BROWN BOX / ODYSSEY は重要な「ターニングポイント」です。

これが、MIT のゲーム群…特に「スペースウォー」と正しく繋がっている、と確認するのは、ゲームの歴史を俯瞰する上で重要だと思っています。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

PONG 発表日(1972)【日記 15/11/29】

別年同日の日記

01年 12/7


申し訳ありませんが、現在意見投稿をできない状態にしています

エイダ・ラブレイス伯爵夫人の誕生日(1815)  2014-12-10 09:25:59  コンピュータ 歯車 今日は何の日

▲目次へ ⇒この記事のURL

今日は、エイダ・ラブレイス伯爵夫人の誕生日(1815)。


そして、米国防総省規格番号 MIL-STD-1815 、「エイダ」言語が正式承認された日(1983)。



エイダは世界最初のプログラマ、と呼ばれる女性です。

バベジのよき理解者で、バベジが構想していた「解析機関」の講演集をまとめたりもしています。


まずはこちらの話から。




彼女は貴族の出身で、父親は「詩聖」とも呼ばれる詩人、バイロン卿。


もっとも、彼女はバイロンのたった一人の子供ですが、生後一か月で両親が離婚し、母親に引き取られています。


父母は離婚後会うことは無かったようですが、バイロンはエイダの実の父親として、この後も多少の交流はあったようです。

エイダ自身、結婚前は「エイダ・バイロン」を名乗っています。


また、以前に「悪魔とドラキュラの誕生日」として書いたのですが、バイロンがスイス旅行した際に同行し、後に「フランケンシュタイン」を執筆したメアリー・シェリーは親友でした。



エイダの母親は数学・科学好きで、エイダにも家庭教師を付けています。

その家庭教師の一人が、ド・モルガン。


プログラムの学習をすれば、必ず「ド・モルガンの法則」として名前が出てくる人です。

どんな法則か気になる人は自分で調べてください。


ここでは、「論理性を重視した数学分野」で特に深い功績のあった数学者だ、とだけ書いておきます。




さて、そんな重要人物に数学を教わったエイダは、論理性というものを正しく理解していました。

そして、母親が数学・科学好きだったため、数学者や科学者たちとも親交がありました。


17歳の時(1833)、エイダは知人の紹介で、当時 41歳のバベジと知り合います。


バベジは、1822年から階差機関を作成中でした。

しかし、政府も資金を提供した(世界初の国家プロジェクトだった!)階差機関の作成は、10年目にして暗礁に乗り上げていました。


バベジは「完璧な機械」を作ろうとするあまり、作成中なのに設計図を変更したり、職人の仕事のやり方に口をはさんだりするのです。

雇われていた機械職人は非常に技術の高い人でしたが、ついに10年目で仲違いし、彼は去ってしまったのです。

余りにも複雑な階差機関を作れる職人は、他にいませんでした。


そこで、バベジは階差機関のほんの一部を使って、卓上型に作り直した「見世物としての」階差機関を持って、多くの人に階差機関の素晴らしさを説いて回っていました。

これには、国家予算を使い果たしてまだ足りない開発資金を提供してくれる、貴族のパトロン探しの目的もありました。


…そして、貴族の出身であるエイダも、この「見世物」を見物することになるのです。




19世紀当時、女性の地位は低く、学のある女性はそれほど多くありませんでした。

しかし、エイダは階差機関の動作に非常に興味を持ち、的確な質問をバベジに浴びせかけます。


バベジは、この若い聡明な娘さんに対して、丁寧に解説を行います。

この関係は、その後もずっと、エイダが結婚して「ラブレイス伯爵夫人」となっても続きます。


エイダはバベジの最大の理解者であり、バベジはエイダにとって多くのことを教えてくれる教師でした。




1842年頃、バベジはイタリアで、当時考案していた「解析機関」のアイディアを講演しています。


解析機関は、先に書いた、見世物にした「階差機関」とは違う新たな機械です。

階差機関は計算機にすぎませんが、解析機関はプログラム可能なコンピューターでした。



この時の講演を、イタリアの軍事技術者メナブレアが、フランス語で記録していました。

これはメナブレア記録、と呼ばれます。


エイダもバベジもイギリス人でしたが、バベジの講演はイタリアで行われ、フランス語で書かれていました。

そこで、エイダはメナブレア記録を入手し、英語に翻訳します。


そしてこの際に、バベジの協力の下で膨大な注釈を入れました。注釈が、本文の2倍にも及びます。

実際に階差機関の「プログラム」も多数添えられていますが、これらのプログラムはバベジが書いたものだと考えられています。


しかし、以前はこれらのプログラムは、注釈を書いたエイダが作ったものだと考えられていたため、エイダを「世界最初のプログラマー」だとする説が広まっています。




もっとも、エイダもプログラムは書けたようで、彼女の手によるプログラムも残っています。

バベジとプログラムの作り方が明らかに異なるため、彼女の物だとはっきりわかるのだそうです。


#プログラマの方であれば、プログラムに「個性」が出ることはお分かりであろう。


また、バベジが作ったプログラムをよく吟味し、誤り…つまりは「バグ」の指摘も行っています。



ただ、エイダは数学知識はあまりなく、メナブレアの記述ミスで、明らかに間違っている数式をそのまま翻訳しています。

現代のプログラマにも、数学的知識はあまり持っていないがプログラムは出来る、という人は多数いますので、そういうタイプだったようです。


…ただし、当時はプログラマは、エイダとバベジの二人しかいないのですが。




エイダは、数学的な知識はそれほどありませんでしたし、それほど優れたプログラムを残したわけでもありません。

しかし、解析機関の可能性については、バベジよりも的確に把握していました。


バベジは、解析機関を優れた計算機として考えていましたし、そのつもりで設計していました。


しかしエイダは、解析機関が単なる計算機を超えたものであることを感じ、人工知能の可能性にまで言及しています。





時代はずっと下って 1983年。

米国防総省は、軍事用のプログラムを行うための専用言語を開発し「エイダ」と名付けました。


この言語の正式な「規格番号」は、MIL-STD-1815 。軍事(ミリタリー)標準(スタンダード)1815、という意味ですが、1815とはエイダの誕生年です。


適当につけた番号ではなく、軍の規格として使われる「通し番号」が、この数字になるようにタイミングを見計らって付けたようです。

そして、この言語が正式に「承認」されたのは、1980年の 12月10日、エイダの誕生日でした。


軍事用なので、とにかく「バグが出ないプログラムを書く」ために工夫が凝らされています。


プログラムの作りやすさよりも読みやすさを優先する、「名前空間」を導入し変数名が衝突しないようにする、「例外」処理のための機構を作る、など、当時としては最先端の言語でした。


その思想は、その後 C++ や Java など、多くの言語に取り入れられています。




▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

歯車

関連ページ

エイダ・ラブレイス 命日(1852)【日記 15/11/27】

別年同日の日記

02年 昨日は雪でした

13年 たき火

17年 風邪ひき

18年 辞職を切り出す


申し訳ありませんが、現在意見投稿をできない状態にしています

ロバート・ノイス 誕生日(1927)  2014-12-12 11:50:35  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日はロバート・ノイスの誕生日(1927)。



アラン・シュガートの命日でもあります(2006)。

シュガートは、ハードディスクの開発者であり、今のハードディスクや、ハードディスクと同じインターフェイスを使用する SSD に影響を残しています。


シュガートについては誕生日の時に詳しく書いたので、今日はノイスの方を書きましょう。



ロバート・ノイスは…SSD はもちろん、現在のパソコンすべてに影響を与えています。


彼は集積回路(IC)を発明し、世界で初めての集積回路製造会社であるフェアチャイルド・セミコンダクター社を創業し、さらにはそこを飛び出してインテル社を設立し、世界初の CPU である 4004 の開発を監督したのです。


また、その影響力の強さから「シリコンバレーの市長」と呼ばれていました。

(注:シリコンバレーは地域を意味する俗称で「市」ではない。そのため市長は存在しない)


スティーブ・ジョブズは、ノイスを尊敬しており、彼を目標としていました。



#ノイスは「集積回路」の生産に関する特許を取っていますが、ジャック・キルビーが6か月早く、別の方法について集積回路の特許を出願していました。

 それぞれの方法は違うため、現在は二人が集積回路の発明者とされています。




元々、ノイスはシリコンバレーにある、ショックレー研究所の一員でした。


ショックレーは、トランジスタを発明し、ノーベル賞を受賞した発明家・物理学者です。

ただ、彼は「天才」ではあるのですが、人を気遣える性格ではありませんでした。

彼の名前を関した研究所があるのも、彼が組織の中で他の人となじむことができず、飛び出して独立したためです。


そして、それは研究所の所長になっても一緒でした。

すぐに部下を疑い、非能をなじり、すべてを自分の支配下に置こうとするのです。


ある時、彼はシリコン基板上に半導体を生成する技術…今でいう集積回路の研究を、上手くいかないから打ち切ることに決定します。


しかし、研究中の部下は、あと少しでこの技術が完成しそうだったことを知っていました。

そして、この「打ち切り」に反発して研究所を辞めるのです。


この時に飛び出したのが8人。「8人の反逆者」と呼ばれています。

ノイスはこのうちの一人でした。




ノイスは仲間と共に、フェアチャイルド・カメラ社の社長、シャーマン・フェアチャイルドに面会し、出資を頼みました。

フェアチャイルドはノイスのプレゼンテーションにほれ込み、フェアチャイルド・セミコンダクターを設立します(1957)。


そして、フェアチャイルド・セミコンダクターは、世界で最初の IC の製造に成功します。


ノイスらは「技術者として」会社を成長させたいと考えていました。

じっくりと研究を行い、革新的な新技術を作り出したかったのです。


しかし、フェアチャイルドは「出資者として」利益を追求したいと考えていました。

ある程度の研究は必要ですが、目標と締切が必要でした。

驚くような新技術よりも、すぐに金になる技術の方が重要でした。



このため、会社の運営方針について意見が対立。

ノイスは、また会社を飛び出し、インテル社を設立します(1968)。




インテルは、半導体メモリーを作る会社でした。


当時はまだメモリと言えばコア・メモリが主流。

そもそも、コンピューターが「非常に高価な機械」です。


この頃、「小さいし安価」で人気のあったコンピューター、PDP-8 シリーズはトランジスタで作られています(1965)。

しかし、IC が安くなると、IC を組み合わせて作られるようになります。


当時の IC は、主によく使う「論理回路」を集積したものだけでした。

メモリは、まだコアメモリが使われていました。


インテルはここに目を付けました。

論理部分が IC に置き変えられていく中で、メモリも IC で提供すれば、絶対に買ってもらえます。


…という目算で、会社設立後に研究を開始しています。

会社が出来たからすぐに製品出荷を、とはいきません。




会社設立間もない、1969年の6月に、日本のビジコン社…インテル側からすれば「聞いたこともない会社」から、技術者が商談にやってきます。


日本の技術者は英語が非常に下手で要領を得ないものでしたが、つまりは電卓用の IC を作って欲しい、とのことのようです。


インテルはまだ最初の製品となる IC を開発中でしたが、すでに生産設備は整っていました。

(倒産した IC 生産工場を、設備付きのままで借りていました)


主力商品の生産が始まるまで、生産設備を貸すことに問題はありません。インテルは生産を快諾しました。


…しかし、「生産担当」は、コミュニケーションがうまくいかなかったための勘違いでした。



紆余曲折ありましたが、これで生み出されたのが、世界初の CPU である 4004 でした。

「ロジック回路ではなく、メモリ回路を作る」という目標で設立されたインテル社は、当時もっとも複雑なロジック回路を生み出してしまったのです。



RAM の生産を予定していたのに、非常に複雑なロジック回路を作ることになった。

この予定外の事態に、当時社長だったロバート・ノイスは、直接プロジェクト監督を行っています。




4004を作ったビジコン側の技術者…嶋正利さんは、著書「わが青春の4004」の中で、インテル社の思い出を語っています。


インテルは、社員が楽しんで仕事が出来るように気遣っている会社でした。


恐らくは、ノイスの理想…ショックレー研究所や、フェアチャイルド社での社員の扱いへの反発があったのでしょう。

インテルでは、仕事上の「上司や部下」の関係はあっても、人間としては対等である、という考えでした。



社員みんなでピクニックに行ったとき、ゴードン・ムーア(当時副社長)が肉を焼いてみんなに振る舞っていた…という写真が、嶋さんの書籍の中に載っています。

また、ロバート・ノイスが嶋さんに車を貸してくれたので、その車(当時の日本人からすれば、乗るだけで緊張するような高級車!)の前で記念撮影している写真もあります。


#ゴードン・ムーアは、ショックレー研究所時代からノイスと行動を共にしてきた人。

 「半導体は 18か月ごとに性能が倍になる」という、ムーアの法則の提唱者としても有名。

 ただし、実際には彼はそのように言ってはいない。




シリコンバレーは、元々ヒューレット・パッカード社が創立したこときっかけに作られた…とされていることが多いです。


しかし、実際にはヒューレット・パッカード社が高性能な測定器を作っていたため、ショックレーが近くに研究所を構え、その近くにフェアチャイルド、インテルなど、大きな集積回路製造会社が次々と創設されたことに始まっています。


#だから「シリコン」なのです。

 ヒューレットパッカードやショックレー研は、半導体を使用してはいましたが、「シリコン基板」ではありませんでした。


つまり、シリコンバレーが形作られる過程で、ノイスの影響は非常に強いのです。

そしてインテル以降は、「従業員を大切にする」ことが、シリコンバレーの多くの企業の社風となりました。



ロバート・ノイスは、集積回路を発明し、フェアチャイルド社・インテル社を創業し、世界初の CPU 開発の監督をし、周辺一帯を世界的な最先端企業の集まる地にしただけでなく、「人間らしく働ける」会社が当たり前である地域にした…


これが、彼が「シリコンバレーの市長」と呼ばれる理由であり、ジョブズが起業家として目標にしていた理由でもあります。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

ロバート・ノイス命日(1990)、ジョン・エッカート命日(1995)【日記 15/06/03】

ジェイ・フォレスター 誕生日(1918)【日記 15/07/14】

ROM と RAM【日記 16/05/24】

ジェイ・フォレスター 誕生日(1918)【日記 15/07/14】

ウイリアム・ショックレー 誕生日(1910)【日記 17/02/13】

別年同日の日記

01年 12/11

02年 粗大ゴミ

11年 カレンダー

12年 nexus 7 と US キーボード

17年 IP電話


申し訳ありませんが、現在意見投稿をできない状態にしています

コンラッド・ツーゼ 命日(1995)  2014-12-18 23:05:13  コンピュータ 歯車 今日は何の日

▲目次へ ⇒この記事のURL

今日は、コンラッド・ツーゼの命日(1995)。


ツーゼについては、誕生日に書いていますので、そちらを参照してください。


簡単にまとめれば、ENIAC 以前に、独自にプログラム可能な計算機を作成した人です。



第2次世界大戦は、枢軸国、イギリス帝国、連合国の三つ巴の戦いでした。

始めて本格的に無線による連絡が使われた戦いであり、暗号が重要となった戦いでもあり、傍受した相手の無線を解読するための情報戦が重要となった戦いでもあります。


そのため、各国で「計算機」が発達します。

戦後は連合国だったアメリカと、イギリスが競う形で「電子計算機」が発達しますが、ツーゼは枢軸国であったドイツ人だったため、彼のコンピューターはあまり後の世に影響を与えていません。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

歯車

別年同日の日記

09年 名機の条件

12年 ふたござ流星群

15年 CentOS5+Xen3 から CentOS6+Xen4 への引っ越し

17年 P10 plus に乗り換え

17年 ピューロランドのクリスマス

18年 ハムスター購入


申し訳ありませんが、現在意見投稿をできない状態にしています

リーナス・トーバルズの誕生日(1969)  2014-12-28 09:56:47  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日はリーナス・トーバルズ氏の誕生日(1969)。


Linux を作った人です。


Linux なんて使ってない、という人でも、Android 端末の中身が Linux だったり、ネットワークハードディスクは大抵 Linux で動かされていたり、WiFi ルータの中身が Linux だったりすることが多い、と書けば、どこかでお世話になっているのではないかな。


それでも使ってない、という人。

今あなたが読んでいるこの日記は、Linux サーバーから配信されています。

ネットの半数くらいのサーバーは Linux 。影響なしに生活している人なんていない、と断言できます。



そんな彼ですから、あまりに有名すぎて、僕が生半可な知識で何か語って間違っていたら、各方面からお叱りがきそう。


エピソードはちょっと探せばたくさん見つかりますから、概要だけをかいつまんで書きましょう。




その昔、IBM-PC 互換機の OS といえば MS-DOS 、と相場が決まっていました。


IBM-PC 互換でなくても、Intel 系の CPU であれば大抵 MS-DOS。

PC-9801 も、FM-Towns もそうでした。


MS-DOS は、8086 向けに作成された OS です。

細かな経緯は省きますが、Multics に由来する「ディレクトリ管理」や、「デバイスファイル」などの概念を持つ OS です。

ただし、非常に簡素で低機能でした。


時代は過ぎ、80386 が登場すると、MS-DOS は「非力」となります。80386 の機能を十分に活かせないのです。


たとえば、先に書いた FM-Towns では、全体の管理には MS-DOS を使いつつ、アプリケーションを実行するときは RUN386 という支援ソフトの力を借りていました。

面倒な手順が必要となりますが、こうすることでやっと、80386 の機能を開放することができたのです。


とはいえ、最終的には 8086 で動作する OS に戻らなくてはならいないので、非常に制限の多いものでしたが。




リーナス・トーバルズは、80386 の機能を十分に活用できる OS が欲しい、と考えていました。


8086 用には、Minix と呼ばれる OS がありました。

これは、UNIX を 8086 向けに移植したもので、実用と言うよりは「OS 構造の教育用」でした。


しかし、リーナスは Minix で OS の構造を勉強し、80386 向けに1から Minix に似た OS を作ります。


また、この際に Minixが 8086 の制約で「本物の UNIX」とは変えてあった部分も変更し、80386 の機能を活かして「本物の UNIX」とします。


こうして生まれたのが Linux でした。




最初は Minix の「改良」として作られた Linux ですが、Minix とは全く開発方針の違うものでした。


Minix は OS 構造の教育用ですから、実用性よりもわかりやすさと、最新テクニックを使用することを心がけられていました。


しかし、Linux は 80386 の機能を活かせる OS としての「実用品」でした。

わかりやすさよりも高速性、最新テクニックよりも信頼のおける技術を使うことが重要でした。


このため、最初は Minix のコミュニティで発表された Linux は、すぐに Minix コミュニティを離れて独自のコミュニティを作り上げます。




Linux は、 OS の「中心部分」しかありませんでした。


OS というのは、CPU やメモリを管理するための「中心部分」と、その上で人間が便利に使うための最低限のアプリケーションなどのセットです。


リーナスは、当初アプリケーション部分に GNU のプログラムを利用しました。

GNU は、独自の UNIX 環境を構築することを最終目標として活動していた団体で、一通りのアプリケーション群は全て無償で公開されていました。


しかし、GNU が作成すると約束していた OS の「中心部分」は、予定通りには開発が進んでいませんでした。


GNU の思惑とは違いましたが、GNUのアプリケーション群に Linux を組み合わせることで、一揃いの UNIX 環境が構築できました。




ところで、UNIX には大きく二つの「流派」があります。


UNIX を開発した AT&T ベル研究所がそのまま拡張を施した、SystemV 系列がその一つ。(以下 SysVと書きます)


教育機関向けに無償公開されていた初期の UNIX を元に、カリフォルニア大学バークレイ校が独自に拡張を施した Berkeley Software Distribution 系列がもう一つです。(以下 BSD と書きます)


初期の UNIX を元に多数の機能を追加した BSD が先にあり、その拡張を本家が真似する形で SysV が作られています。


UNIX が急速に普及したのは、BSD を採用した Sun 社の存在があったためです。

その一方で、Linux が作られたころには「本家」である SysV が標準規格となりつつありました。


GNU アプリケーションは、主に BSD 向けに作られており、細かな「方言」に相当する部分が BSD に準拠していました。

一方で、Linux は SysV に適合するように作られました。


そのままでは、同じ UNIX と言えども、GNU アプリケーションを動かすのには「移植」が必要となります。



でも、リーナスは現実主義者でした。

Linux は SysV をベースとしていますが、BSD の機能も次々と搭載してしまい、BSD のソフトもほぼそのまま動作するようになっています。




このように書くと、Linux が最初から夢の環境だったようです。

しかし実際には、当初の Linux は問題の多いものでした。


個人が趣味で作ったものでしたから、拡張性に乏しい部分が多く、すぐに壁に突き当たったのです。


僕が初めて Linux に触れたのはその頃でした。

FM-Towns に Linux が移植され、国内の会社から「日本語が使える」Linux が販売されていました。


…すみません。正直に言えば、僕はその頃に「Linux に触れた」のは事実ですが、とても使いこなせませんでした。

UNIX に対する知識があまりに不足していて、インストールはしたものの、それをどのように設定し、運用するのが適切かわからなかったのです。


だから、比較的早い時期に Linux に触れていたからエキスパート、というようなことは * まったく * ありません。

ただ、触れてたのは早いんだよ、と自慢してみたかっただけで。



そして、リーナスも最初から素晴らしいものを作り出した偉人、というわけではありません。

上に書いた通り、初期の Linux は多数の問題がありました。


彼一人で Linux を作り出したのではなく、時代が作り上げていったのです。




Linux は普及に従って協力者が増え、次々に機能が追加されていきました。

当初あった壁も、すぐに解消されます。今でも Linux には多数の問題点がありますが、それらもやがて解決されるでしょう。


ただし、協力者はみな「趣味で」やっているだけです。問題点がわかっていても、その作業が「ひたすら面倒で誰もやりたがらない」ような問題の場合、永久に手を付けられない場合もあります。


また、素晴らしい仕組みが作られていても、余りにもエキスパート向けの機能すぎて誰もその素晴らしさに気付かない場合、こちらも協力者が少ないために作業が遅々として進まない問題もあります。


ここら辺が、マイクロソフトが作成する Windows に比べて弱いところです。

Windows は、製品として作られていますので、必要とされる機能であればどんなに面倒な事であってもキッチリ作成されます。


#Windows 8.1 では、95 のソフトも動かせる「互換モード」があります。

 Linux では、すでに 80386 時代のソフトの互換性は切り捨てられています。


#MacOS や Android は企業が作っているけどサポート弱いね…。ここは企業の持つ総合力の問題。

 それがわかっているから、それ以外の「アイディア」部分で差をつけているわけだけど。




すでに、リーナスのプログラム作業はほとんど行われていないようです。


彼の一番重要な仕事は、全体にとって何が大切で、何が不要かを決めること。

たとえば、かなり前に Google は Linux の本体部分に Android のための機能を「追加」しました。


しかし、その後 Google がこれらの機能を一切メンテナンスしようとしないため、彼は「切り捨て」を決定しました。

本体部分は、デスクトップ PC やサーバー、Android まで含め、すべての環境に影響を与えるものです。


しかし、Android 専用の機能を「本体部分」に追加した挙句、その後ほったらかしという態度に怒ったのです。

これらは機種ごとに作ることができる「付属部分」で解決することが妥当で、本体に入れるべきではない、というのが彼の決定でした。


Android は、Linux を利用した機械としてはかなり大きな市場です。

そこに影響が出る大きな決定を、彼の一存で決めてしまうわけです。


しかし、これは Linux の崩壊を防ぐためには必要な決定です。

Android は大きな市場とはいえ、Linux のすべてではありません。

その Android 専用の機能を「その他すべての Linux 」も含めて追加するのは、妥当ではないでしょう。



彼は時々このような重要な決定をするので、Linux 界隈で「優しい終身の独裁者」と呼ばれています。

これが彼の現在の一番重要な仕事です。




Linux は無償で提供される、「オープンソース」の代表のようなソフトですが、リーナス自身がオープンソース信者と言うわけではありません。


その昔、トランスメタと言う会社でソフトを作り、そのソフトを「企業秘密」として公開しなかったこともあります。


…当たり前の行為です。彼はその時は、一社員に過ぎないのですから彼の一存で公開などできません。


しかし、全てがオープンソースであるべきだ、と考えている一派から見ると、Linux を作ったリーナスがソフトを秘密にした、というのは許しがたい裏切り行為に思えたようです。



リーナスをオープンソース界の神、とみる人々がいて、裏切り行為だとみられたのはその反動です。

しかし、彼は決して神などではないし、熱心にオープンソースをやりたいと思っているわけでもなさそうです。



ただ、彼は非常に優れたバランス感覚の持ち主だと思います。


そのバランス感があるから、Linux でも重要な決定を次々に行っていますし、オープンソースにするか否か、という根本部分でも必要に応じて変えられるのです。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

02年 ページレイアウト変更

05年 サンマルク

15年 今年のクリスマス

18年 The House of the Dead 2


申し訳ありませんが、現在意見投稿をできない状態にしています

スティーブン・ボーンの誕生日(1944)  2015-01-07 09:56:59  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日はスティーブン・ボーン (Stephen R. Bourne) の誕生日(1944)。


誰それ、という人でも、彼の名前が付けられた Bourne Shell なら知っているはず。

…あれ? ご存じない?



Linux なんかで、コマンドを打ち込むときに使うものが「シェル」です。

/bin/sh と書いた方がわかりやすいかもしれません。


普通は、わざわざ起動しないでも、ログイン時に勝手に起動されます。

人間の入力を受け付けるプログラムが「シェル」なので、シェルが起動しないと、シェルを起動させることもできないからね。


Linux では、実際には Bourne Shell ではなく、Bourne-again Shell (bash)が使われることが普通です。

Bourne Shell が生まれ変わった (Born-again) 物で、互換性を保ったまま非常に高機能になっています。




Bourne Shell の前は、Thompson Shell が使われていたそうです。


「そうです」っていうのは、さすがにその時代は知らないから。

最初の UNIX を作成した、ケン・トンプソンが作ったシェルで、> と < で標準入出力をファイルにリダイレクトでき、| で別のプログラムに渡せる、という構文は、トンプソン・シェルが最初に定めたものです。


でも、トンプソン・シェルは、ユーザー入力を受け付けるためだけの存在で、その操作を「自動化」するようなことは考えられていませんでした。


…いや、いいんですよ。最初はコンピューターを操作するのがシェルの目的だったし、何か操作を自動化したいなら、プログラムを組むのが当たり前だった。


でも、シェルで定型的に操作するコマンドを、自動化したいという要求が高まってきたのです。



1977年に作られた Bourne Shell は、そうした要求を満たすものでした。


シェルで操作する内容をそのままテキストファイルとして書いておけば、そのまま実行できます(バッチ処理)。


また、直前のコマンドの結果により条件分岐したり、ループを作れたり、「変数」を使えたり、通常のメッセージとエラーメッセージを分離出来たり(エラーは標準出力ではなく、エラー出力を使う)、関数を定義出来たり(1984年のバージョンから)…


「操作の自動化」と言うだけではなく、十分なプログラム言語として成長しました。

スクリプト言語の元祖、と言ってもよいでしょう。




ところで、トンプソン・シェルに限界を感じて作られたのは、 Bourne Shell だけではありません。

カリフォルニア大学バークレイ校(BSD の開発元)では、C Shell というものが作られました。


Bourne Shell は ALGOL 風の表記でプログラムを行うのですが、C Shell はその名前の通り、C 風の表記を使います。

当たり前ですが、Bourne Shell との互換性はありません。


C Shell の特徴は、実はスクリプトの組み方よりも、「操作性の良さ」にあります。

コマンドラインで操作する時に便利な機能が多いのです。


過去に実行したコマンドを大量に覚えておき(ヒストリ機能)、すぐに呼び出せる、というのは C Shell が初めて実装した機能でした。

呼び出すだけでなく、正規表現により一部を書き変えて実行、ということもできます。


後に C Shell の高機能版である tc Shell でさらに便利になり、上下のカーソルキーで過去の実行履歴を呼び出し、左右のカーソルで編集できるようになりました。


そして、現在ではこの機能は Bourne-again Shell でも実装されています。

つまり、現在この機能は「C Shell の優位点」ではなくなっています。




しかし、今でも C Shell の方が優れている部分もあります。


たとえば、大量にファイルが存在していて、そのファイル名を複雑な規則で書き変えたい、という事例があったとしましょう。


C Shell でも Bourne Shell でも、コマンドラインから「すべてのファイルに繰り返し適用」という指示を出すことはできます。


しかし、Bourne Shell (および bash)では、「複雑な規則で書き変え」を指示する方法はありません。



正規表現「マッチ」は出来ますし、マッチした部分を配列に入れることもできます。

ですから、この配列を使ってさらに条件を判断し、目的を達成することは出来るのですが…

これは、ちょっとしたスクリプトプログラムを組まなくてはなりません。


C Shell なら、当たり前に出来ます。

変数の内容などに対し、「正規表現で置換する」ことができるので、「元のファイル名」を「正規表現で置換したファイル名」に書き変える、という指示が1行で書けるのです。



ただ、C Shell でも、その高機能版である tc Shell でも、シェルスクリプトを作る際に「関数」が作れません。

これがかなり致命的で、スクリプトを組むのであれば Bourne Shell の方が組みやすいのです。


僕は会社員時代には tcsh を好んで使っていました。

スクリプトが必要なら、Bourne Shell を使わずに awk や perl で組んでいました。


しかし、Linux って bash が標準であることが多いんですよね…

最初はそれでも tcsh を使っていたのですが、bash ならヒストリ機能なども問題なく使えるし、普段の操作は bash でやるようになりました。


スクリプトなども、他人に渡したりする必要があるものは bash で作ります。

そうすれば、ほぼどこでも動くことが保障されますから。



ただ、今でも先に書いたような「大量のファイル名置換」などが必要な際には、tcsh を起動します。

適材適所で使い分けている。




最後の方は完全にスティーブン・ボーンから話がそれていますが、あらゆるスクリプト言語の元祖であり、今でも UNIX 操作の基本である Bourne Shell を作った、という功績は大きいかと思います。


ちなみに、その後のボーンは、シリコングラフィックスやDEC、SUN、シスコシステムズなど、有名企業で管理職として働いていて、現在も存命です。



当日中に追記

もっと詳しく知りたい人は、IBM の公開している記事Linux におけるシェルの進化をどうぞ。


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

03年 続々・C700レポート

05年 Quintuple header

07年 あけましておめでとうございます

09年 FALTIMA030 その後[レビュー・評価]

16年 Serverman SIM LTE 解約

19年 シュガーラッシュ:オンライン


申し訳ありませんが、現在意見投稿をできない状態にしています

ジョン・モークリーの命日(1980)  2015-01-08 11:08:27  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日はジョン・モークリーの命日(1980)。


ENIAC を作った二人のうち、一人です。主に構想担当。

詳細は誕生日の時の記事を見てね。




命日なので晩年の話を書きましょう。


モークリーは ENIAC で「世界初のコンピューター」を作ったとされ、その後世界初の商用コンピューター UNIVAC-I も作り上げ、コンピューター業界を創世しました。


しかし、晩年になって汚名を着せられ、失意のうちに生涯を閉じることになります。



その汚名とは、「ENIAC はアイディアを盗んだものだ」というもの。

はっきり書いておけば、そんなことはありません。


ENIAC は立派に彼の構想した機械であり、世界初のコンピューター…とは僕は呼んでいないのですが (^^; 後のコンピューター時代の幕開けとなった、デジタル電子計算機でした。



汚名の元となったのは、60年代末から70年代初頭にかけての裁判です。


モークリーはここで、特許論争に巻き込まれることになります。


ENIAC 開発に際し彼は「電子計算機」の非常に多くの特許を取得しました。

これはそのまま彼が後に設立した会社、「モークリー・エッカート社」の物となり、さらには資金繰りの問題から同社が身売りし、レミントン・ランド社、さらに社名変更してスぺリー・ランド社の物となっています。


これは、「スぺリー・ランド社の許可なしにはコンピューターを作れない」ということであり、ここにコンピューター業界の一角であるハネウェル社が噛みついたのです。




当時、コンピューター業界は IBM を筆頭に、8社がひしめき合っていました。


アメリカ政府としても、コンピューター業界を成長させることは、アメリカの経済発展に欠かせない、という意向を示しました。


この中で、裁判は代理戦争の様相を呈していきます。


つまり、ハネウェル社はスぺリー・ランド以外すべてのコンピューター会社と、アメリカ政府を代表する形になったのです。



ハネウェルは、とにかくコンピューターの特許を無効化するため、ありとあらゆる手段を使いました。

その一つが、「ABC マシン」を見つけ出し、掘り起こしたことでした。




ABC マシン…アタナソフ・ベリー・コンピューターは、アタナソフとベリーによって作られた、連立1次方程式を解くための専用計算機です。


ENIAC よりも早く構想されていますが、実際には完成しませんでしたし、物理的な動作個所が多く、とても「電子計算機」と呼べるものではありません。


しかし、とにかく ENIAC よりも前に作られた「電子計算機と呼べそうなもの」を掘り起こすことで、ENIAC が最初ではない、と示すことが目的でした。


最初ではないものには、特許は与えられません。


…実際のところ、これが法廷でどれほどの効果を持ったのかはわかりません。

裁判官は冷静で、これが ENIAC とは全く無関係であることを正しく認識したようです。


結局、裁判は「ENIAC の特許申請手続きに不備があった」ことを理由に、ENIAC の特許を無効として終わります。


アメリカでは、「公表から1年以内に特許書類を提出」が義務付けられています。

モークリーは、ちゃんと ENIAC の完成から1年以内に書類を提出していました。


しかし、ENIAC 開発中に、誘われて「いやいやながら」視察に来たフォン・ノイマンが、この機械のすごさに気付いて勝手に「紹介記事」を書いていました。


これが公表にあたる、と判断され、提出はこの記事から1年以上たった後だった、と結論付けられたのです。



反論しても無駄でした。

特許を無効にしろ、という圧力は政府からもかかっており、裁判官は順法精神と政府圧力の間で板挟みになっていました。


「手続きの不備を見つけて無効化」は、裁判官としても譲れない決着方法だったのです。




特許が無効化されたとはいえ、コンピューターが普及し、可能性が理解されるにつれ「世界最初のコンピューター」という ENIAC の名声はあがります。


そして、名声が上がると「それは私が作ったのだ」と主張する人が、あまりにも多く現われました。


ENIAC は、大きなプロジェクトでした。作成への参加者も数多くいます。

その中には、自分こそがプロジェクトの考案者であり、名声は自分に与えられるべきだ、と主張するものもいました。



フォン・ノイマンもそうした一人です。

彼は先に書いたように、勝手に ENIAC を世に紹介し、そのために特許を無効化してしまい、後続の EDVAC プロジェクトを引っ掻き回して進行を遅らせ、極秘資料を流出させ、そのために「同等品」である EDSAC を先に作られてしまう、という事態を引き起こした張本人です。


しかし、コンピューターはフォン・ノイマンが作った、と信じている人は多く、今のコンピューターは「ノイマン型」と総称されます。



さらに、1970年代末に「最初のコンピューター」のルーツを探る本が発行されます。


その本の中では、先に書いた法廷論争が取り上げられ、ENIAC の特許が無効とされたのは、ABC が先に作られていたからだ、とされていました。


ENIAC の特許が無効化された、というだけでもモークリーにとっては不幸な事でしたが、この本によって、モークリーは「ABC のアイディアを盗んだ」という汚名を着せられることになります。


反面、ABC は一躍脚光を浴びました。完成しなかったし、それまで全く無名の存在だったのに。


コンピューター時代を切り拓いたのは、明らかに ENIAC であり、モークリーのアイディアでした。


…ABC は「ENIAC 以前に2進法を採用していた」ことがよく言われるのですが、ENIAC は10進法で計算しているのです。


また、ABC は「計算する」ことが目的で、物理的な動作個所が多く、速度は問題視していませんでした。

ENIAC は最初から超高速計算が目的で、そのためのアイディアがふんだんに盛り込まれています。



しかし、多くの人は技術には詳しくなく、たとえ嘘であってもセンセーショナルなニュースが伝えられると、興味本位に「覚えて」しまいます。


そして、多くの人が記憶していることは、やがて「それが事実のように」語られてしまうのです。



モークリーは、死ぬまでノイマンを恨んでいました。

しかし、アタナソフについては恨んではおらず、ただ世間から誤解されていることについて涙を流したそうです。




モークリーは、エッカートというパートナーにも恵まれ、独自のアイディアでコンピューター時代を切り拓きました。


現代の先進国に暮らす多くの人が、コンピューターの存在による恩恵にあずかっているはずです。

彼は、世界中の人が幸せに暮らせる時代を作り出した、と言っても過言ではありません。


しかし、その報酬は「アイディアを盗んだ者」との汚名でした。

彼は汚名の返上を願いながらもかなわず、生涯を閉じたのです。



彼は晩年「あまりにも多くのものが失われた」と語っています。

人々が幸せに暮らせる時代を作り出した発明者としては、あまりにも寂しい晩年でした。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

17年 プログラマーの技術力


申し訳ありませんが、現在意見投稿をできない状態にしています

ロビン・ミルナー誕生日 (1934)  2015-01-13 11:03:28  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日はロビン・ミルナーの誕生日(1934)


さっき調べるまで、僕はこの人のことを全然知りませんでした。すみません。


というか、この人の業績分野に全然詳しくない。ただ、重要であることはわかります。

そこで、今回は資料首っ引きで、理解できた範囲で解説する形でお伝えします(笑)




彼は 1972年に、LCF (Logic for Computable Functions)という名前の、「自動定理証明」プログラムを作っています。

…まず、定理、って言葉を解説する必要があるでしょうね。


数学では、最初にその数学が成り立つ条件を「仮定」します。

あくまでも仮定ね。違う仮定だってあるかもしれない。


この仮定のことを「公理」と呼びます。


たとえば、「2つの点を結ぶ直線は、1つだけ存在する」というのは一般的な幾何学(ユークリッド幾何学)の公理です。

普通、図形を扱う場合にはユークリッド幾何学が使われますので、この仮定の上にすべてが成り立っています。


言い換えれば、「2つの点を結ぶ直線は1つ」というのは、必ず正しいです。


ただし、世の中には別の幾何学系と言うものもあり、その系では正しいとは言えないかもしれません。

必ず正しいというのは、あくまでも「仮定」に基づいた話ですから。



なんだか冒頭からややこしそうな話になっていますが、こうした「公理」から導かれ、「公理が正しいとするなら」という前提付で「必ず正しい」とされるものを、定理と言います。


「2つの直線が交差した時、向き合う角の角度は同じである」


というのは、ユークリッド幾何学における定理です。


先に書いたように、公理は「ユークリッド幾何学において」という条件付きで、必ず正しいです。

ですから、その公理から導かれる定理もまた、同じ条件では必ず正しいです。




あー、ややこしい数学の話になってきてしまっていますが、後の話は簡単。


公理から導かれる定理、というのは、あくまでも「絶対正しい」もののはずです。


じゃぁ、いくつかの公理を元に必ず推論できるはず。

どの公理をどのように組み合わせればよいのか、ひたすら組み合わせればいつかは正しい組み合わせに辿りつくはずなので、コンピューターにもできるはずです。


これを「やらせてみる」ためのシステムが、「自動定理証明」。

人工知能研究の一環として、今でも、よりシンプルで美しい証明を導けるシステムを目指した開発が行われています。


ロビン・ミルナーの作った LCF は、こうしたシステムのごく初期のものです。




さて、ミルナーは、LCF を作るにあたって、この「ややこしいシステム」を簡素に書けるためのプログラム言語から設計しました。


当時はプログラム言語も黎明期。科学計算向けの FORTRAN 、ビジネス計算向けの COBOL …など、目的別に違う設計の言語があるのが普通でした。


そして、彼は自動定理証明を行うシステムを書くために、「非常に複雑なシステムをすっきりと書ける」言語を設計したのです。


ここで注意すべきは、LCF 自体が「プログラム言語」である、ということです。


コンピューターに何かを行わせるような、いわゆるプログラムを書くわけではありません。

しかし、いくつかの公理と、証明すべき定理を「記述」する必要がある、という点で、LCF はプログラム言語なのです。


プログラム言語のプログラムを書くためのプログラム言語。

なんとも奇妙な関係ですが、ルミナーはこの言語に「メタ言語」という名前を付けました。


メタ、とは、何かの概念の元となる概念を意味する接頭語です。

言語の元となる言語なので、「メタ言語」…英語では Meta-Language です。


この「メタ言語」は、頭文字をとって ML と呼ばれました。



この ML がプログラム言語としてはなかなか使い勝手の良い言語で、多くの人が亜種を作りました。

しかし、あまり亜種が増えるのも困りもの。ML の「標準」を作ろう、という流れが出来上がります。


そして生み出されたのが Standard ML 。SML として知られる言語です。

この SML は「標準仕様」であり、これをもとに多くの実装が作られています。



ただ、ML の亜種がすべて SML に吸収されていったわけではない。

もう一つ、大きな亜種が育ちました。


Caml という ML の亜種があり、それに Object の機能をもたせた OCaml。

結構人気のある言語だそうです。(僕は使ったことないので伝聞調 (^^; )



SML、OCaml 共に、いわゆる「関数型言語」と呼ばれるものです。


関数型と手続型(いわゆる、普通の「プログラム言語」)の何が違うのか、というのは宗教論争になりがちなのであまり踏み込みません (^^;;




晩年には並列プログラミングの研究も行っていたそうで、こちらにも重要な功績をいくつも持っているようです。


LCF の開発、ML の開発、並列プログラミングの研究…が、彼の3大功績のようです。



こんな多くの功績がある人ですから、チューリング賞も受賞していますし、多くの大学を渡り歩き、研究所の所長や、計算機科学科の学科長なども務めています。


…にもかかわらず、博士号を持っていません!


今回、彼のことを調べていて一番驚いたのがこのこと。

研究者として大学などに雇ってもらおうと思えば、博士号を持っていることは最低条件…のはずです。一般的には。いや、日本では。



でも、彼は博士号を持っていないのに多くの大学を渡り歩きましたし、所長や学科長も務めたのです。


博士号を持つということは、指導教官が付いたということでもあり、その指導教官の紹介でより「偉い人」に紹介してもらえることを意味します。


彼は、そんな重要な「パイプ」を持っていないにも関わらず、自分で道を切り拓き続けたのです。


…つまり、それは「優秀な人間がいるのであれば、肩書などにこだわらずに地位を与える」という、本当の意味での実力主義、本当の意味での「人を見る目」を持った社会の存在を意味しています。



これ、日本の社会に一番欠けているものではないかな、と思います。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

ロビン・ミルナー 命日 (2010)【日記 16/03/20】

別年同日の日記

03年 日記が長いね…

11年 あけましておめでとうございます


申し訳ありませんが、現在意見投稿をできない状態にしています

高柳健次郎の誕生日(1899)  2015-01-20 10:37:51  コンピュータ 歯車 今日は何の日

▲目次へ ⇒この記事のURL

今日はテレビの父、高柳健次郎の誕生日(1899)。


テレビの父、と呼ばれる通り、テレビの基礎技術を完成させた人です。

日本人ですが、この方法が世界中で使われていたのだからたいしたもの。


テレビだけでなく、光と電気の関係する産業を起こしたのも功績です。

カミオカンデ作成には欠かせない、高性能の光電子倍増管を世界で唯一生産できる浜松ホトニクスも、高柳健次郎の教え子が興した会社です。


詳しくは、命日の際に書いています




ところで、アナログテレビ放送の時代、日本は NTSC でしたが、世界的には PAL という規格もありました。

全然違う規格なんで、テレビゲームとか作るときに大変なんだわ。


NTSC は秒60コマ。PALは秒50コマ。

1秒間に送り出せるドット数はほぼ同じで、結果としてPAL の方が解像度が高い。


静止画での美しさを取るか、動画にしたときの滑らかさを取るか、開発者の思惑が違ったのかなー、なんて思ってたのですが、これ、単に家庭用電源の交流周波数を元にしているんだそうです。


アメリカでは 60Hz 、ヨーロッパでは 50Hz。

なるほど、ただそれだけの話か。


NTSC も PAL も、それ以前の「白黒放送」との互換性を保ったままカラー化した方式です。

そして、白黒だった当時、一番簡単・安価に「周波数を作り出す方法」は電源の周波数をそのまま流用することだった、というのも理解できる話です。


#日本では地域によって周波数が違うので、発振回路が別途必要となり、安価な製品は作りにくい。

 国内でしか通用しない独自技術が必要となる、というルーツはこの頃からあったのだな。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

歯車

関連ページ

森公一郎 命日(2015) レイ・ドルビー誕生日(1933)【日記 16/01/18】

1988年のパソコン事情【日記 16/03/05】

1988年のパソコン事情【日記 16/03/05】

リロケータブル【日記 17/11/27】

別年同日の日記

06年 ウッドデッキ完成

07年 人生初ギャグ?

13年 ピクミン

17年 1996年のそのほかのゲーム


申し訳ありませんが、現在意見投稿をできない状態にしています

【追悼】森公一郎さん (LSI-C の作者)  2015-01-20 17:46:26  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

LSI-C の作者の方が一昨日亡くなった、という訃報を Twitter で読んだ


LSI-C ならずいぶんお世話になった、と詳細を読むと、LSI-C 80 の開発者だという。森公一郎さん。


アルバイトで一緒に開発を行った、という近藤嘉雪さんが訃報を伝えていた。


僕がお世話になったのは LSI-C 86 。80 は存在すら知らなかった。

しかし、86 は 80 の後に開発されたらしい。多分改良品なのだと思う。


というわけで、きっと僕もお世話になった方なのだ、と勝手に推察して思い出話など書く。




近藤さんによれば、LSI-C 80 は、参考にするものが無い状態で開発されたらしい。


もちろん、C言語を作るのだから、C言語の仕様書(K&Rかもしれない)などはあったのだろう。

C言語を使って、動作を確認することも出来たかもしれない。


でも、gcc など、今では手に入る「C言語処理系のソース」は入手できない状況での開発。


yacc とかは使えたのかな。

これが使えるとコンパイラを作るのはずいぶん楽になる。


もっとも、yacc は UNIX のツールで、メモリはふんだんにあるのを前提としている。

そもそもが、C言語自体が広いメモリと多数のレジスタを前提としている。


8080 で動作するように、CP/M で、64K のメモリで動作するように作った、というのだからすごいと思う。




現在でも、LSI-C 80 は製品として販売されているようだ。


もちろん、CP/M 用ではない。Windows などの現代の OS 上で動作し、8080 などのコードを生成する。

現在は Ver.3 だが、Ver.2 の時点で MS-DOS 用のクロスコンパイラだったようだ。


パソコンが 16bit の時代になっても、組込み用に 8080 や Z80 は使われていた。

クロスコンパイラに需要があるのだろう。



セルフコンパイルからクロスコンパイルに移行できた、ということは、コンパイラ自体もC言語で書いていたのだろう。


8080 上でC言語をC言語で書き、セルフコンパイルする。

…いや、それは難しいか。絶対無理とは言わないけど、開発効率が悪そうだ。


16bit マシン上で、8080 のコードを生成するコンパイラを作成し、16bit 環境からクロスコンパイルできるようにして、最後にコンパイラ自体を 8080 用にコンパイルしたのかもしれない。


そして、ver.2 の時に、同じソースを 8086 用のコンパイラにかけて(LSI-C 86 だろうか)、クロスコンパイル環境とする。

そうなると、森さんが作ったソースがまだ使われているのかもしれない。



#翌日追記:CP/M 上の BDS-C で開発されていたそうです。BDS-C は、1970年代からある 8080 用のC言語実装。

 詳細は最後に。




ネットで調べると使ったことのある方の話なども結構出てきて、「LSI-C 80 の生成するコード品質は異常」(に良い)だそうだ。

C言語と言う言語構造があまり 8080 向けではないのだが、それで品質の高いコードを生成するのだというからすごい。


先に書いたように、C言語で書いているのだとしたら、8080 上で動作するC言語を生成している、という時点でその品質は折り紙付きだ。


そして、ソースがCであれば、生成するコードの部分を作り変えたのが LSI-C 86 だったのではないかなぁ、と思う。




やっと LSI-C 86 の思い出話に入れた(笑)


当時はC言語は高価だった。安いものでも数万円から、信頼のある処理系なら10万円していた。

でも、LSI-C 86 は、「試食版」という名前のサブセットを、なんと無料で配布していた。


サブセットとはいっても、言語機能に特に問題はない。

テキストデータだけどマニュアルもちゃんとついてくる。


当時の MS-DOS は、8086 のメモリ管理にべったりだったので、メモリが 64K ごとに断片化していた。

C言語は本来「連続した大きなメモリ空間」を想定して作られているので、MS-DOS のCコンパイラでは「メモリモデル」という、複雑怪奇な仕組みを取り入れざるを得なかった。


コードとデータをあわせて 64K に収まるなら「タイニーモデル」。

コードとデータ、それぞれで 64K 以内、全体で 128K 以内なら「スモールモデル」。

コードは 64K 以内だけど、データが 64K 以上になるなら「ミディアムモデル」。

コードは 64K 以上だけど、データが 64K 以内になるなら「コンパクトモデル」。

コードもデータも 64K 以上なら、「ラージモデル」。

コードまたはデータが 64K 以上で、ポインタ比較などを使用する必要があるなら「ヒュージモデル」。


タイニーモデルで生成されるのが .COM ファイルで、これ以外は .EXE ファイルになる。




ヒュージの説明が必要だ。ラージとどう違うのか。


8086 では、64K 以上のアドレスが必要な場合は、2つのレジスタを足してアドレスを表現する。


もっと厳密に言えば、2つの16bit レジスタのうち、一つ(ベースと呼ぶ)は 4bit シフトしてから、もう一つ(オフセットと呼ぶ)はそのまま足す。

すると、20bit の結果が得られる。1Mバイトのアドレス空間だ。


一方、ポインタを比較しようとすると、基本的に「オフセット」をそのまま比較しようとする。

64K 以内なら、ベースは同じで、オフセットが違うだけ、のはずだからだ。



ところが、64K を超えると話がおかしくなってくる。

64K を超えたアクセスでは、ベースも頻繁に変わることになる。ポインタのインクリメント/デクリメントでいちいちベースを変えるのは面倒なので、普段はオフセットしか変えない。

しかし、いざベースを変えるときには、その時によって都合のよいベース値に変更される…


ここで、ポインタ比較が破綻することになる。



そこで、ヒュージモデルでは、ポインタを正規化する。

ベースを 16bit フルに使い、オフセットは必ず 0~15 、つまり下位 4bit しか使わないことにする。


インクリメント/デクリメントするたびに 4bit 境界のチェックが必要となり、速度は低下する。

しかし、これでアドレス比較は正しく行われるようになる。


これがヒュージモデルだ。

そもそも、MS-DOS でそんなに巨大なプログラムを作る必要がある時点で間違っている。

しかし、間違っていても必要な時はあるのだ。そんな時に、速度低下を覚悟で使うメモリモデルだ。



…さて、話を戻すと、LSI-C 86 も当然こうしたメモリモデルに対応していた。


でも、「試食版」では、スモールモデルしか使えなかった。

そして、もし生成物を配布するのであれば、対価を受け取らないこと、また LSI-C 86 試食版を使用したことを明記することが条件だった。




もっとも、普通のプログラムならスモールモデルで十分。

だって、コードとデータ併せて 128K って、その時点で 8bit 機の全メモリより大きなもの作れちゃうんだから。


当時は今のようにネット時代でもないし、多くの人は「自分のために」プログラムしているだけ。

そう考えれば、配布条件もたいした問題ではない。


だから、かなり多くの人が LSI-C 試食版のお世話になっていたはず。僕もその一人です。

と言っても、僕は X68k の人だったから、あまり MS-DOS は使ってない。


大学時代は電算機室に PC-98 がたくさん置いてあって、ある程度学生が自由に使えました。


#条件があって、講師の先生かティーチングアシスタントの大学院生、もしくは「マイコンクラブ」のメンバーが部屋にいないといけなかった。

 彼らなら、何かトラブルがあった時にすぐに対処できるから。

 でも、僕はそのマイコンクラブのメンバーだったから、自由に使えた。


学生が使うマシンにはハードディスクは付いてなくて、フロッピーディスク運用だったのだけど、当時は言語だってフロッピー1枚に収まることが多かった。

FORTRAN とか Pascal とか。


…でも、C言語ってライブラリが大きいから、フロッピーでの運用はちょっと辛い。

ところが、LSI-C 試食版はスモールモデルに絞ってあるから、フロッピー1枚に入るのね。


Comet の 98 移植版作ろうと思ってしばらく奮闘していたのだけど、学校で使っている時間だけだと思うように進まず、モチベーションが続かなくなってやめました (^^;


あと、Handy 98 と、HP200LX でも使っていた気がするな。

携帯機でコンパイル…というのが、実際には無駄なので、使えることに満足しただけだったように思うけど。



Windows の時代になってから、Java のプログラムをしていて「プリプロセッサが欲しい」と思って、LSI-C 試食版のプリプロセッサだけ使おうとしたこともありました。

まぁ、これは Windows のロングファイルネームに対応してなかったんで使えなかったのだけど、こういう時にすぐ思い出す程度には心に沁みついていた。




LSI-C の思い出はこの程度で、「今日は何の日」で、コンピューター関連のいろんな人の誕生日・命日などを書いている僕としては、訃報が伝えられた森公一郎さんの詳細が気になる。


名前で調べたらすぐにWEBページが見つかった。いつまで残されているかは不明だけど。


そこには、プロフィールとして次のように書かれていました。


年齢: 四つの'3'の日に生まれ、三つの'3'の日に33歳になった。牡羊座。


ディオファントスの墓碑のようです。


えーと、牡羊座は3月21日から4月20日。

3が多いのですから、3月30日か31日、または 23日が誕生日なのでしょう。


生年月日ですが、生まれ年に後二つの「3」が必要です。

1933年だとしたら、33年後は 1966 年。3がありません。


ここは、「昭和」33年でしょうね。1958年。

すると、33年後は 1991年。平成3年です。


恐らく、1958年3月23、30、または 31日生まれ。

56歳で亡くなられたのは、まだお若いです。


しかし、WEB ページを見ると人工透析を受けていることも書かれているので、恐らく腎臓の病で闘病しておられたのでしょう。


プログラマとしての偉大な先人の御冥福をお祈りします。




以降は翌日追記


LSI-Cに思い出のある方は多かったようで、想像以上に多くの方からの反響がありました。

上の記事はすでに修正していますが、当初「C言語は広いメモリと多数の32bitレジスタを前提とし…」と書いていましたが、これは勘違いです。


それ、gcc の最適化の前提条件だ。個別の実装系の話で、C言語全体の話ではありませんでした。


ちなみに、最初にC言語が作られた PDP-7 は 18bit マシン。PDP-11 は 16bit マシンです。

そのため、C言語自体は当初から特定のレジスタ幅を前提にはしていませんでした。


#とはいえ、PDP-11 のようなアーキテクチャを念頭に設計していた節はあります。


#18bit が中途半端に思える人は、TX-0の話読んでね。

 TX-0 を元に PDP-1 が作られ、その後継機が PDP-4 、PDP-7 です。PDP-11 は全く別の機械。

 PDP は開発順に番号が付いているので、系統がわかりにくいです。




日記に、BDS-C を使って CP/M 上で LSI-C を作ったとある、と指摘がありました。

はてなで日記を付けている、と氏のページにあったのですが、見に行った時点で非公開になっていました。


いま情報の裏を取ろうと InternetArchive を少し探しましたがどこにあるかわからず。

しかし、おそらくC言語で作ったのだろうなぁ、と思っていたのが裏付けられたので情報信じます(笑)


C言語使わずに 8080のアセンブラでいきなり書いていた、とかだと、LSI-C 86 とも、現在の LSI-C 80 とも無関係になってしまうから。

自分の思い出(LSI-C 86)につなげたかったのもありますし、氏が亡くなってもソースは受け継がれている、と思いたかったのもありました。




当初、当時のC言語は10万円位するのが普通だった、と書いていました。

TurboC や QuickC はもっと安かったよ、という指摘がありました。

うん、そうだったかも。


実は TurboC の DOS 版は購入して今でも持っています。社会人になって、Windows の時代になってから、安売りされていたのを買ったのだけどね。

安売りとはいえ、元が10万円していたら、当時の僕が手を出せないくらいの値段だったでしょう。


それでも、LSI-C 試食版が無料、というのは驚きでした。

当時の趣味プログラマーに大きな影響を与えたと思います。




「LSI-C 80 のコード品質が異常に良い」というのは言い過ぎではないか、という指摘がありました。

これはね、本文中にもあるように、実際のところは LSI-C 80 は使ったことないからわからないのよ (^^;

ただ、そう評価している人が居たからそのまま書いただけで。


各種評価ある中で、自分が思い入れがあるから「一番良い評価」を選んだのはあります。


ネットで見つかるいろんな人の話を読むと、レジスタの使い方が上手かったようです。

普通は変数はメモリに割り当てるわけですが、8080 はメモリアクセスが遅い。


そこで、一部の変数をレジスタに直接割り振るわけです。

まぁ、ここら辺のことは他のC言語でもやっていること。


興味深いのは、8080 ではレジスタごとに「使える命令」が違っていて、変数を単純にレジスタに割り振るだけでは無理が出てしまうのに、どうやっていたのかな、というところですね。

ここら辺、僕は使っていないので知らない。


そして、こちらも寄せられた情報ですが、LSI-C 80 では関数の呼び出し時に、引数をレジスタ渡しするそうです。


C言語の関数を呼び出す際は、一般的には引数をスタックに積んでから呼び出します。

でも、8080 では先に書いたようにメモリが遅いし、そもそもスタックが 16bit 単位でしかアクセスできない、という制約があります。


そのための工夫なのでしょう。

多分「品質が異常に良い」と評価していた人も、ここら辺の工夫を褒めていたのではないかな、と思います。



#引数をスタックに積んで…で、またツッコミが入りそうなので牽制。

 SPARC のことはもちろん知っていますし、printf("%d %d",a++,a++) の結果が処理系依存なのも承知。




MSX にも MSX-C というものがあったのですが、実は LSI-C 80 の OEM 版なのだそうです。


情報を頂いて裏を取ったら、詳細を書いているページを見つけました。


MSX-C のバイナリをダンプすると、LSI JAPAN のコピーライト表示が埋め込まれているとか。


MSX の CPU は Z80 だと決められているにも関わらず、8080 でも実行できるコードを生成するのだとか。

MSX 用に Z80 や R800 のコードを生成するようにする、後付けの「オプティマイザ」も有志の手で開発されていたようです。




▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

森公一郎 命日(2015) レイ・ドルビー誕生日(1933)【日記 16/01/18】

1988年のパソコン事情【日記 16/03/05】

1988年のパソコン事情【日記 16/03/05】

リロケータブル【日記 17/11/27】

別年同日の日記

06年 ウッドデッキ完成

07年 人生初ギャグ?

13年 ピクミン

17年 1996年のそのほかのゲーム


申し訳ありませんが、現在意見投稿をできない状態にしています

【BDS-C使い】 LSI C-80(CP/M)のOEM変化形のMSX-Cになりますが、BDS CやHI-TEC C(CP/M)でコンパイルしたものよりMSX-Cでコンパイルしたもののほうがサイズが小さくなるので最適化がすごいのは事実だと思いますよ。計測まではしてませんが多分速度も速いでしょう。ただし、8ビットOSでコンパイルする場合はMSX-C(多分本家のLSI C-80も)ではメモリが足らずにコンパイルエラーになることが多いし、8ビットマシン実機ではコンパイル速度がものすごく遅かったです。BDS Cのほうが実用的と個人的に感じました。ただし、LSI C-80のMS-DOS版ではそれらの欠点は感じませんでした。おそらく今のWindows版のLSI CはZ80開発には最強レベルでしょうね。ただしZ80が衰退した現在となるとLSI CのWindows版は有料なのでお金を出して買う人は少ないでしょう。BDS C(CP/M)、HI-TECH C(CP/M)は無料でエミュレーターでWindowsでも動き、他にも無料のz88dk(Windows等)、SDCC(Windows等)がありますし。 (2017-04-01 19:16:32)

【ななし】 JavaScriptのyaccを探していたらkmyaccが対応していると見つけて、二十数年ぶりにお名前を見て、でもウェブの更新がとまっているので心配していました。商用C言語コンパイラ実装者の末席のひとりとして、先達の業績には尊敬の念しかありません。ご冥福をお祈りいたします。 (2015-02-07 15:48:43)

【名無し】 MSX C ver 1.1 のパーサとコードジェネレータには"Copyright (C) 1985 by LSI JAPAN Co., Ltd."の文字列が埋め込まれてます。 (2015-01-24 13:14:13)

【中の人】 LSI-C86はLSI-C80を使って bootstrap していました、LSI-C80は最初はBDS-Cでbootstrapしていましたがある程度動き始めたら自身でコンパイルして最後は gcc と同様に自身で生成と言う開発を行っていました。 (2015-01-23 19:59:10)

【名無し】 >MSX-C のバイナリをダンプすると、LSI JAPAN のコピーライト表示が埋め込まれているとか。 手元のMSX-C ver 1.20pのパーサ(CF.COM)とコードジェネレータ(CG.COM)を確認してみましたがアスキーの版権表示があるのみでそのようなものは見当たりませんでした。バージョンに拠るのかもしれませんが…。 (2015-01-23 04:07:06)

【G-SHOES】 思い出深いのは,引数の引き渡しを可能な限りレジスタで行おうとしたコンパイラだったので,出来るだけ引数を少なく,短いビット長で行うように関数仕様を検討していました。16nitの引数を3つも4つも引数にすると間違いなくスタック経由になり,速度が撃オチです。そこで関数を分ける,逆に統合するなどの工夫をやっていたことを思い出します。森さんのご冥福をお祈り致します。 (2015-01-22 08:19:26)

【G-SHOES】 LSI-C80を仕事で使っていた人です。確かにいいコードを生成してくれるので信頼して使っていました。当時のZ80のCコンパイラは正直中途半端で,LSI-Cを使えば遅いCPUでも,小さいメモリでも,なんとか乗り切れた事が多く,極論するとコスト削減に貢献してくれていたということになります。 (2015-01-22 08:14:07)

あきよし】 おぉ、多数の指摘ありがとうございます。PDP-11が16bitだったのはご指摘の通りで、勇み足でした。他の件も含め、後で記事修正しておきます。 (2015-01-21 11:14:19)

【名無し】 「LSI-C 80 の生成するコード品質は異常」(に良い)というのはちょっと大袈裟ですね。生成されるコードのサイズや実行効率的にアセンブラの代わりになる程のものではなく、当時の他のコンパイラ製品と比べてレジスタの使い方が効率的だった、くらいの説明が適当だと思います。 (2015-01-21 05:03:49)

【名無し】 >当時はC言語なんて十万円くらいするのが普通で、 10万とかいい値段がするのはLettice-CやWhitesmith-C、MS-Cなんかで、TurboCやQuickC等安価な製品も存在しました。 (2015-01-21 00:11:42)

【名無し】 >8080 上でC言語をC言語で書き、セルフコンパイルする。 …いや、それは難しいか。絶対無理とは言わないけど、開発効率が悪そうだ。 日記に「80年代の初めに、BDS-CをつかってCP/MでLSI-Cを書いていました。」と書かれてますよ。 (2015-01-21 00:07:27)

【名無し】 >そもそもが、C言語自体が広いメモリと 32bit の多数のレジスタを前提としている。 C言語の起源が16bitのPDP-7だかPDP-11だかその辺なのでその説はおかしい。 (2015-01-20 23:54:31)

宮永好道 命日(1993)  2015-01-23 16:08:44  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は宮永好道さんの命日(1993)。

Dr.パソコン、として知られた人です。


Dr.パソコン、という名前は、出演していた「パソコンサンデー」での肩書。


当時はシャープの顧問で、MZ~X68k の開発に関わっていたそうです。

それで、パソコンサンデーに出演していたのですね。


僕は当時はこのおじさんが何者であるか知らなかったのですが、東芝、シャープでコンピューターを開発し、その後も各メーカーの顧問を務め、メーカーを超えてパソコンユーザーをまとめる組織などを結成。


パソコンの普及に努めた方でした。




パソコンサンデーで BASIC を教える際の独特の語り口が思い出されます。


FOR ~ NEXT 構文を、「フォー・ネクスト」ではなく「~ネスト」と発音するんですよね。

このことは結構思い出に残っている方も多いのじゃないでしょうか。


あの番組、春からの新生活に合わせて…進級祝いにパソコンを買ってもらったとか、一念発起して買ったとか、そういう人に合わせて春になると「1から」教え直す形になっていました。


毎年春は、パソコンはプログラムがないと動かない、という基礎から始まります。


「パソコンは、ソフトが無ければただの箱」。

この言葉、宮永さんの発案した言葉だそうです。パソコンサンデーでも良く言っていた気がする。


ただ、いまと事情が違うのは、当時はソフトなんてほとんど売ってないのね。自分で作るものでした。


そして、BASIC とは何か、画面に文字を表示する方法、計算させる方法、入力させる方法、などなどを学んでいく。


どの程度のレベルまで行くかと言えば、1年かけて、フォー・ネキストを使って複利計算させるとか、ちょっとした実用プログラムが作れる程度。

まぁ、初心者向け講座としては十分でしょう。


ここくらいまで自分で作れるようになると、プログラムが楽しくなってくる。

楽しくなって、次はどんなことを学べるのかな、と思っていると、春になって最初に戻ってしまう。


友達は、テレビ界の永久ループ、と呼んでいました。

いつまでもぐるぐる回っちゃうのね。




パソコンサンデーの合間にはシャープのパソコンのCMが入るのですが、MZ-1500のCMでは、宮永さんが登場していました。


宮永さんに似たぬいぐるみのねずみが出てきて、MZ-1500にかじりついているんだっけかな。

何ですかこれは? とMZ-1500イメージキャラクターの女性に聞かれて、「いわゆるひとつの動物実験ですよ」って。


結構シュールなCMだった気がする。つまりは、MZ-1500は病みつきになって離れがたい魅力がある、ということのようなのだけど。


シリーズでいくつかCMがあって、そのうちひとつはYouTube にありました




宮永さんから話は離れるけど、ついでなのでパソコンサンデー話。


当時は「音声多重」という放送方式が出たばかりでしたが、パソコンサンデーでは副音声でソフトを配信していました。

その回で作成したサンプルプログラムとかだったと思う。


これも、当時を知らない人にはわからない話なのだけど、昔はパソコンのプログラムは「音」として記録していました。


Windows 95 あたりでインターネット始めた人は「モデム」って言うのがあったのを知っているんじゃないかな。

電話線を通じて、音でデータを伝えるための道具。


または、FAX 。こちらも最近見かけませんが、電話に音声として書類のデータを載せて通信する。



あれと同じ原理で、プログラムを音でデータ化して、カセットテープ(これも最近見ない)に録音しておきます。


カセットテープをダビング(コピー)すれば、プログラムもコピーできちゃう。

パソコンを使ったりしないから、プロテクトのかけようもない。

もっとも、孫コピーなんて作ると、もう音が劣化して読み込めなくなるので、それほどコピーされないのだけどね。



話がそれたけど、パソコンサンデーでは、副音声でプログラムを配信していたわけです。

今のテレビが、 [d] ボタンで、番組に関連するデータをデジタル配信しているのと同じようなことを、30年前にもうやっていたわけですよ。


#どんどん話がそれるけど、当時のパソコン雑誌にはソノシート(レコード盤)が付いているものもあった。

 やっぱり、音にしてプログラムデータが収められているの。

 レコードはノイズが載りやすいから、ノイズを載せないで読み込ませるためのノウハウとかもあった。




家に宮永さんの書いた本があって、宮永さんが亡くなられる直前、12月10日に刊行されたものです。

「誰もかけなかったパソコンの裏事情」。


8bit 時代から、売れたマシン、売れなかったマシン、いろんなマシンを紹介した本です。

紹介機種はそれほど多くなくて、少し物足りないのだけど、紹介した記事はそれぞれ見開き2ページで、宮永さんの評価や裏話が入っている。



本屋で見かけて、古いパソコンとか好きだから買ったら、一番最後に著者プロフィールが載っていて、宮永さんの本だと知りました。


それまで「Dr.パソコン」としては知っていても、どういう人か良く知らなかった。

でも、ここに履歴もありました。へー、そんな偉い人だったんだ、とこの時初めて知った形。


この本のプロフィールが、多分宮永さんの生涯を伝える唯一の情報なのではないかな。

Wikipedia の情報も、このプロフィールを別の言葉で書き直しただけのように見えるから。



そして僕は、このプロフィールを読んだ時に、「まだ健在なんだ」と思ったのでした。

パソコンサンデー出演時に、すでに結構年のように見えたから。


でも、これ書店で見かけて買っただけ。発売すぐに買ったわけでもない。

正確な購入日は忘れましたけど、もしかしたらもうその時には亡くなられていたかもしれない。

そうとは知らずに「まだ健在なのか」と思ったのかも。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

監視ユーザーの問題回避【日記 16/07/14】

QNAPにないもの【日記 15/01/24】

Landiskと格闘中【日記 15/01/31】

Landiskと格闘中【日記 15/01/31】

別年同日の日記

12年 ゲームボーイの CPU

16年 iOSでtextのコピー・ペーストができないバグの回避

18年 サターンポリゴンのゆがみ


申し訳ありませんが、現在意見投稿をできない状態にしています

Macintosh の発売日(1984)  2015-01-24 17:20:24  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は、Macintosh (128k) が発売された日(1984)


22日にスーパーボウル(アメリカンフットボールの優勝決定戦)の中継の中で Macの発売告知のCMが流され、2日後の今日、発売となりました。


初代マックはもう、いろいろと伝説がありすぎて僕が書く必要もないくらい。


ゼロックスで研究されていた Alto を元にして、「ゼロックスが商品化するつもりがないなら、アップルがやってしまうぞ」と言ってジョブズが作り上げたもの、とよく言われる。


まぁ、本当は直接作り上げたのは Lisa というマシンで(先日暇がなくて書けなかったのだけど、1983年1月19日発売)、Mac の元となった機械だ、とされている。



でも、Lisa は Mac よりもっと Alto っぽかった。

マルチタスクで動くし、マルチウィンドウだった。


でも、Lisa は高価だった。パソコン界のポルシェ、と呼ばれた。

そして、CPU である 68000 はマルチタスクに耐えられるほど高速ではなく(それでも、当時は高速なCPUの方だったのだけど)、使い勝手は決して良いものではなかった。


この反省から、Mac は Lisa を「切り詰めた」ものとして作られた。

いや、ジョブズは Lisa が受け入れられないことを認めたくなくて、「切り詰めた」のではなくて「切り捨てた」のかもしれない。




高価だった RAM を極力減らすため、OS の一部はあらかじめ ROM に納められた。

アプリケーションのプログラムも、肥大化すれば RAM を必要としてしまう。


そこで、OS の一部である ROM の中に、よく使われる処理が収められ、それらを使うことが推奨された。


もちろん、OS というのは「よく使うルーチン」の集合体だ。

その意味では、よく使う処理が入っている、というのは当たり前に思える。


でも、そうじゃなかった。

OS はまた、汎用的な処理だけを集めるべきで、高度に専門化されたルーチンを持つべきではない。


でも、Mac の ROM には「ボタンを描く」とか「テキスト入力を行わせる」とか、「テキストエディタ」のようなものまで入っていた。


結果として、Mac のプログラムは、別の会社が作ったプログラムであっても、「どこかで見た」部品が使いまわされることになった。


これが「ソフトが違っても使い勝手が統一される」という良い作用を生む。



使い勝手の統一、という、いまでは当たり前の作法は、「メモリを切り詰めた結果」、やむなく生まれたのだ。




Lisa は 1Mバイトのメモリを搭載していた。


これがどんなに驚く容量か…当時、IBM-PC は最大でも 640K のメモリしか搭載できなかった。

現実的には、Lisa と同じ 1984 年に発売された IBM-PC/XT は、256KB しかメモリを搭載していなかった。


しかし、その 1M のメモリが Lisa を高価なものとし、全然売れないマシンにした。


Mac は、この反省からメモリが切り詰められ、128K しか搭載していなかった。

しかも、拡張性は一切ない。搭載量が 128K で、最大も 128K だ。


文字中心の IBM-PC でも、256K 。それを、グラフィカルにして 128K 。

ソフトはほとんど何も動かなかったし、Mac 上でソフトを開発することなんて、とても無理だった。


#Lisa に MacWorks というソフトを載せると、Mac 互換になったので、開発には Lisa が必須だった。



もちろん、Lisa と違って Mac はマルチタスクではない。だから、ウィンドウシステムも、あまり意味がない。

1つのソフトが画面全体を占有する、というのが Mac の作法だった。


#実は、初心者にはこれがわかりやすかった。画面がごちゃごちゃしている、というのはわかりやすくない。

 後に Mac はマルチタスク・マルチウィンドウになるけど、iPhone / iOS では、シングルウィンドウに戻った。




ジョブズは、Mac を「パソコン」だとは考えていなかった節がある。

どうも、ソフトウェアのプレイヤーを作ろうとしていたようなのだ。


拡張性が無い、というのもそのための選択だったのだろう。

各家庭にあるテレビが、ユーザーの好みに合わせて、蓋をあけて拡張される…というような話はない。


どこの家でも同じ仕様のパソコンを売れば、発売されるソフトもどこの家でも動くはずだ。

プレイヤーだと考えれば、非常に正しい主張だった。



キーボードは不要だ、とも主張していた。

マウスだけあれば操作はできる。文字入力が必要なら、画面上にソフトウェアキーボードを表示すればいい。


もちろん、キーボードが必要な人もいるだろうけど、それなら「別売り」にすればいい。


しかし、Mac はキーボード付きで発売された。

もしキーボード無しなら、これはパソコンではなくて、当時としては画期的な「ソフトウェアプレイヤー」として認識されたかもしれない。



Apple II の設計者であるウォズニアックも、後に「アップルはソフト再製に特化した、ファミコンみたいなものを作るべきだった。でも、任天堂に先にやられてしまった」という趣旨のことを語っている。


当時はウォズとジョブズはすれ違い、仲は悪かったはずだけど、同じような意識を持っていたのかもしれない。




Lisa は豪華すぎて高価で売れなかった。

Mac はその反動で、切り詰めすぎ、発売してすぐに「何もできない」との評判が立つ。


発表時にたくさんの予約が入っていたが、発売してからキャンセルが相次いだらしい。


当時アップル社の研究職だったアラン・ケイは、Mac を「1リットルしかタンクのないホンダ」だと呼んだ。

素晴らしい性能を持っているはずなのに、それを動かすための「燃料」を、ほとんど入れられない。



皆が、Mac をパソコンだと捉えていた。

そして、パソコンだと考えると、あまりにも非力だった。



1984年の今日、発売されたパソコンの名前は「Apple Macintosh」だった。

でも、一般に Macintosh 128k と呼ばれる。


これは、すぐ後に「Macintosh 512k」という機械が発売されたため、区別するために初代機には「128k」と付けるようになったのだ。


メモリ容量が4倍になって、やっと Mac は普通に使える「パソコン」になった。




そして、実は Mac に非常に惚れた人物の一人に、ビル・ゲイツがいる。


ゲイツとジョブズは仲が良い。

発売前から、ジョブズは Mac をゲイツに見せ、詳細資料を提供してソフトの開発を依頼していた。


まだ発売前なので、詳細資料…OS の API 資料にはとにかく何でも書かれていた。

OS 内部で使うためのルーチンなどは一般には公開しないものだけど、そういうものの情報もあったようだ。


そして、ジョブズは「この資料を自由に使ってよいし、そうして得られた情報でいかなるプログラムを作ってよい」とメモに記してサインした。



ゲイツは、Mac に表計算を提供した。初代 Excel だ。

Excel は、それまでの VisiCalc や、Lotus 1-2-3 とは明らかに次元が違う、非常に使いやすい表計算ソフトだった。



ジョブズが Alto を見て Lisa を開発し、さらに Mac を作ったように、ゲイツも Alto をみて Windows を作っていた。


でも、初期の Windows は全然売れなかった。

当時は MS-DOS で十分だったから。


後に Windows の出来が良くなってから、Mac に酷似している、と裁判になった。


同じ Alto を真似したもの同士だから、似ているとしてもある意味当然。とはいえ、Alto には存在しなかった、ファイルをアイコンとして扱える仕組みなど、Mac に影響を受けたとしか思えない部分も多々ある。


この裁判は、最終的に、先に書いたジョブズのメモ、「得られた情報でいかなるプログラムを作ってもよい」という約束が理由で、Apple の負けとなった。


この裁判の頃、ジョブズは Apple を追い出されていて不在だった。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

03年 大嘘ぶっこいてました (^^;

03年 カツサンド

04年 給与計算


申し訳ありませんが、現在意見投稿をできない状態にしています

芸夢狂人 誕生日(1953)  2015-01-28 11:24:48  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は芸夢狂人さんの誕生日(1953)。


本名は鈴木孝成さん。本名よりもペンネームの方が有名です。

「げいむきょうじん」と読まれることが多いのですが、本人の意図としては「げいむきよと」なのだそうです。


8bit パソコンの黎明期に現れ、主に PC-8001 で、次々に出来の良いゲームを発表しました。


最初は秋葉原の九十九電機から発売されていましたが、後に工学社から出ていた雑誌、I/Oの投稿に転じます。

九十九は買取だったので「売っておしまい」でしたが、I/Oは印税だったので、ずっと儲かったから、というのが理由だそうです。


ペンネームを使い始めたのは投稿し始めてから。

しかし、あまりにもハイペースで投稿し、同時に2作掲載されたりする際には、別のペンネームを使います。

PC-8001 以外で発表する際にも別のペンネームを使ったそうです。


つまり、「芸夢狂人」の作成したゲームは有名なのですが、実際に作ったものはもっと多い!




初期の PC ゲームは、すべてを一人で作り上げることが珍しくありませんでした。


「芸夢狂人」さんは、そうしたスタープログラマの先駆けでした。

今でもゲーム業界で活躍する多くのプログラマが、彼のように有名になることを夢見てゲームを作っていたのです。


しかし、芸夢狂人さんは当時医大生で医者になる勉強のために、ある時突然引退宣言を出します(1981)。



その後、当時小さな会社だったエニックスが「ゲームホビープログラムコンテスト」を開催します(1982)。

広く一般に開かれたコンテストでしたが、当時パソコン雑誌にプログラム投稿をしていた人は誘いがかかりました。


I/O からは中村光一、月刊アスキーからは、すでに「森田オセロ」で有名だった森田和郎が参加していました。

森田さんが最優秀プログラム賞、中村さんが優秀プログラム賞を受賞しています。


また、当時フリーライターをしていた堀井雄二は、このコンテストの取材に訪れ、自作のゲームを投稿します。こちらも入選。



余談になりますが、2年後に森田さんが作った「森田和郎の将棋」(1984)を遊んで、作曲家でゲーム好きの すぎやまこういち さんが感想を書いたアンケートはがきを返しています。


この縁で、堀井雄二シナリオ、中村光一プログラム、すぎやまこういち 作曲で、ドラゴンクエスト(1986)が作られるわけです。

(これに加えて、当時すでに人気漫画家だった鳥山明が画像のデザインを行った。ものすごい布陣だった。)



話を戻します。


引退宣言を出していた芸夢狂人さんは1回目のコンテストには不参加。

2回目のコンテストには参加し、見事入賞しています。


後に、エニックスの人から「自主的な参加が無かったら参加要請を出していただろう」と聞いたそうです。

エニックスとしては、パソコンゲーム界の超有名人である芸夢狂人さんがコンテストに参加していないのは画龍点睛を欠く思いだったのでしょう。




その後、エニックスのいくつかのゲームのプログラムをしていますが、その頃のゲーム作成は、すでに分業制。

全てを一人でやるのが好きだった芸夢狂人さんはこれが苦痛だったそうで、再びゲーム業界から引退します。


その後、ちゃんと医者になって開業医をやっていたようなのですが、その医院も2011年に閉院。


現在の様子は氏のホームページで伺うことができます。





…ざっと書いてみましたが、ほとんど「みんながこれで燃えた! PC-8001・PC-6001」のインタビューの要約です。


他にあまり情報が無いようで、Wikipedia の情報もほとんどこれだけだし。


僕個人の思い出を書けば、PC-8001 は周囲に持っている人が居なかったので、芸夢狂人さんのゲームは1つも遊んだことないのです。

さらに言えば、I/O も購読していなかったので、直接記事を読んだこともない。

非常に残念なことではあります。


しかし、それでも芸夢狂人、という名前は知っていました。

それほど有名だったのです。


名前のインパクトがあったからよく覚えている、というのもあるかもしれませんが(笑)



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

04年 アンケート・その後

05年 おはなしせんせい


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -