2010-12-31

Tcl and the Tk Toolkit (2nd Edition)

前から購入しようと思っていたままだった書籍ですが、遅ればせながらやっと購入しました。この第二版は、John Ousterhout 氏と Ken Jones 氏の共著になっています。が、しかし preface(序文)は Ken Jones 氏が書いているので、実質的には彼が執筆した本のような雰囲気です。

普通の Tcl/Tk 8.5 の入門書といった内容で丁寧に解説されており、Tcl、Tk の入門的内容から、Tcl_Obj (C API) や TEA に基づいた拡張パッケージの作成までカバーされています。700 頁を越える量ですが、わかりやすくまとめられている良書だと思います。製本はペーパーバック(並製本)で、背に頁を糊付けしただけのものです。そのため、永く使い込めば、背が折れて頁が剥がれることになり、もう一冊購入なんてことになりそうです。

2010-12-29

「マイクロソフト戦記」を読んで

書は、1980 年代前半から 1990 年代前半、MSX の標準化から、Windows が業界スタンダードになるまでの筆者トム佐藤氏の体験と、どのように Windows が業界スタンダードになり得たかを描いたノンフィクションかつビジネス戦略を解説した書です。

久しぶりに小説以外でワクワクする書物に出会い、一気に読んでしまいました。本書では、ベンサムが唱えた「最大多数の最大幸福」が、デファクトスタンダードを作り出すことを可能にするキーワードになっています。Windows は他より性能面で抜きん出ていたからではなくて、「最大多数の最大幸福」を実現できたからこそデファクトスタンダードになり得たのです。ビジネスプレゼンテーションによくある美辞麗句ではなく、失敗と悪戦苦闘を重ねる紆余曲折の中で、幸運に恵まれ、市場をつかみ、なんとかテクノロジーの波に乗ることができるまでの様子が実にリアルに伝わってきました。

本書が述べている時代は、自分にとっては、NEC PC98 の MS-DOS 上で Lotus 123 や一太郎を使っていた頃から Macintosh へ仕事のツールが移り変わった時代でした。当時は、MSX や Windows にまるで注目していなかったので、知らなかった時代のアツい側面を知ることができて、なんだか得をした気分になりました。そういえば学生の時、研究室の NEC PC98 上で利用可能であった Windows 1.0 を見て、とても使いものになるとは思えなかったのを憶えています。

仕事において Windows が搭載された PC を利用し始めたのは、当時勤めていた会社の本社 R&D がある米国へ出向した 1994 年の時、Windows for Workgroups 3.11 からです。翌年、Windows 95 が大々的に発売され、その後の展開は周知のとおりです。当時は、Fry's などのコンピューターショップで OS/2 Warp や Windows NT もたくさん店頭に並んでおり、OS の選択肢の多さにクラクラしたものです。デファクトスタンダードが確立されることによって、そういた選択肢が次々と市場から駆逐されてしまうのは、悲しいことですがビジネスの常なのでしょう。

愛用する Linux は、最大幸福の追求はしていないと思うので、デファクトスタンダードとは縁がないのかもしれません。しかし、好きだから、必要だから、というユーザが存在する限り、オープンソースの OS は存在しつづけるような気がします。そう考えると、今までデファクトスタンダードにはなりませんでしたが、今なお健闘している Mac OS X は、不思議な存在です。iOS もそうですが、ソフトウェアとハードウェアをセットにして販売するところがミソなのかもしれません。

本書を読んで、つくづく思ったことは、ビジネスの最前線の仕事とはなんとも過酷だということでした。

[1] マイクロソフト戦記―世界標準の作られ方(新潮新書)

2010-12-04

LLVM に関する話題 2010

LLVM のホットな情報にタイムリーには喰いつけず、ぼんやりしていた自分に悔しかったので、ここで今年一年分の情報をまとめてみたいと思います。
[01] 2010/02/09 あるコンパイラが重要なマイルストーンに到達
[02] 2010/04/19 FreeBSD Daily Topics:2010年4月19日 FreeBSD GCCを置き換えるLLVM Clang,広くテスト呼びかけ
[03] 2010/04/28 LLVM 2.7登場、飛竜を公式ロゴに採用
[04] 2010/04/29 LLVMプロジェクト、対応プラットフォームを強化した「LLVM 2.7」
[05] 2010/05/17 JITコンパイラにLLVMを使用するRuby互換実装「Rubinius 1.0」が登場
[06] 2010/05/18 LLVM、GCC libstdc++をBSDライセンスのlibc++へ置き換え
[07] 2010/05/18 LLVM 2.7、Haskell対応のストーリー
[08] 2010/05/25 【レポート】FreeBSD GCCアップデート停止、LLVM Clangへ移行 - BSDCan 2010
[09] 2010/06/10 FreeBSD Daily Topics:2010年6月10日 LLVM Clang,FreeBSD 9-CURRENTへ統合
[10] 2010/06/11 LLVM Project、次世代デバッガ「LLDB」を開発へ
[11] 2010/10/08 LLVM 2.8登場、C++大幅強化
[12] 2010/10/28 LLVM Clang、Linuxカーネルビルドに成功
[13] 2010/11/19 FreeBSD Daily Topics:2010年11月19日 LLVM Clang 2.8,9-CURRENTにマージ

ところで、Tcl と LLVM を結びつけるようなプロジェクトがないか探して見たところ、llvmtcl という、いわゆる拡張パッケージを開発するプロジェクトがありました。llvmtcl を評価ができたらレポートしたいと思います。

[14] jdc8/llvmtcl - GitHub