プログラマyasuhoの隠れ家

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

そのソフトウェア、ストレスなく使えていますか?

 生産コストを抑えるために、組み込みシステムのエンジニアはできるだけスピードの遅いMPUや小さなメモリ、遅いメモリを駆使して、何とか要求される性能を出そうと苦労しているのです。

第9回 組み込みソフトに要求されるものとは − @IT MONOist


一般に組み込みソフトウェアは限られたリソース内で動作することを求められるイメージがあります。しかし、それはPCの世界には当てはまらないのでしょうか!?


ご存じのように、近年におけるPCと関連技術の性能向上には目を見張るものがあります。CPUは一昔前のスーパーコンピュータ並みの処理性能を持ち、メモリもGBオーダーで積むことが普通になってきました。ハードディスクはまもなくTBに達するでしょう。ネットワークも10Mbpsだとちょっと遅いと言われてしまう時代です。


そんな環境で作られるソフトウェアは、パワフルな資源を生かし、性能や使用メモリよりも機能に重点が置かれた設計をされることが多いです。インストールメディアはDVDであることも少なくありません。さらに最近はスクリプト言語や、CPUですら仮想計算機上で動くソフトウェア*1も一般的になってきました。


そういったPCのソフトウェアによっては提供される機能に対してのパフォーマンスに疑問を感じるものが多くあります。起動に時間がかかるのはもちろん、処理がもたつく、ひどいのになると文字入力のレスポンスにもストレスを感じるものもあります。


機能や拡張性などもソフトウェアには大切なことです。しかしよいソフトウェアには適度な性能が必要だと私は考えます。それはプログラムが提供する機能と速度のバランスです。ちょっと反応が遅くても、得られる機能が納得いくものならいいのです。


コンピュータや周辺のインフラの性能は年々向上していきます。PCの性能が上がったらパフォーマンスは問題にならなくなるかもしれません。でも私はプログラムを作成する時点での標準的なマシンで快適になるよう設計されるべきだと考えます。


ソフトを長い間使うのは他ならぬ利用者です。そのためには多少でもプログラマは苦労してもいいんじゃないでしょうか。ちょっとした工夫でも、けっこう速くなったりするものです。


ちょっと時代錯誤かな。でも仕方ないの。おじさんプログラマだから。:)

*1:RubyPerlJavaC#など