クリップボード
最近、WindowsXP上でiアプリとSアプリとWindowsMobileアプリと
Windowsアプリを開発しながら、Eclipse+Tomcatで
Javaサーバーサイドな開発をしながら、Mac起動してVNC経由で
WinXPのデュアルモニターの片側で表示させてiPhoneアプリの開発しながら
VMwarePlayer上でUbuntuやCentOS起動してとかいうのが日常になってます

一言で言うと、最近WindowsとMac OS XとLinuxを毎日同時に使ってます

・・・で、PC歴は長いんですが、これまでは意図的にMac OSは避けて通ってきてまして

(※)なんでかって言うと、WindowsとMacのソフト両方作らされて
しかもそれぞれ過去のOSとの互換性なんて求められるとシャレにならなかったので

Mac OS触ったの初めてだったんですが、過去のMac OSを触った事がない状態で
いきなりMac OS Xを触って衝撃を受けたのが
「あれ?これってGNOMEとかKDEみたいなLinuxデスクトップみたい?
コマンドレベルもUNIXっていうかBSDだし」
というのが第一印象でした
(よくよく使ってみると、やっぱりMacはMacでWindowsとはもちろん
Linuxデスクトップとも全然違ったのですが、第一印象は
Linuxに近いんじゃないか?と錯覚しました)

・・・で、それがきっかけで最初は確認の為に
Linuxデスクトップも触ってみようと・・・どうせなら
最近流行りらしいUbuntuを使ってみようという事で
VMWareイメージも配布されているUbuntuを使ってみました

・・・衝撃的でした、Ubuntu・・・
CentOS(RedHat Linux/Fedra Core互換)上のGNOMEデスクトップなどは
たまに触ってて知ってたつもりで、Ubuntuも見た目的には
他と同じGNOMEデスクトップなので、単純にGNOMEデスクトップと
Mac OS Xの操作感の比較をちょっとしようと思っただけだったんですが・・・

・・・Mac OS Xの印象が吹っ飛んで消える位の衝撃をUbuntuから受けました・・・

Mac OS Xでも、Windowsネットワークの共有フォルダが直接見えるとか
けっこう好印象だったんですが、Ubuntuの衝撃はそんなもんではないというか
かな漢字変換の操作感覚などの細かい操作感を含めて
「Windowsそのまんま」であまりにも使いやすくて驚きました
PCで何をするのかによるんですが、Webブラウザとメールが中心で
Officeソフトも使って、あとフリーソフトでちょこちょこって使い方とかなら
Windows使ってる人がUbuntuにいきなり乗り換えても
全く違和感が無いんじゃないか?って位で衝撃的でした・・・

同世代のLinuxでもCentOSというか、一般的なので言うと
Fedra CoreとかRedHatとかのデスクトップも
「見た目上はGNOMEでUbuntuと一緒にしか見えない」のですが
「ちょっと触っただけでも、やっぱりLinuxで難しそう/知識要りそう」って
感じになってしまいます

それが見た目がそっくり同じUbuntuでは、操作感や細かい使い方が
Windows並みに簡単というか、同じLinuxに見えないほど簡単です
フリーソフトの入手のしやすさとか使いやすさとかを考えると
下手するとWindows以上な部分もあるかもしれません

・・・という感じで、今現在の流行りに乗ってというか、
流行りと関係なくというか、私もUbuntuに夢中だったりするのですが
ここでふと思ったのが
「Windows Vistaが大幅にコケてて、実際XPが販売終了になった今ですら
Vista→XPのダウングレード権行使が大半で、殆どのユーザーが
XPからVistaへの移行を様子見してる訳だけど、
例えばメインのOSをUbuntuとかMac OS Xに変えちゃって、
逆にVM Ware上とかでWindows XPを動かせればそれでもいいんじゃないか?」
とかの極論すら浮かんでくる感じです

(※)もちろん極論です。極論なんですが、そう思えてくるのも
間違いない所だったりするのが最近の情勢だと思います

Vistaの互換性の問題点の大きさもさることながら、
そもそも5〜10年前位から延々とやってる
「Windowsアプリケーションの.NET化」というのも
実はあんまり成功してない様な気がしてて、

(※)フリーソフトやソフトインストールするのに、
「.NET Frameworkが必要です。インストールしてください」ってソフトの率
そんなに高まってますか?
自分の場合も「それがユーザーの負担になるという敷居の高さから、
極力.NETは避けてる状態からまだ完全に脱却できてません」

.NETアプリケーションがあんまり普及してないって事は
実の所Win32API/MFCアプリケーションでいいって事になり、それは即ち
「〜WindowsXPで十分動く」って話になっちゃう訳です
つまり、Windowsソフトのプラットフォームとしては
Vistaや.NETみたいな新しい試みはあんまし普及しきってない訳で
「要するにWindowsXPのソフトが動けばいい」
っていうのがユーザーや開発ベンダーから見た状況な訳だったりします

(※)VistaでXPのソフトが「ほぼ完全に動く」んなら
普通にXP→Vistaに乗り換えるユーザーが大多数ってなったんでしょうけど、
現実には致命的なほど、互換性に問題があります
(率は小さいけど問題が大きい感じ?)
よく家庭ユースで、ゲームや日常ソフト使ってる視点から
「そんなことないよ、ほとんどのソフトがちゃんと動くよ」とかいう話も
見かけますが、とんでもない
家庭ユースで使うソフト程度なら「ビデオキャプチャー製品が動かない」とか
一部かもしれませんが、企業ユースのシステム開発されたソフトで
使ってる様な部分では、「どんなに小さい点が原因だろうが」
「互換性がなく、そもそも本質的にブロックされちゃってすり抜ける
手段がないので、変更のしようもない」って状況になり、
そのシステムが「自社開発なり外注開発で数百万〜数千万で買った」とか
「数千万〜数億で自社開発した」とかが影響を受けるとしたら
普通に考えてXP→Vistaへの移行なんてできる訳もなく、
ぶっちゃけてまさに今回そこに直撃してるから、未だに移行率が悲惨な状況な訳です
(技術的な一例として、XPまではできていた
「サービスとWindowsデスクトップの対話」という機能が、セキュリティ観点から
Vistaでは完全にブロックされています。Webを経由して特殊なソフトと
連携させてる様なシステムを作っていたケースでは100%動かず、
何をどう設定しても動かなくなってしまったとかがあります。他もいろいろ・・・)

・・・かといって、新しいOSを否定する訳でもなく、そうすると逆に
Mac OS XやLinuxデスクトップが、「物好きのオモチャ」とかではなくて
現実的な有望な選択肢として上がってくる気がします
(MacはWindowsなんかより格好いいし、Linuxに至っては
同程度の機能を誇るOSが基本無料ですし)

Linux/Mac OS Xで動くWindows API互換レイヤーのWineというのが
ちゃんと動いてくれればよりよかったのですが、現段階でもまだまだ
「動く」というレベルで「使える」というレベルには程遠く、
現実的な解としてはVMWare上でWindows XPを動かすなどになるかと思います

つい最近、IBMが各Linuxディストリビュータと組んで
「MicrosoftレスなデスクトップPCを10億台リリースする」とか
意気込んでますが、似たような話が過去に何回もあり
これまではことごとく失敗してきたケースと似てるのですが
今回(というか現段階)はちょっと過去と状況が違ってて、
「これまでと違って、Windowsユーザーが最新版の
Vistaへの移行を躊躇してるうちに、LinuxなりMac OS Xに移行させちゃう」
という手が現実的にアリなんじゃないかと思えたりします
(これまでは、そんな目論見しても、ユーザーには普通にスルーされて
Windowsの最新バージョン買われちゃってたのが、今回に限っては
Windowsユーザーが最新Windows=Vistaに移行してないというか渋ってるので)

Mac OS Xが、Macのマシンでしか動かないとかじゃなくて
普通のPCにインストールできちゃったりすると、それこそ
「山が動く」感じでOSのシェア20〜30%位持ってっちゃいそうな
気もするんですが、Mac本体が高額でも売れてる状況からすると
Macは現状の路線から外れる事はなさそうなので・・・

・・・とすると、仮に反Microsoftを考える場合に、一番乗っかりやすいのは
LinuxデスクトップとしてのUbuntuなんだろうと思います

・・・で、いずれにしてもそういった過渡期的な状況が想定されると
プログラマーとしては「じゃあWindowsでもMacでもLinuxでも動くソフトを
要求されるんだろうか?・・・」と頭が痛くなったりもするんですが、
ちょこっと確認した範囲だと

・Wine環境でWindowsアプリをLinuxやMac OSで動かす
→「動く」けど「使えるレベルじゃない」のでNG

・KDEのライブラリqtを使ったアプリや、GNOMEのライブラリGTK+を使った
アプリなら、LinuxだけじゃなくてWindowsやMacでも動くんじゃないか?
→仮に動くとしても、Windows上でCygwin動かすみたいに必要インストールが
面倒くさいし、そもそもLinux以外での動作はWindowsプログラムをWineで
動かす話の逆程度にしか見えなかった

・.NETアプリは?(Linuxとかにもmonoがあるし)
→互換性や動作の安定性の問題点は他と変わらない上に、
そもそも.NETアプリってWindows環境ですら、どの程度使われてるんだろう?
(今後の普及率は分からないので様子見?)

・Eclipse/SWTによるJavaアプリケーション
→これは、まだ確認してないんですが、確認前の状況で言うと
SWTアプリケーションそのものであるEclipse自体の各プラットフォームでの
動作の安定性を考えても一番可能性が高い?
 →でも、フリーソフトとか「ちょっと手の込んだソフト」って
  そのOS固有の機能を使うケースが多いので、結局3プラットフォーム
  共通で動くアプリなんて現実的じゃない?

・・・まあ、時間との勝負というか
マイクロソフトがVistaでコケてるうちに、なんとかできるか?
時間切れでやっぱりマイクロソフトの覇権がそのままなのか?ってのが
今後数年間の見物なのかもしれません

Vistaの次のWindow7については、当初噂のあった
「Vistaは無かった事にして、MinWinという軽量カーネルベースで
XPなどとの互換性も高めの本命Windowsが早々に出る」って話は
影も形もなくなって、
実際のWindows7は「あくまでVistaベース、但しXPなど過去バージョンとの
互換レイヤーを実装する」みたいな話みたいなので
互換性をどうやって戻すか?(あるいは戻せないか?)も
ポイントの一つだと思います

マイクロソフトが次期Windows7でこれに成功して、流れを一気に
引き戻すのに成功しちゃう前迄に、LinuxなりMac OS Xが
シェアを奪えなければこのまま、シェアを奪っちゃうか
マイクロソフトが次期Windowsでも互換性を回復できないケースにどうなるかは
その時にならないと分からないって感じなのですが、
いずれにしても思うのが

「もう、メインのOSが何であれ、VMWareとかの仮想ソフトで
仮想OSとしてWindowsXPも動かしちゃえば、新しいOSはなんでも
いいんじゃないか?」って気がしつつあります