article今は2009年の年末。気づけば、21世紀の10%が終わろうとしてる。Roaderは私でございます)と、2006年にマイクロソフトに転職したことかな。組込みソフトウェア関連でこの10年間に起こったことで一番印象的なのが、ネットワーク(特にWebテクノロジー)の発展とインフラ化かな。昨今はやりのCloudもこの流れの一環でしょう。実は私は、20年前にすでにE-Mailやネットワーク共有、オブジェクト指向デスクトップが当たり前の会社で仕事をしていたので、90年代のPCやネットワーク技術の進歩は、後追い的なイメージを持ってたんだけど、2000年代に入ってやっと追い抜かれた感じで、今の技術の進歩は凄く面白い。Fieldersのコラムでも書いてるけど、組込み機器とネットワークの融合は今後どんどん進むと思う。それから、OSのプラットフォーム化。90年代後半では、自前で一から自社開発HW専用のOSやミドルウェアを開発するってのはまだまだ一般的だった気がするけど、今は一から専用OSやミドルウェア、基本部品を作るなんてコストが合わない時代になってきた。これからは組込み機器もPCが辿ったように、組込み向け汎用OSが当たり前のように使われていく時代になりそうだね。半導体技術の進化もすごい。UIが今、着々と実用化されてきている気がする。一方で、CPUの性能アップ、メモリサイズの巨大化、チップの低コスト化が進んだにもかかわらず、それ以上に要求は巨大化・複雑化してるので、組込み機器はHWリソース制約が厳しいから・・・という組込み機器特有の制約は相変わらず変わってない。これは組込みソフトウェアの宿命か。他には、開発環境の進化やプログラミング言語の発展、モデル駆動型開発の実用化も着々と進んでいる。2000年代になってすぐぐらいに、「そのうちプログラミング言語はXMLベースになる」、「プログラミング、デバッグ、レビュー、検証とか目的に応じたViewが用意されるようになる」って周りに言っていた時期があって、実際そうなってきてるので感慨深い。GUIを定義するXAMLや、Osloなんかも出てきたし。Toolkitも、その流れ。この辺りは、やはりCPU性能やメモリ量アップと、プラットフォーム化の恩恵だね。これから出てくるパラレル・コンカレントのランタイム拡張・プログラミング言語も凄く興味深いね。はじめは何故関数型?と思っていたんだけど、並行性を記述するにはデータフローが適していて、関数型はそれを自然に表せるとは・・・。UML)のアクション記述言語もデータフローをベースにしたモデリング言語で、あの時、関数型プログラミング言語との親和性に気づいていれば、私も新しいプログラミング言語を世に出せたなぁ、なんて。以上、徒然なるままに書いてまいりましたが、この10年間、つらい時期もいっときありました。非常にエキサイティングな10年間でした。何かと暗い話題も多い昨今ですが、また次の10年、エキサイティングであることを祈って、来年も、よろしくお願いします。次の10年はロボットがブレークしそうな気がする・・・あ、そういえば、アメリカで今、2000年代を何て呼ぶか(80年代ならEighties(80's)、90年代ならNinties(90's)ってやつ)、なかなか決まらないらしい。Numbersなんてどうだろ...と、くだらないことを考えながら、年の瀬を迎える...。FeedbackTrademarks。