先日10/22に Windows 7が発売開始されました。

以下製品リンク。








Windows 7 Ultimate



Amazon.co.jp




Windows 7 Professional



Amazon.co.jp




Windows 7 Home Premium



Amazon.co.jp




Windows 7 Ultimate アップグレード



Amazon.co.jp




Windows 7 Professional アップグレード



Amazon.co.jp




Windows 7 Home Premium アップグレード



Amazon.co.jp




家電量販店では、発売のタイミングに行列を作る客が

いたそうだが、まだそんなことやってる人がいるのか

と思った。


ウィンドウズ7、発売開始 深夜の電器店に人の列


http://sankei.jp.msn.com/release/tech/091022/tch0910220050000-n1.htm




1995年11月とはもう状況が変化していると思う。


機能がそんなに劇的に変化したとは思えません。




たぶん、もうOSのリニューアルなんて必要ないと思っている


人は少なくないはず。XPで十分とか。




実際には、私のようにIT技術者として、Windowsの機能の


発展をウォッチしてきて、実務でもその差異を意識して


きた人から見れば、さまざまな”変化”


(進化とはとても呼びがたい。)というものがあり、それが


もたらすメリットもあるのですが、大方の人にとっては、


それは些細なことすぎてメリットとしてとらえられるには


程遠いような話です。


自動車がモデルチェンジやマイナーチェンジを繰り返して


いても、案外「初代がよかった。」っていうような意見が


あるのと同じです。




タッチパネルが使えるようになったらしいとありますが、


すでに、OSの機能ではなく、H/WレベルでWindows


向けパソコンでも、企業内システムではタッチパネルは


至るところで採用されていて、全然目新しい話では


ありません。


例えば、公共施設の利用者向けの操作端末や、


単純操作を繰り返す作業労働者向けの画面、


利用者が主として高齢者を想定したようなシステムでは、


以前から、マウスとキーボードを使ってPCを操作すること


の煩わしさが意識されてきました。そのことに対する


ソリューションはもう何年も前から解決されてきたこと。



今さら話題にするまでもありません。






-----








ぼくは95年当時はパソコンに全く興味がなくて、兄がパソコン


を買うと聞いても、目的がよくわからなかった。


文書作成ならワープロ専用機で十分だし。




兄自身、当時卒論を”文豪”というNECのワープロ専用機で


書いていた。




ただその後、私はいつのまにかIT業界で働くようになり、


Windows上で動作するアプリケーションの設計・開発に従事


するようになると、Windowsとはそもそもどのような


内部アーキテクチャとなっているのかということが知識として


必要になってきた。








-----








そういう観点でOSを捉え、かつその進歩を振り返ると、


95年というのはとてもエポックメイキングなことが起こった年


だったんだなと思う。




まず、あのとき、初めて PC/AT互換機で 32Bit OSを動かす


ことが可能となり、かつその上で32Bitアプリケーションの


開発と実行が可能となった。


そして、この"Intel系CPU + Windows"という組み合わせの


PCが市場シェアに占める割合が独占的なものとなり、


今現在の”H/Wのコモディティ化”の土台になったということ


ができる。








Intelの存在は、どのH/Wベンダーにとっても無視できない


存在になり、自社で独自技術を持って、商品開発を行って


きたメーカーですら、CPUの調達先という位置づけとして


(PC以外でも)見なさざるを得なくなってきた。






以前はモトローラ系のCPUを自社で独自に開発していた


アップルは、PC分野では、OSより上位のソフトウェアの


レベルでWindowsとの差異化を図るように戦略転換し、


IntelのCPUを搭載するようになった。




おそらく今後もデザイン分野では、どこにも真似のできない


製品を世に送り出し、ある程度のシェアは確保し続ける


だろうが、CPUは普通のパソコンと変わらない。








HPは、自社製もしくは日立等にOEM供与していたUnixの


ワークステーション/サーバに搭載しているPA-RISC系の


CPUを搭載したマシンの今後の開発ロードマップを


縮小傾向に転換し、代わりにIntel Itaniumプロセッサを


搭載する機種の市場投入に力点をと移すようになってきた。




これらの製品群は企業の基幹システムで多く使用されて


いて、その移行には多大なコストが求められる。




Intel ItaniumはデータをByte列へ格納する際の方法


(いわゆる”バイトオーダー”)の違いも吸収できる


ようなアーキテクチャと異なっており、


PA-RISCはBig Endianであるのに対し、


Intel Itaniumは Bi-Endian、つまり、HP-UXを動作させる


場合には、Big-Endian、


Linux(x64)や、Windows Serverを動作させる場合は、


Little Endianで動作するように設計されている。




よって、PA-RISCから、Intel Itaniumへの移行の際も、


バイトオーダーの変更はある程度作業負荷を軽減させる


ような考慮がなされている。




ただし、実際には実行バイナリは、さまざまなライブラリの


挙動がすべて両プラットフォーム間での互換性を保証する


までのレベルではないため、リコンパイルするのが無難で


あると思う。






いずれにしても


このように、95年のWindows 95のリリースとその後の


Intel, Microsoftの協調関係とそれによって成し遂げられた


CPU, OSの寡占状態の形成はさまざまな変化をもたらす


きっかけを作る基礎となった。








そして、キャラクタベースの操作が中心で、一部の


コンピュータGeekにしか触れないものだったパソコンは


直観的な操作で誰にでも扱えるようになった。


CUIのインターフェースは、OSの内部アクセスの一部機能


という位置づけに変わり、"Windowsサブシステム"を


OSの中心に据えるカーネル構造に作り直された。




このカーネルの構造は今回発売されたWindows 7でも基本的


には同じまま。




Windows95以降に発売されたMicrosoftのPC向け/Server向け


のOSの一貫した設計構造だ。




実際には、1995年時点では、Windows 95 と並行して、より堅牢性


の高いWindows NT 4.0が開発中であり、両者は、GUIは同様の


ものであるものの、若干アーキテクチャに違いがあった。


(プロセス空間の明確な完全分離など)




安定性に問題のあった Windows 95は、その後、後継OSとして


Windows 98, Windows Me が開発されたが、Meを最後として


その系統の後継OSは作られず、もともとはワークステーション・


サーバー向けのOSでUnixのアーキテクチャを多数取り入れた


Windows NT系のOSも並行して開発され、Windows NT 3.51, 4.0


がリリースされた後、Windows 2000が作られた。


その後発売された、PC向けのOSである、XP, Vista, 7 と


サーバー向けのOSである Windows Server 2003, 2008


はいずれもWindows 2000がベースとして改良・機能追加してきた


もので大きなアーキテクチャの変更はない。







だから、95年はあれだけ盛り上がる意味のあるイベントで


あり、今年はそれほど意味はない。




ただし、今回のWindows 7は、64Bit OSの普及の契機


になることは事実だが。








-----








開発者として、私がWindows のアーキテクチャを学ぶのに


参考にしたバイブル的な本が




"Advanced Windows" という本だった。




ADVANCED WINDOWS/Jeffrey Richter






価格はよく覚えていないが、当時9000円くらいしたような気


がする。




本の厚さが10cm弱くらいあり、初心者には1ページ目から


ちんぷんかんぷんな内容なのだけど、当時新人だった


私は会社の同僚から「これがすごい参考になる。」と聞いて、


買って読もうとしたが、いきなり挫折してしまった。




結局ちょっとずつ、勉強しながら1年ほどでだいたい読み切った


と思う。(もともと頭から読むような本でない。)




まあ、当時は著者のJeffrey Richterは私には神のような


存在でした。






今も、Windowsの機能拡張などに合わせて、改版されて


出版されていますが、私が読んでいたころとは異なり、


上下巻に分かれています。


(私が読んだのは3rd Edition。最新は5th Edition。)







Advanced Windows 第5版 上 (マイクロソフト公式解説書)/Jeffrey Richter



Amazon.co.jp






Advanced Windows 第5版 下 (マイクロソフト公式解説書)/Jeffrey Richter



Amazon.co.jp









あと、Advanced Windows と並んで、よく読んだのが、


"Inside Windows"


インサイド Microsoft Windows 第4版〈上〉 (マイクロソフト公式解説書)/ディビット ソロモン



Amazon.co.jp






インサイドMicrosoft Windows第4版〈下〉 (マイクロソフト公式解説書)/ディビット ソロモン



Amazon.co.jp












あとこれもよく参考にした。




プログラミングWindows第5版〈上〉Win32 APIを扱う開発者のための決定版! (Microsoft Programming Series)/チャールズ ペゾルド



Amazon.co.jp




プログラミングWindows第5版〈下〉Win32 APIを扱う開発者のための決定版! (Microsoft Programming Series)/チャールズ ペゾルド



Amazon.co.jp






そのほか、Windowsアプリケーションの開発っていうと、


"inside COM" とか、


http://www.amazon.com/Inside-Microsoft-Programming-Dale-Rogerson/dp/1572313498/




"inside DCOM" とか、


http://www.amazon.com/Inside-Microsoft-Programming-Dale-Rogerson/dp/1572313498/


も読んだけど、




こいつらはいずれも絶版みたいだ。


確かにCOMの時代は終わって今は .NETだし、APIをコールする


プログラムを書くこと自体も少なくなっているのかもしれない。








あとは、


アーキテクチャ徹底解説 Microsoft Windows2000〈上〉 (マイクロソフト公式解説書)




アーキテクチャ徹底解説 Microsoft Windows2000〈下〉 (マイクロソフト公式解説書)




なんかも読んだ。




とにかく、2002年くらいまでは、こういう本を読んでないと、


こなせないような仕事も結構あったから、大枚はたいて


本を買って、勉強した。


「たとえば、メモリ上に大量のデータを動的に展開して、ソートしたうえで、


 ファイルマッピングを使って、他プロセスにデータを渡したうえで、


 最終的にOracleにデータを格納。」とか、




「常駐のWindowsサービスがソケット通信を使って、PBXの電話の着信を


 監視していて、着信と同時に、着信番号を取得し、番号から


 顧客データベースを照会して、電話オペレータが受話器を取ると


 同時に、そのオペレータのPC上に顧客の情報を表示する。」




っていうような、アプリケーション要件が結構あったわけで、


カーネルAPIの知識がないととてもこなせない仕事を


やってました。




今はこんな本読む気も起きません。


このころ覚えたことで概念的なことはほとんど忘れてませんが。








-----








今はプログラミング自体が非常に安易に取り組めるものになったので、


その技術が持つ付加価値みたいなものも相対的に下がってきた。




付加価値が下がるっていうことは、その対価も下がるので、


給料も下がりこそすれ上がりはしない。




だから、こんな本を読んで苦労して勉強するより、生半可なITスキル


だけ身につけて、「ITコンサルタント」なんて名乗って、まあ実態は


システム開発の上流工程をやるって感じが、楽に生きる道なんだ


ろうなとは思う。




NTTデータとか、野村総研とかが大学生の人気企業ランキングで


上位に来るのもそういう情報があるからだろう。


あと、BPRがやりたいとかって希望に燃えてる大学生とか新人とか


もよく目にする。




「かんたんに新人がBPR出来るくらいなら、もうとっくにやってる。」


と思うんだけど、新入社員とかで会うやつらはそういう脳天気な


夢物語を平気で言ってたりする。




まあ、ポテンシャルのある奴にはやらせてみて、一回くらい失敗


させて、それで厳しさを身をもって体験させるというくらい懐の


大きい会社もあるのかもしれないけど、SIerは基本的に客あって


の商売。


客はそんなこと知ったこっちゃない。


まあ、若い人25,6歳くらいまでの人は、とにかく実績が残せる


ようになるまで、我慢しなきゃだめなんだよね。










ITが社会で果たす役割も以前とは比べものにならないほど、


大きくなり、その仕組み作りから運営に至るまで、全体を


コーディネートできる人材が必要なことは事実。




まあ、でも、ちょっとは、プログラマーの仕事も評価すべきでは


と思うこともある。








私立病院の経営者や診療科ごとの部長クラスは悠々自適と


していて、高い給与で待遇されて、看護師や介護福祉士が


軽んぜられるのと同じことのようはIT業界でも起こっている。




IT業界は、医療の世界とは違って、この問題にオフショアで


対処した。




ようは自分たちがやりたくないし、評価もされない仕事は、


中国人やインド人やベトナム人などに押し付けたわけだ。


今、外国人が全く参画しないPJってかなり少なくなって


いると思う。






-----






ピーター・ドラッカーは著書 "Managing for the Future" (未来企業)


の中で、このように書いている。




"In making and moving things … In knowledege work and service work, partnership with the responsible worker is the only way."


「知識労働やサービスをとおして、何かを想像したり、動かしたり


 するには、責任ある働き手と力を合わせるのが、ただ一つの


 方法である。」





未来企業―生き残る組織の条件







個人は組織に属して働くのであれば、役割や地位を与えられた


上で、仕事を行うことによってのみ、尊厳や達成感を得られる。




個人の尊厳を無視するような制度を作ったり、仕組みで縛ったり、


そのような考えのマネージャーによる管理体制のもとでは、


好ましい成果を生むことは難しいだろうなと思う。




ドラッカーの著作は日本語でほとんど読めます。