Back to Home
T o p
日経MACレポート
日経MACレポート

ホット・ニュース
ホット・ニュース

バイヤーズ・ガイド
バイヤーズ・ガイド

インターネット広場
インターネット広場

日経MACレポート
日経MACレポート

記者の目
記者の目

日経MACから
日経MACから


Nikkei MAC CD目次
Nikkei MAC CD目次

NIKKEIMAC.COM
NIKKEIMAC.COM

日経BP社 BizTech
日経BP社 BizTech

良いプログラマーは
とても注意深くコードを書くんだ

[Monday, January 19, 1998 シリコンバレー・オフィス発、山田 剛良=日経MAC]

A good programmer is very careful when he write codes.

●開発中で最もチャレンジングなことはなんでしたか

Chuck 1つは信頼性の確保だ。サーバー・ソフトは何よりもまず安定していなければならない。でないとだれも使ってくれないからね。AppleはTCP/IPに関する十分なドキュメントを用意していなかったし,原因不明のメモリー・リーク*7や未知のバグがクラッシュの原因になった。

WebSTARになってからの課題はパフォーマンスだった。MacHTTPはシェアウエアだったからパフォーマンスは二の次でよかった。だがWebSTARはパッケージ・ソフトだ。十分なパフォーマンスを提供する必要があった。そのためにThread Manager周りを中心としてパフォーマンスを上げるチューニングを施した。WebSTAR 1.0はMacHTTPより3倍速くした。さらにバージョン1.3ではデータ・キャッシングの技術を使って,さらにものすごく速くできた。

もう1つの課題は適切な機能向上を順次つけ加えていくことだった。人々がWebサーバーに要求する機能はたくさんあるし複雑だ。その中でどの機能をつけ加えるか取捨選択する必要がある。僕は成功するディベロッパーとは,単に良いプログラマーだけでは不十分で,良いビジネスマンでもなければならないと思う。ユーザーにとってより良い,より必要な機能とは何かを理解し,その機能を追加することが,製品の成功につながる。製品の質に気を配れること。ディティールにこだわれるかどうかが大事。製品を洗練させないといけないからだ。

●WebSTARのように「落ちない」ソフトを作るには,どうしたらよいのでしょうか?

Chuck まずは良いプログラマーでなくちゃいけない。良いプログラマーは注意深くコードを書く。いろんな状態を想定する。エラーが起こったときにどうするか,メモリーの消費量をどう抑えるかなどなど。たいていのプログラマーはうまく行った時のことしか考えない。僕が初めて勤めた会社の仕事は,軍事衛星制御用のプログラム開発だった。一歩間違えれば人が死んでしまうソフトだったから,注意深くソフトを書く習慣が染み付いているんだ。

注意深く書かれたソフトは,そもそもテストしなくても大きな問題を起こさない。この状態からテストを行うのが大事なんだ。そうすれば非常に特殊なケースできちんと動くかどうかまで試せるからだ。βテスターたちに何をテストしてもらうかを決めるのも重要だ。いろいろなケースを想定して,それぞれで予想通り動作するか試してもらう。チェック・リストを作って,「これは動いた」「これはダメ」とやってもらわないとフィードバックできない。


*7 メモリー・リークは,メモリー領域の管理情報が実際の状態と異なってしまうバグ。解放されたはずのメモリー領域が実は使われていた場合,そこに別のプロセスがアクセスすると当然,システムエラーを引き起こす。


記事目次前のページ次のページ
この記事は、日経MAC98年2月号(98年1月18日発行)掲載記事の抄録です。

■

日経BP社 Copyright 1993-1998 Nikkei Business Publications, Inc. All Rights Reserved.
This page was last updated on Wed, Apr 15, 1998 at 11:23:18 PM.
Site Developed by Rei Watanabe