プログラミング環境の乗り換えは簡単か

John Carrol 2005年05月13日 19時06分

  • このエントリーをはてなブックマークに追加

 先日のブログのなかで、プログラミングの環境を変えること(たとえば、UnixからWindowsへ)は本質的に難しいと、私は記した。これに対して、一部の読者から、プログラミングというものは普遍的なものであり、ある程度のスキルをもつプログラマだったら、道路を渡るのと同じくらい簡単に別の開発環境に移行できるはずだという意見が寄せられた。それができないのだったらそのプログラマは無能であり、すぐクビにすべきだ(と言ってきた人も実際にいる)。

 これは馬鹿げた意見だ。オープンソース陣営とMicrosoft陣営のどちらに属していようが、ある程度の期間プログラミングをしたことのある人ならすぐに分かるはずだ。だが、人はそれぞれ自分の色眼鏡を通してしか物事を見ることができない。そのため、なぜ上述のような意見が馬鹿げているのかを理解することは難しいかもしれない。このような場合に物事を分かりやすく整理する一番の方法は、例え話を使うことだ。

 Richard Stallmanが書いた記事に対して、私がケーキの例え話を使いながら反論したことがある。そのとき、ある人物が、例え話は頭を使おうとしない怠け者が利用するプレゼンテーションの方法であって、Richard Stallmanほどの人間は滅多に例え話をしないと言った。それはそれで結構だ。でも、例え話を使うと、話の枠組みが明確になって、同じことを別の角度から見られるようになり、問題をよりよく理解するうえで役に立つと私は考える。

 ミュージシャンについて考えてみよう。例えば、Joe Keyboardというピアノの達人がいたとする。彼はピアノを弾くのが非常に上手く、演奏の腕が認められて彼のアルバムはたくさん売れるようになった。でも彼の友人の中に、ギターを演奏した方が熱狂的なファンがつきやすいので、ギターに乗り換えたほうが良いと勧める者がいたとしよう。

 確かに、Joe Keyboardには音楽の才能がある。そして、楽譜を読み書きする能力は、ピアノ演奏でもギター演奏でも求められる。だからといって、Joeがライブハウスに行って突然Eddie Van Halenのようにギターを弾きまくることができるのかというと、そういうわけではない。ピアノと同じで、ギターを上手に弾けるようになるまでには時間がかかる。彼はピアノをマスターすることを選んでその達人になったわけである。いきなりギターも同じように上手に弾けるようになるとは限らない。

 専門能力を身に付けるには時間がかかる。Linuxの専門家だからといって、同時にWindowsの専門家になれるわけではない。その逆もしかりだ。それがこの業界の現実だ。ある程度の腕前になりたいと思ったら、専門領域に特化しなければならない。そういうことから考えると、Windowsの世界からLinuxの世界に移ろうとするのはとても難しいのだ。

 というわけで、Linuxの世界の連中がWindowsの技術をもっと取り入れようとしない限り、LinuxはWindowsを脅かす存在にはならないと私は今でも思う。「QtとGTKはクロスプラットフォームだ」と言っているだけではどうにもならない。Windowsの開発者はQtもGTKも(その意味ではJavaも)使わないのだから、QtとGTKでWindowsプログラムを書けると喜んでいても意味がない。一方で、Windows開発者は.NETだったら使っている。だから、競合するAPIの利点を自慢するよりも、彼らの使う技術に歩み寄る姿勢を見せる方が、彼らを引きつけるやすいように見える。

 これはあくまでも私個人の意見だ。

  • このエントリーをはてなブックマークに追加
関連キーワード
経営

関連ホワイトペーパー

SpecialPR