続々移行するそのワケとは
プログラマーを引き付ける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 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」だ。
6つ目は、見栄えがいいこと。製品が工業デザインとして優れていることに加え、Mac OS X専用のプレゼンテーションソフト「Keynote」を使うと、少ない労力で見栄えのするプレゼンテーションが行える。最近ではエンジニアでも、さまざまな場でプレゼンテーションを行う機会が増えてきている。ほかの人に見劣りしないプレゼンテーションをしようとするエンジニアの多くが、自分が支持する企業のシールを張ったMacBookとKeynoteの組み合わせを愛用している。
7つ目は、Mac OS Xの開発環境が非常に充実していることだ。Mac OS Xでは、Java開発環境としておなじみの「Eclipse」も動くが、それ加えて、アプリケーションを稼働させながらコードを変更できる「Fix and Continue」や、リンクを不要にする「Zero Link」、分散ビルドといった機能を持つ先進的な開発環境「Xcode」がアップルから無料で提供されている。また、Ruby、Pythonといったスクリプト言語から先進的なフレームワークにアクセスし、ネイティブアプリケーションを開発できる技術も提供するなど、開発者として興味深い話題も多い。
現在、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をスムーズに切り替えるには? |
|
- プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る - エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る - VBAにおけるFileDialog操作の基本&ドライブの空き容量、ファイルのサイズやタイムスタンプの取得方法 (2017/7/10)
指定したドライブの空き容量、ファイルのタイムスタンプや属性を取得する方法、FileDialog/エクスプローラー操作の基本を紹介します - さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは (2017/7/6)
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり
|
|