プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

Nintendo DS開発キット希望


Nintendo DSが正式発表された。
ぼく的にはPSPよりも魅力的。


それはGBAがいろいろな意味で魅力的だから。
バッテリーの持ちもよく、ソフトに面白い物が多いのも魅力だけど、プログラム開発環境として、とてもよくできている。
もちろん開発環境は全て非公式で、ユーザが自力で解析したものだけど、下手なマイコン開発環境よりも遙かに優れている。
GNUのクロスコンパイラ・デバッガ等の開発環境、優秀なエミュレータ、転送用のケーブル等が全てネットで手に入る。
しかもケーブル以外は全てフリー。


このようなすばらしい環境を提供してくれた作者の方々に、この場を借りてお礼を申し上げたい。(_O_)
ありがとうございます。楽しませてもらってます。
というわけで、Nintendo DSでもこのような環境が用意されることを願っておりますです。^^;;


さて、GBAでプログラミングをしていて思うのは、その素直なハードウェア。
GBAのハードウェアはとても素直にできていて、理解するのも他の同じようなものに比べて楽。
ネットや書籍で情報が公開されていたこともあるけど、ビデオ・タイマ・割り込みなどの扱うプログラムを作るのに一週間もかからなかった。
たいていこの手のプログラムを作る時はハードウェア仕様も分かりづらく、いろいろと試行錯誤して使い方を学んでいくことが多い。
しかしこいつは素直な作りなので、割とすんなりと理解できる。
マイコンや小さなコンピュータのプログラムを作っている人にはお勧めです。


ここからは想像なのだが、GBAには任天堂からゲーム開発者に対する優しさが感じられる。
機能アップしていくにつれてハードウェアやソフトウェアはどんどん複雑化し、開発者の苦労が増えていくことが多い。
GBに比べて遙かに性能がアップしているはずのGBA。しかし、開発者は純粋に自分のアプリケーション部分に専念することができる。
(もちろん携帯ゲームなので、性能面などいろいろと苦労はあると思うけどね)


数年前に比べてPCやその周辺機器はいろいろなことができるようになった。
ハード・ソフト共に複雑化していくのは、やむを得ないところもあるだろう。
でも、その新しい機能を使うためのソフトウェアは、必ずしもよく設計できているとは言えない気がする。
中には設計者の自己満足としか思えないような仕様のソフトウェアもある。


ある機能を実現するためのソフトウェアには、対象となるハードウェアに対するバランスというものがあると思う。
何でもできるプログラムは便利かもしれないが、実際には一生使われないサブルーチンが増えるだけ。
対象となるハードウェアの性能に合わせて作られていないソフトウェアは、実際の動作において無駄な動きをしていることが多い。
そのへんを見極めてデザインするのが優秀なプログラマなんじゃないかな。


でも現実的にはソフトウェアはどんどん大きくなり、ハードディスクの使用量もうなぎのぼり。
スタンダードなPCでは不足で、さらなるCPUパワーが必要とされていく。
もちろん必要なメモリ量もどんどん増大。
最終的にはPCを買い換えることになる。
まさにウィンテルの思うつぼ。


もちろんGBAとPCじゃ比較にムリがあるとは思うよ。
でもさ。膨大なDLL/EXE/SYSなんかが入ってるけど、あれってどこまで使われてるの?
実際にメモリ上にロードされた後も、その中に入っているルーチンはどれだけ使われてる?
CPUパワーにまかせて、冗長な処理してたりしない?
最近のPCはアクセス速度も速いからって、やたらとハードディスク使ってないか?


けど、この方がPC業界全体も発展するんだろうな。
開発の人も新機能やソフト作るのに大変だろうし。
こういうのって、すでに時代錯誤なのだろうか。
と思うおじさんであった。