Software is Beautiful

第36回 二人三脚で進化するハードウェアとソフトウェア

この記事を読むのに必要な時間:およそ 1 分

成功のチャンスは常にある

少し前のことだが,理系の大学に入ったばかりの学生から「中島さんは高校生のときからプログラムを書いて,PCの黎明期に活躍したそうですが,今からプログラミングの勉強をして間に合うでしょうか?」と質問されたことがある。

私は,いつものように「プログラミングの勉強はいくつになっても遅くない。少しやってみれば自分がプログラムを書くために生まれてきたかどうかがすぐにわかるよ」と答えようとしたのだが,彼の疑問が年齢に関することなのか,時代に関することがあいまいなので聞き返したところ,時代のことだと言う。これだけPCやスマートフォンが普及し,開発環境も整い,ソフトウェアエンジニアが世界中に何十万人も(ひょっとすると何百万人も)いる時代に,ソフトウェアエンジニアとして私が経験したような成功体験をすることは難しいのではないか,という質問だったのである。

成功の定義にもよるが,優秀なソフトウェアエンジニアは常に不足しているし,時代とともに必要なソフトウェアも変化するので,成功のチャンスは常にある。特に,毎年のように発表される新しいハードウェアは,私のようなハングリーなソフトウェアエンジニアにとっては,ほかの人たちに一歩先んじるチャンス以外の何物でもなく,そこを走り続けている限りはアイデアが途切れるようなことはけっしてない。

世界初のPC用CADソフトウェア「CANDY」

私は大学生のときに,世界初のPC用CAD注1であるCANDYを作った経験がある。これは典型的な「新しいハードウェア」をチャンスに結び付けた例である。

当時,PCとしてはNECからPC-9801が発売されたばかりであった。一世代前のPC-8001と比べるとCPUは16ビットになったし,ディスプレイもVGAカラーと,ようやく本格的なグラフィックアプリケーションを可能にするレベルになったのである。しかし当時のOSは,MSDOSというキャラクタベースのOSで,グラフィックスのAPIもライブラリもなく,グラフィックアプリケーションを作ることは簡単ではなかった。直線を1本引くために,ソフトウェアで計算して1ドットずつ描く必要がある時代だったのである。

アセンブラでCPUの能力を最大限に引き出すプログラミングが得意だった私は,「これは大チャンス」だと思ったのである。直線をすばやく描画するプログラムを書くだけで,誰も見たことのないすごいアプリケーションを作ることができるからだ。

当初は具体的なアプリケーションのプランはなかったが,とりあえず高速な直線描画ルーチンを作ることに没頭していたのである。そんなある日,出入りしていたアスキー出版に,古川享氏がMicrosoftが開発したばかりのマウスを持ってきて,「誰かマウスを使ったプログラムを作ってくれないか」と言ったのである。

その瞬間に私の頭の中で,「マウスと描画ルーチンがあれば,PC上でCADが動く!」というアイデアが生まれ,その4ヵ月後にCANDYが世界最初のPC用CADとして発売されたのである。

注1)
Computer Aided Designの略で,設計図などを作るためのアプリケーションのこと。

ソフトウェアエンジニアにとっての「新しいおもちゃ」

その後も私はいろいろなソフトウェアのプロジェクトに関わったが,成功したものはどれも,新しいハードウェアが登場した瞬間に,いち早くそのハードウェアを活かしたソフトウェアを作ったケースである。代表的なのは,Microsoftにいたときにソフトウェアアーキテクトとして関わったWindows 95だ。次世代を担うOSとして新たに設計しなおす機会が生まれたのも,そのころちょうどグラフィックスの性能が上がったり,32ビットCPUが登場し処理速度が大幅に向上したりしたおかげだ。

そして,厳密に言えばハードウェアだけではないが,インターネットというインフラが普及しはじめた90年代後半にNetscapeとの「ブラウザ戦争」を戦うためにInternet Explorerの開発に関わったのも同じような理由だ。インターネットという「新しいおもちゃ」を手に入れたソフトウェアエンジニアたちが作り出したのが,今あるブラウザやWebサーバのベースになっているのだ。

新しいハードウェアの可能性

私が今大学生だったら,多分Raspberry Piあたりの新しいハードウェアで,これまでになかった製品を作ることに熱中していると思う。新しいハードウェア,特にそれほどメジャーになっていないハードウェアは,ソフトウェアエンジニアにとってのブルーオーシャン(競争相手のいない市場)である。特に,IoTInternet of Things市場での戦いはまだ始まったばかりで,私たちの身の回りにあるさまざまなデバイスをネットにつないだときにどんな価値が提供できるか,という価値の創造の部分はこれからである。成功は必ずしも約束されていないが,先駆者としての経験を積むことは将来必ず役に立つ。

著者プロフィール

中島聡(なかじまさとし)

米国シアトル在住の自称「永遠のパソコン少年」。学生時代にGame80コンパイラ,CANDYなどの作品をアスキー(現アスキー・メディアワークス)から発表し,MicrosoftではWindows 95,Internet Explorer 3.0/4.0のアーキテクトとして,Internet ExplorerとWindows Explorerの統合を実現。設立企業「UIEvolution, Inc.」「Big Canvas Inc.」。ブログ「Life is beautiful」。現在はGoogle App Engine上でのサービス作りに夢中。iPadアプリ「CloudReaders」開発中。

近著『おもてなしの経営学―アップルがソニーを超えた理由』(アスキー)

メールマガジン「週刊 Life is Beautiful

コメント

コメントの記入