トップ «前の日記(2005-11-15) 最新 次の日記(2005-11-17)» 編集

日々の破片

著作一覧

2005-11-16

_ MicrosoftがGoogleをつぶす戦略が動き始めたようです。

11月3日

同じネタを同じような切り口から取り上げてもcnetのやつと違って、勿体つけやはったりがない。したがって、論旨が明確で絵が見える。そこまで見えている人がいるということは、おそらく明晰なビルゲイツの頭の中でも同じ絵が見えているのだろう。しかもMSの他の実験群と異なって未知のファクターがほとんどない。基本的にMS内部で閉じた戦略だ。ということは、相当な確度で正しい推測だと思える。

遠見明察賞をあげたい。

_ 今日のアマゾンさん

絵をみてできる数学実験 (KS科学一般書)(礒田 正美)

とりあえず、手に入るときに買っておいた。

ハイブリッド―新種 (ハヤカワ文庫SF)(ロバート・J. ソウヤー)

というわけで3冊目に突入。

レボリューション・イン・ザ・バレー ―開発者が語るMacintosh誕生の舞台裏(Andy Hertzfeld)

絶対価格は高いが、相対価格は安い気もするし(エディトリアルデザインの本でもあるからだ)、後で入手できなくなると寂しいので買う。

とは言うものの買う気になったのはNerdTVのせいであり、NerdTVの内容を知ることができたのは福盛さんのおかげなわけで、感謝。

それにしても、BASICにまつわる個所だけ目に付いたので読んだのだが、MSって本当にシビアなビジネスをする会社であるなぁ。

・ウォズニャックがBASICの必要性を感じてハックしてAppleIIに仕込む。

・でも浮動小数点数を実装していないという問題が(ウォズニャクのメモみたいなのが付いていて、そこではもう少し微妙なニュアンスになっているけど)。

・MSから6502用BASICのFDが届く。浮動小数点数を当然使える。

・AppleII PlusのROMにはMS製が入る。

・それはそれとして、MacにもBASICが必要だ。当然、GUIを操作可能なBASICである。

MacintoshのUIを活用できるBASICのプログラムが書けることが重要だと考え、サードパーティに頼らずに、自分たちで作るべきだと決意した。

しかし不思議なのは、マルチスレッドのインタープリタで同時に複数のウィンドウにグラフィックを描けたとか書いてあるけど、最初のMac OSってノンプリエンプティブ(お譲り制御)のはずだが、yieldをどういうふうに実装していたんだろう?

・MSが政治力とApple IIへの影響力から開発中のMac BASICを捨てさせることに成功。

しかし驚いたことに、Microsoftは開発中にも何も明かさずに、いきなりMacintosh用のBASICをリリースした。それは僕らが心配し、恐れていた通りのものだった。基本的にコンソールベースになっていて、Macのユーザーインターフェースをまともに使っていなかったのだ。

ところで、この連中が、BASICが必要だ! とか、BASIC! BASIC! とか言うのは、ウォズニャックの証言に如実に出ているけど、

私は、言語などというものを書いたこともなく、そんな授業も受けたことはなかった。実際、私はインタープリタやコンパイラについての授業さえ受けたことはなかった。

で、アセンブラしか知らない状態でエンドユーザーにプログラムをさせる……となった時にBASICしか知らなければ、

私はBASICでプログラムを書いたことはなかったが、BASICで書かれたゲームの本などを見て、これからの言語だと感じた。

と感じるのもしょうがないかも。

という具合に単に他のインタープリタ言語を知らなかったということなんじゃないかな、と思う。

たとえば、なんでエンドユーザー用にSmalltalkを乗せるというような発想をしなかったんだろう? それなら最初から「MacintoshのUIを活用できる」となるんじゃなかろうか。メモリーの制約からBASICを乗せることにしたというような技術的な判断が行われたようには読めない。もう、自明のこととして、BASICを乗せる、と決まっていたようだ。

そう言えばAmigaも素でMSのBASICが載っていたが、普通(というのもPDS―当時の言い方―はCで書かれているのがほとんどだし)はAztecかLatticeのCを買うような気がする(ちなみに僕はAztec)。

なんで、BASICだったんだろう? それが既にMSのマジックの始まりなのか?

_ NetBeans5 beta

とりあえず使って見始めた。いきなり、エディタ設定にEmacsテンプレートがあるのでにっこり。デフォルトはハードタブを空白置換だし、やっぱりこうあって欲しいものだ。

追記:^dの動きがおかしい……

さらに追記:ベータ2にしたらちゃんと動いた。

本日のツッコミ(全10件) [ツッコミを入れる]
_ なかだ (2005-11-16 10:05)

preemptiveじゃないでしょ。

_ arton (2005-11-16 10:18)

確かに。といか、久々に使ったので意味を逆転させてました。3年以上使っていない言葉を利用する場合は、ちゃんと埃を払ってから使うべきですなぁ。

_ unibon (2005-11-16 20:00)

ノンプリエンプティブですよね。

_ arton (2005-11-16 20:27)

お、確かにティティとか書いてますね。どもども。

_ 福盛 (2005-11-16 23:33)

Macintosh BasicとApple Smalltalkの話はsumimさんのページ( http://swiki.no-ip.com:8080/hmug/5 )にも記述がありますね。いろいろオーバーラップしていて面白い :)<br><br>> たとえば、なんでエンドユーザー用にSmalltalkを乗せるというような発想をしなかったんだろう?<br><br>ma2さんのところでも話が出ていますが、やはりSmalltalk自体があまりにも自己完結したシステムであり、一部を切り出して活用するのは困難だった、というところに落ち着くのではないかと思います。<br>SmalltalkのあのGUIを実現するにはMVCのフレームワークが必要、から始まって芋づる式にどこまでも(ガベージコレクションも欲しいとか、やっぱり言いたくなるし)。最後はVMからシステムイメージから丸ごと用意するのが楽だけど、それを支えるインフラがない、というあたりかなぁ。実際のところはどうだったか、検証は必要でしょうが。

_ 福盛 (2005-11-16 23:40)

すみません、ちょっと修正を。<br>SmalltalkのあのGUIを実現するには<br>→SmalltalkのスタイルでMacintoshのUIをコントロールするには

_ arton (2005-11-17 01:47)

つい読みふけってしまった……続きも読みたいな。<br>それはともかく、sumimさんも「BASIC を“母国語”」と書かれているけど、BASICが当時のパーソナルコンピュータの常識だったということなのかも知れませんね。(Revolution in the ValleyにSmalltalkという言葉は2ヶ所しか出てこなかった――1つはパロアルト出身者の紹介で、1つはアランケイの説明)

_ sumim (2005-11-17 13:12)

楽しそうな話題なのに、出遅れました(^_^;)。<br><br>誤解を恐れず単純化をしてしまうと、Lisa や、その後継の Mac の使い勝手は、ALTO において GUI ベース環境を実現するための OS であった Smalltalk“システム”から、エンドユーザーには無用と思われる(!)言語機能などを取り除き、可能な限りレスポンスを優先することによって実現されたものなので、そうしてわざわざ排除した言語機能を改めて実装しよう…という発想は(エンドユーザー向けに言語を用意しよう…というニーズが復活したあとでも)、そもそも出てきにくかったのかもしれませんね。

_ arton (2005-11-17 14:25)

ああ、なるほど。それはおもしろい。<br>まさにMVCのMの入れ替えだ。

_ sumim (2005-11-17 15:06)

なるほど M の入れ換えですか。で、その割り切った M では「使うは天国、作るは地獄…」などと言われてしまい、反省を込めて M をかなりまともにしたのが、OS X(NeXT)なのでしょうね。ジョブズ的にはきっと…。<br><br>福盛さんの“SmalltalkのスタイルでMacintoshのUIをコントロール”にも通じるところがありそうです。Cocoa/ObjC は Smalltalk システム/言語 にそっくりなところが多々ありますから。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

ジェズイットを見習え