続々移行するそのワケとは

プログラマーを引き付けるMac OS Xの魅力

林信行

2008/5/15

いまや、Mac一筋という熱狂的なユーザーだけでなく、「何か面白いことをしたい」と考えるエンジニアもMac OS Xを利用し始めている。いったいなぜなのか、その理由を探ってみよう(編集部)

 広まるスターエンジニアのMac移行

 最近、Macintoshを使う著名エンジニアをよく見掛けるようになった。

 代表的なところだけでも、シックス・アパートの元CTOの平田大治さん(現News2U社取締役)や米マイクロソフトでWindows 98やInternet Explorerの開発に中心的な役割を果たした中島聡さん(現UIEvolution社チーフアーキテクト)、Lingrなどの開発で知られる江島健太郎さん(現インフォテリアUSA社長)、ニコニコ動画の技術コンセプト設計などを行った清水亮さん(現ユビキタスエンターテイメント社CEO)などが思い浮かぶ。

 この傾向は、シリコンバレーに行くとさらに顕著だ。シックス・アパートの創業者のトロット夫婦も熱心なMacユーザーなら、ウィキディアを作ったジミー・ウェールズもMacユーザー、Ruby on Railsを作ったデビッド・ハインマイアー・ハンソンや彼の所属する37Signalsのほかの重役もMacユーザー。2人のグーグル創業者、ラリー・ペイジとサーゲイ・ブリンも、Macを使っているかは分からないが熱心なアップルファンで、アップル関連のイベントはよくのぞきにくる。実際、グーグルの会議室には、MacとThinkPadの電源アダプターが常備されているくらいだ。

 2002年には、ティム・オライリーが、先進的なことを試す面白い開発者が次々とMac OS Xに移行していることを発見し、「Macの開発者はアルファギークだ」と語ったが、それ以降も、多くのスタープログラマーらが、自身のブログを通して、先鋭的なソフトエンジニアがなぜMac OS Xに移行すべきかを取り上げて話題を呼んでいる。

画面1
画面1 Mac OS Xのデスクトップ

 スタープログラマーが、次々とMac移行を進めている理由はいくつかある。

 Mac人気を支える7つの理由

 1つ目は、Mac OS Xが本格的なUNIX環境であり、しかも、十分大きなマーケットを持っていること。これまでWindowsと、Windows上でUNIX環境を実現するソフトウェア、Cygwinなどの組み合わせで開発やテストを行っていた人々が、どうせならネイティブのUNIX環境の方がいいとMac OS Xに目を向け始めた。

 2つ目はマイクロソフト純正のOfficeが動くこと。プログラマーたちには、LinuxやフリーUNIXを利用するというオプションもあるはずだ。それでもWindows+Cygwinといった組み合わせを使っていたのは、Microsoft Officeを使う必要があったからだ。Mac OS XならばUNIX環境と正式なOfficeが同時に利用できる。

 3つ目は、何か面白い変化を求めて。Windows Vistaの完成が遅れ、いざ出てみても話題性に乏しかったことを受け、何か新しいことにチャレンジしたいと感じていたエンジニアたちがMac OS Xに飛び付いた。

 4つ目は、インテルCPUの採用だ。2006年、アップルはMacのCPUをインテル製に切り替えた。それに合わせてアップルは、MacにWindowsをインストールするための機能「BootCamp」を発表。またParallelsやVMwareといった優れた仮想化ソフト製品も登場し、必要であればMac OS X上でWindowsやLinuxを動かすことも可能になった。

 5つ目として、純粋にMac OS XのOSとしての機能に魅せられる人々も多い。アンチエイリアスの掛かった滑らかな線で描き出される文字は、「嫌い」という人も少なからずいるが、多くのエンジニアは高く評価している。また、冒頭に挙げた著名エンジニアの間でもとりわけ評判がいいのが、2003年リリースのMac OS X「Panther」から採用されたウィンドウ切り替え機能「Expose」だ。

画面2
画面2 Mac OS Xのウィンドウ切り替え機能、「Expose」。開いているすべてのウィンドウを画面に収まるように縮小して並べてしまう「すべてのウィンドウ」モードや、作業中のアプリケーションのウィンドウだけを並べるモード、ウィンドウを一時的に画面の外へ追いやってしまうデスクトップモードなどがある。最新OSのLeopardでは、これに加え、作業環境を切り替えるSpaces機能も加わっている(画像をクリックすると拡大します)

 6つ目は、見栄えがいいこと。製品が工業デザインとして優れていることに加え、Mac OS X専用のプレゼンテーションソフト「Keynote」を使うと、少ない労力で見栄えのするプレゼンテーションが行える。最近ではエンジニアでも、さまざまな場でプレゼンテーションを行う機会が増えてきている。ほかの人に見劣りしないプレゼンテーションをしようとするエンジニアの多くが、自分が支持する企業のシールを張ったMacBookとKeynoteの組み合わせを愛用している。

 7つ目は、Mac OS Xの開発環境が非常に充実していることだ。Mac OS Xでは、Java開発環境としておなじみの「Eclipse」も動くが、それ加えて、アプリケーションを稼働させながらコードを変更できる「Fix and Continue」や、リンクを不要にする「Zero Link」、分散ビルドといった機能を持つ先進的な開発環境「Xcode」がアップルから無料で提供されている。また、Ruby、Pythonといったスクリプト言語から先進的なフレームワークにアクセスし、ネイティブアプリケーションを開発できる技術も提供するなど、開発者として興味深い話題も多い。

画面3
画面3 Mac OS Xに標準で付いてくる無料のIDE(統合開発環境)、Xcode 3.0の画面。直したコードを再リンクなしで実行できるZero Linkなど、先進的な機能をいち早く採用。インテル用32ビット/64ビットのコード、PowerPC用32ビット/64ビットのコードを同時に出力し、1つのバイナリファイル(FATバイナリ)にまとめることができる。ちなみにMacの開発もiPhoneの開発も、このXcodeで行う(画像をクリックすると拡大します)

 現在、Macを使っている開発者の中には1980年代からMac一筋という熱狂的なMacユーザーも少なからずいるが、実はほとんどのユーザーは、2001年に新世代OSのMac OS XがリリースされてからMacに切り替えたエンジニアだ。

関連記事:
リンク Webアプリ開発環境としてのSafariを知ってますか?
http://www.atmarkit.co.jp/fjava/column/andoh/andoh40.html
リンク Mac OS Xで動かす軽量プログラミング言語
http://www.atmarkit.co.jp/fcoding/articles/macll/maclla.html
リンク Mac OS XでAMP構築
http://www.atmarkit.co.jp/fcoding/articles/macamp/macampa.html

 Mac OS X=Mac OS+ネクストの技術

 ここで簡単にMac OS XがどんなOSなのかを、その背景も含めて紹介しよう。

 MacとWindowsの最大の違いは、アップルが1社で、パソコン本体だけでなく、OSや一部のアプリケーションまで開発していることだ。

 1997年ごろまでの数年間、他社が互換機を出していた時代もあるが、いまはアップルが出しているハードウェアでの動作しか保証されていない。このため、数千社がハードウェアを作るWindowsと比べると、ハードウェアの製品バリエーションが限られているが、その代わり製品のハードウェア構成も限られており、互換性問題が起きにくい。

 また、Macが採用しているGPUに最適化したグラフィック描画エンジン(Quartz)を搭載したり、液晶ディスプレイの経年劣化に合わせた色調整機能など、ハードウェアとOSの両側からの調整で実現している機能も多い。

 Macのデビューは1984年で、このときはハードウェアとOSの開発がまったく同時に行われた。このとき採用された旧Mac OSは、数度のメジャーアップデートやCPU変更を経て、15年近くアップデートを重ねてきたが、OS基盤が古く、メモリ保護やプリエンプティブマルチタスクといった機能が実現できず、開発が行き詰まった。

 そんなアップルは1996年末、同社の創業者、スティーブ・ジョブズが創業したコンピューターメーカのネクストを買収する。

 Mac OS Xは、このネクストのOS「OPENSTEP」を基盤に、旧Mac OSの開発者の移行を促すフレームワーク「Carbon」を加え、新世代のルック&フィール(ユーザーインターフェイス)をかぶせる形で開発された。

 Carbonは、旧Mac OSで頻用されるAPIの8割を新たに書き直したもの。このため、旧OS用のソースコードをわずかに手直しするだけで、Mac OS X用に作り替えることができる。これは裏を返せば、Mac OS Xの登場後にMacを使い始めた開発者には、あまり関係のないフレームワークといえる。

 新世代のMac開発者がMacに飛び付くのは、ネクスト社の技術をさらにブラシュアップしてできたMachカーネルやFreeBSD環境、そして「Cocoa」という先進のオブジェクト指向フレームワークに引かれてのことだ。

 
1/2

Index
プログラマーを引き付けるMac OS Xの魅力
Page1
広まるスターエンジニアのMac移行
Mac人気を支える7つの理由
Mac OS X=Mac OS+ネクストの技術
  Page2
世界最大のUNIXプラットフォームに
開発プラットフォームとしての魅力
開発者向けのさらなる支援に期待

Coding Edgeフォーラム トップページ

 Mac OS X関連記事
プログラマーを引き付けるMac OS Xの魅力
続々移行するそのワケとは
 Mac一筋という熱狂的なユーザーだけでなく、「面白いことをしたい」と考えるエンジニアもMac OS Xを利用し始めている。いったいなぜだろう
Mac OS XでAMP構築
3通りの方法で整備できる開発環境
 Mac OS Xの上にWebアプリケーションの定番、AMP(Apache+MySQL+PHP)環境を3通りの方法で導入してみましょう
Mac OS Xで動かす軽量プログラミング言語
導入からPHP拡張モジュール組み込みまで
 Leopardでは、インストール直後からいくつかの軽量プログラミング言語が利用できます。早速試してみませんか?
Objective-Cは特殊な言語?
Cocoaの素、Objective-Cを知ろう(1)
 iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基本を理解しよう
Mac内にPHP4、5、6を同居させるコツ
Mac OS X+PHPでオールインワン環境(インストール編)
 PHP4の開発は終了したが、移行の問題は残されている。異なるバージョンのPHPをスムーズに切り替えるには?
  Coding Edgeフォーラムフィード  2.01.00.91


Coding Edge フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

>

Coding Edge 記事ランキング

本日 月間