あなたがMacを使うべき10の理由

前口上

もともとこのエントリを書こうと思い立ったのはETech会場はMacだらけ、というid:naoyaさんや他の参加者の報告に刺激されたからだったりするんだけど、中でid:iRSSさんが次のように書いている:

「どうして、この会場はMacユーザーが多いんですか?」と質問したら
Unixが使えるポータブルだからだよ。」とのお答え。

これは確かにその通りで、とても簡潔な表現なんだけど真実を伝えてはいる。ただ、あまりに簡潔すぎるというかなんというか。まあ誤解はないとは思うけど、Unixであることは別にそれ自体が目的になってしまうわけはないのであって、だから一部のgeekUnixさわってるだけでしあわせだから、そこの狭いマーケットにうまくはまっただけ、というわけではぜんぜんない。だから市場的なインパクトはないだろうという予想は当を得ていないと私は思う。本当はUnixであることを手段として、それで何が実現されているか、ということに価値がある。そのへんを詳しく説明してみることはできるかなー、と思ったわけ。
そういうわけで、万人に向けてMacをオススメするためのメッセージ、というわけではなく、だいたいが私と同じようなwebとかインターネットとかプログラミングとかそういうことに関わって毎日過ごしている、というような人に対して、Macがいかにあなたにフィットしているか、ということを書いてみようと思う。
要するにこの日記を読んでるようなとても狭い範囲の人(のみ)に向けて書く、ということです。では行くよ。
(書き始めたら、5時間くらいかかったよ。しかもまだ残ってるし..)

MacUnixである

まあ上でああいったけどやはりUnixであることそのものの価値ということにまずは言及しておく。
いまのMacはまぎれもないUnixベースのコンピュータなのだ。それ自体は実のところ単なる偶然の産物なんだけど。でもさまざまに紆余曲折あってUnixベースになったおかげで、Macが得た恩恵はとても大きい。
Macはその根幹はUnixであるということは、Unixの四半世紀の歴史がはぐくんできた膨大な蓄積をMacも同様に備えているということだ。おかげでプログラマだったらMacがどんな挙動をするかというのはだいたい想像がつくわけ。
カニズムだけじゃなくて、思想とかも蓄積を利用できる。OSカーネルDarwinソースコードも公開されてるし、公開されたrepositoryで*BSD のwizardたちがフルタイムで開発にあたってる。その中にはFreeBSDのcoreだった*1Jordan Hubberdなんかも含まれてる。Macを買うことで間接的に*BSDを支援することにもなる。
あと、言うまでもないけどMac OS Xはとても安定している。それもUnixの恩恵のうちのひとつだ(それもいちばんわかりやすいやつ)。Unixがもたらす安定性が、Macを仕事にもプライベートにもふだん使いの道具とするのに必要十分な機能と信頼感を与えてくれる。そしてそれが、これから下に書いていくようなことの基礎にもなっているのだ。

Macは安全(secure)である

いまのコンピュータはほぼ例外なくネットワークに接続されていてそれは素晴しいことなんだけど、同時に様々な外部からの攻撃にさらされることになっていてそれらの攻撃にどれくらい耐えられるかというのがとても大事なことになっっちゃってる。ここでの安全(secure)というのは、そういうのに対する基本的な堅牢性をそなえてるとか、ユーザがsecurity対策と称していろいろと追加で努力しなくちゃいけない部分が他と比べると限定されていて対処しやすいとか、そういう意味で使ってる。その意味でMacはかなりsecureに出来てる。
Macは上にも書いたようにUnixベースのOSで動いてるのが結果的にはmeritになって、Windowsと比較してもsecurity上の問題が比較的起こりにくくなってる。
Windowsではしょっちゅうセキュリティ上の問題が報告されてるし、その問題を解決するためにMicrosoftから月イチ以上でupdateが提供されたりしてるけど、それだけでは安全であるとは言えず、いまPCを使ってる人はサードパーティが提供するanti-virusソフトウェア製品を購入したり、それを保守更新し続けたりするっていう苦労をしてるはず。大変そうだなー、って思います。Macならもっと楽なのに。実際、ソフトウェアベンダでもっとも利益を上げているうちの1つはこれらのセキュリティ関連製品を販売している会社らしいし。
いやまて、Macだってつい最近Mac OS Xを標的にしたvirusが見つかって問題になったばかりじゃないか、って言い出す人もいるかも知れない。確かにそのケースではOSが脆弱性を持っていたんだけど、でもその問題はすぐに修正がAppleからリリースされたから、なにか問題があってもそれなりに迅速に対応策を提供してもらえることもわかったと思う。
もっと疑い深い人もいるかも。要するにMacはシェアが低いから狙われにくいだけだろ? ユーザが増えたらすぐにWindowsみたいに攻撃されまくるようになっちゃうよ、その時Apple大丈夫なの?
そう、たしかにshareは小さいし、MicrosoftWindowsに投入している膨大な人員を想像するに、Mac OS Xの開発チームはそれよりもはるかに少ない人数であることは明らかだ。だからこういうことを言われると、確かにMacが本当に安全らくちんなのかな? って思う人もいるかも。でもそんなに心配しなくていいんじゃないかな。Macの根幹がUnixであることは、こういうときにもすごいメリットを発揮するだろう。
なぜかというと、Unixはさすがに時間の蓄積の中で枯れてきてるので、攻撃のパターンとか脆弱性のありそうなところとか、だいたい世の中に知れ渡っていると思っていいからだ。ものすごい画期的に新種の危険性というのはたぶん今後そんなに出てこないだろう。何か問題が見つかるのは大抵はよく知られた脆弱性の亜種で、その種の些細な弱点はすぐに修正できる。Windowsはそのへんがぜんぜん読めないところが安心できない。

Macは最高のプログラム環境である

Macはプログラミングに最適だ。プログラマだけじゃなく、プログラマ予備軍(学生さんとか)にとって理想的なプログラム環境だということをとにかく強調したい。念のためいうと、特に追加の出費とかは必要なく、買ってきたまま、標準の状態で既にそういう状態になっている。
ここでもMacUnixベースである、ということの直接的な恩恵を受けている。Mac OS Xには開発ツールが(タダで)付属していて、これをインストールすれば即、自分でCとかC++とかJavaとかのプログラムを書いて動かしてっていう環境が手に入る。古典的Unixと同じような感覚で、配布されているフリーソフトウェアをbuildして自分のツールとして追加したり、そういう使い方はふつうにできる。
もちろんそれだけじゃなく、GUIをふんだんに使ったMacらしいアプリケーションを作ることもできる。しかもこれがとてもたのしい。かっこいいアプリケーションを非常に素早く作ることができて、GUIのアプリケーションの開発で「オレってばスゲー」感を得られてしまう。
さらにさらに、Mac OS XにはApachePerlPythonRuby*2PHPも最初から入ってる(これらは開発ツールのインストールすら要らない)。CVSとかSQLiteとかも付いてくるし、標準では付いてないけどSubversionMySQLなんかもインストールすればあっさり動く。あなたがwebプログラマだったら、仕事に必要なスクリプト書いたり実際に動かしてみたり、開発も実行もMac 1台でできる。Webの本番環境がLinuxだったりしても、そんなにかけ離れてるわけじゃないから実験には十分だ。
というように仕事とかで日常的にプログラミングをしてる人に役立つのは言うまでもない。でももっと大事なことは、最初に書いたように、Macがプログラムを勉強している人にとって本当に理想の環境だということの方だ。
Mac OS Xでうごくアプリケーションを作るためには、ふつうはCocoaというフレームワークを使う。このCocoa環境はNeXTのApp Kit由来のオブジェクト指向開発環境で、まあ歴史はどうでもいいけどとにかくオブジェクト指向の勉強に最適である。Cocoaでは Objective-Cっていう言語を使ってプログラムを書くんだけど、この言語はC++Javaよりも(嫌が応でも)オブジェクト指向を意識してプログラムを書くように強制される。というか「オブジェクト指向」というよりむしろ「オブジェクト」を意識して書くという感じ。感覚的な言い方でもうしわけないけど、本当に手でさわれるオブジェクトというものが実在して、そいつらと常に会話しながらお互いが協調動作するように仕向けていく。この雰囲気を味わいながらプログラムを組み立てていると、そのことがオブジェクト指向の本質的な理解にとても役立つ。
Cocoaに慣れてより深いトピックを勉強しはじめると今度はCocoa BindingでMVCについて学べるし、Core Data はO/R mappingについての理解を深めてくれる。Macにはいろんなデザインパターンオブジェクト指向的考え方がぎっしりと詰まっている。Appleが開発したWebObjectsっていう世界最初のwebフレームワークもタダで使うことができて、最高にうまくデザインされた(そのわりにはあまり知名度が高くない)webアプリケーションフレームワークに実際に触れてみることもできる*3
MVCとかデザインパターンとかを知らない人は、そういうものがあってプログラミングを上達させるのにとても役に立つものだと思ってください。それがMacでプログラムを書きまくっているうちに自然と身に付く仕組みになっている。Macそのものが、そのまま良いプログラミングのお手本になってくれるのだ。理想の環境と書いたのはそういうこと。

Macは最高のWeb制作環境である

あなたはプログラマじゃなくてもっとデザインよりなことを仕事にしている人なのかも知れないし、最近盛り上がっているさまざまなweb startups(日本だとはてなとかそういうやつ)のメンバで、必然的にプログラムだけじゃなくてweb制作の他の様々な仕事もしてるとかいう人なのかも知れない。
もしそうだったらなおのこと、もうMacを使う以外の選択肢を考えない方が、時間を無駄にしなくていいと思う。(WebデザイナだったらもとからMac使ってると思うけどね)
Macでは、デザイナが使うようなAdobe PhotoshopIllustratorMacromedia FlashDreamweaverもぜんぶ動く。というかもともとこれらのアプリケーションはMacで開発されたものなんだからあたりまえなんだけど。
でもただPhotoshopが動くだけだったらいまはもうWindowsでだってちゃんと動くからそんなことだけを自慢したいわけじゃない。今後のweb制作に関わる人のワークスタイルを考えても、Macには素晴しい利点がある。それは何かをひとことで言うと、プログラム環境とデザイン環境を同居できるっていうことだ。
この日記を読んでる人ならおそらく37signalsっていうおもしろい会社があって Basecamp とか Backpack とか Campfire とかって特徴的なwebアプリケーションを次々とリリースしたりしてるのを聞いたことがあるだろう。ここのパートナであるDHHことDavid Heinemeier Hanssonが作ったWebフレームワークRuby on Railsが世界中の話題をさらっているのも知ってるよね。そのDHH(彼もMac userだ)はこんなことを書いている。

At 37signals, the designers (Jason, Ryan) have their own sandbox and uses the same Subversion repository as developers (Jamis, me). Thus, they can make changes to their local version of the application, switch to the browser and refresh. There's no compilation phase. The templates are not overburdened by programming constructs thanks to a strong domain language.

Working on the same code base and sharing the same tools is an empowering environment that unifies the team and breaks down barriers between professions. It's in that mold where magic happens.

Basecampみたいな製品を作りたくなったら、こういう彼らの開発スタイルをまねてwebデザイナ全員にひとりひとつ実験環境としてサーバを用意するといいみたいだ。そうしたいなと思ったら、Macなら自動的にその環境が整っているし、実際37signalsのメンバが使っているのはMacだ。他のコンピュータ、他のOSでもそういうスタイルとまねることはできないことはないと思うけど、とてもめんどくさいと思うしセットアップにも時間がかかるだろうね。Macなら買ってくるだけ。Ruby on Railsもこんな環境から生まれたのだ。

Macにはいいsoftwareがたくさんある

Macには他では得られないようないいsoftwareがたくさんある。
なんといっても、Mac OS Xに標準で付いてくるアプリケーションたちが素晴らしい。Mac OS Xの標準のMailは進化を経てとても使いやすくなった。Safariwebブラウザとしてすごくよくできてるし、レンダリングはどのブラウザよりも美しい(たまにSafariの仕様についてJavascript hackerたちにいじめられることはあるけど、今後このへんもよくなっていくと思う)。メールとwebブラウズに対して、必要最低限じゃなく、十分なところ、どころかそれ以外は使いたくいない、と思うようなクォリティを提供しているので、買ってきてすぐにそれで生活しはじめることができる。Windowswebブラウザはついてるけどメールはちょっとキビシイよね。
それから、私は標準添付のTextEditっていうエディタが大好きで、いまでもこれを使わない日はないと思う。こいつはOS付属のエディタなのに単なるオマケじゃなくて、きちんと実用品として動作する。プレーンテキストだけじゃなく、リッチテキストの編集もできるし、カーニングとかリガチャとかも細かく設定可能なので、ちょっとしたワープロ代わりにもなる(縦書きはできないけど)。しかもキーバインドEmacsのそれと似てて、直感的にわかる。これは実はMac OS Xのテキストコントロール全体がそうなっているんだけど。
話がそれるけどTextEditでもうちょっとひっぱってしまおう。このTextEditは上に書いたことからわかるかも知れないけど要するにMac OS Xのテキストコントロールのデモ・プログラムになっていて、他のアプリケーションを作る人がテキストを編集する機能を扱おうとしたときのリファレンスになるものだ。だからここで手を抜くわけにはいかない。Macのほぼすべてのアプリに影響するところだからね。だからこのTextEditはソースも公開されている。Developer Tools(Xcode Tools)をインストールすれば誰でもTextEditのソースを読めるので、自分で拡張したくなったりしたら見てみるといいかも。さらに話がそれるけど、このTextEditのsource codeはAli OzerっていうCocoaObjective-Cの神様みたいな人が書いてるから、プログラムを勉強してる人は読み解いてみるとすごく勉強になると思う。
標準だけじゃなくて、他のsoftwareも素晴らしいものがたくさんある。まず、Appleが開発・販売してるやつ。iLifeとかiWork、今売ってるのだとiLife '06とiWork '06だね。特にiWorkにはKeynoteが入っていて、これを買えば世界でももっともKeynoteスピーチがうまいCEOであるSteve Jobsが使っているのと同じpresentation toolを自分でも使えることになる。あと、ほんとはここでiLifeのGarage Bandについて熱く語るべきなんだけど(知り合い曰く、これがあるのは本当に革命的にMacのすごいところなんだそうだ)、私自身は音楽やらないので自分の言葉でうまく語ることができない。ごめんなさい。2006年のバージョンで追加されたPodcastを作成する機能なんかは、今後使っていく機会もあるかも知れないなあ。パッケージに年数が付いていることからわかるように、iAppsは年に1回ものすごいバージョンアップをすることになってるので、今後もいろいろと進化していくのだろう。
Appleの業務用(プロ用)softwareもすごい。Logic, FInalCut Pro, Shake, Motion, Apertureなどなど、音楽・映像関係のPro向けアプリケーションラインナップがかなり揃ってきてそれ自体も素晴らしい。でももっと素晴しいのは、こういうアプリケーションの開発で培われた技術が、すぐに一般向けのiAppsにも応用されていくことだと思う。業界全体でプロ用の機材が一般の人にも買えるようになるっていう変化の流れが起こってるけど、Macの周辺ではその作用がもう一段裾が広がっているので、それこそ本物のcheap revolutionをこれから起こしていけると思う。
そしてサードパーティー製品。いろいろあるんだけど、特に最近よく使ってるのから選んでみると、やはりOmni GraffleとOmni Outlinerをまずあげておきたい。いまではこれなしにドキュメントをきれいに書く方法が想像できない。WebプログラマにはTextMateMacを使う理由になるかも知れない。これを使いはじめるとプログラムがとてもたのしくなるし、RailsのデモムービーでDHHがバシバシとこれを操作して一瞬でいろいろ組み上げるのを眺めているうちに、Railsで生産性が上がったのかTextMateで生産性が上がったのかよくわかんなくなってくるくらいだ(うそ)。これらはどれもエディタとか文章書きとかのどっちかいうと地味なタイプの道具だけど、そういうものこそ根本的なセンスとかが問われるところだと思うよ。
あともちろん、なんじゃこりゃ、こんなんMacじゃなきゃ作れんわなってひとめ見ただけでわかるヘンなすごさのアプリもたくさんある。一例をあげるとDelicious Libraryとか、SubEthaEditとか。これらについては、また別の機会に触れてみることにするのでここではこのへんで。

Macは画面がきれい

だんだんと大事なところに入ってきたよ。心して読んでほしい。Macはとにかく画面が美しい。これは些細なことではないのだ。もしあなたがプログラマなら、毎日相当の時間をコンピュータに向かって過ごしているはず。この膨大な時間を美しく整理された画面で過ごすのか、そうでないのか、ということが思考に与える影響ははかり知れない。
日本人には特に重要なことがある。あなたが1日の大半をアンチエイリアスされて美しくレンダリングされたヒラギノフォントを見て過ごすのか、ギザギザしてる上に文字のバランスも不統一なフォントを見て過ごすのか、想像してみよう。もし文章を書くことも仕事にしているなら、文字が汚いと書く内容にまで影響を受けてしまいそうだって思うよね。ヒラギノフォントが6書体もタダでついてくるOSが発売されてて、しかもそれが1万5千円以下で買える。Macを買ったら必ずそれがインストールされている。それも日本だけじゃなくて全世界で売ってるMacに、だ。Mac OS Xはworld wideでバイナリが共通なので、どの国でMacを買ってもあなたの書いた日本語の文章はヒラギノで表示できる。こんな時代が来るとはねえ。感無量。
他にもきれいなところがいっぱいあって、例えばMac OS Xはシステムがalpha channelをサポートしていることがあげられる。おかげでヘンなトリックを使わずに透明度を変化させながら描画を行うことができる。これがいろんなところで効果的に使われているので、一度意識して画面を見てみるといいかも知れない。様々なエフェクトで、ここが半透明なことが使いやすさに寄与してる(しかもそれがイヤミじゃない)んだなと気がつくと思う。ウィンドウについている影なんかがそうだし、音量の上げ下げもとてもうまく使ってるし、iPhotoのcrop(写真の切り抜き)のインターフェースなんかも気がつくと感動ものだ。Terminalだって滑かな文字と半透明のウィンドウで使ってみると格別の満足感が!!
デザインをよくするっていうのは簡単なことじゃない。他のOSでもカリスマデザイナを1人雇えばMacに勝てる、っていうほど単純な話じゃないよ。そういうデザインを支える描画フレームワークの技術とか(特におぼえる必要はないけどこの描画システムはQuartzという)、Appleだけじゃなくてサードパーティのアプリケーションを書く人も自然とデザインに敏感になっていけるガイドラインがきっちり存在してるとか、そういうのが組み合わさってようやくこのlook&feelが実現できているということを意識した方がいい。

MacにはExposeがある

これはまさにKiller UIと言うにふさわしいもので、Macの使いやすさのなかでもこれがあるからMacを離れられなくなるというものの典型が Expose だ。これはもう使った人しかわからないかも。たった1週間でいいので、ExposeがあるMac OS Xを使って生活してみると、あららら、次に他のOSを触ったときには、Exposeなしでは生きていけない身体になってしまってることに気がつくと思う。Windows触ったときにいちばんキレそうになるのはこれだ*4。それくらい麻薬的。
WindowsにもExposeっぽいものを付け加えたりするプログラムがシェアウェアとかでいくつかあるのは知ってるんだけど、やっぱり本物のこのフィーリングにはかなわない。こういうのはやっぱりOSベンダーがネイティブに対応しないとだめなのかも知れない。ちょっと話題がそれるけど、私はMacSafari使ってるときにほとんどタブを使わない。ウィンドウいっぱい開いて、Exposeする方が便利なんだもん。タブブラウザっていうのはMacからは生まれてこなかったアイデアかも知れない。閑話休題
といってもそんな絶賛されまくりのExposeがMac OS Xに付け加えられたのはそんなに古いことじゃなくて、2003年10月のMac OS X 10.3 Pantherリリースと共に追加された機能なんだ。Macが最初から持っていた利点じゃないから、そんな最近付け加わった機能をさもMacの歴史がすごいみたいに自慢すんなよ、って言われるかも。でもこんなUIをMacだけが実現できたということをよく考えてみてほしい。これが重要な点だ。オーバラップするマルチウィンドウシステムが世の中に出てきて何年経ってると思う? それまでどこも思い付くことができなかったのに、Appleだけがそれを思い付いた。AppleのUIに対する不断の探究があり、またそれを実現するOSの土台があってこそ、ようやく実現できるものなんだ。

Macはかっこいい

これがいちばん大事なことだっていうことをよーくおぼえておいてほしい。Macはとにかくかっこいいのだ。PowerMac G5もMacBook ProiMacMac miniも、みんな美しくデザインされている。Mac本体だけじゃなくて、Cinema Displayもうっとりするような外観をしてるし、マウスとかACアダプタとか電源ケーブルとかの小物まで統一感を持ってデザインされている。目につくところだけじゃなく、ふだん見えないケースの裏面や通気用のスリットの切り方ひとつをとっても細心の注意を払ってデザインされていて、なにもかもとても洗練された外見をしている。
自分の仕事の道具、コミュニケーションの道具なんだから、外見は最も大事なことだっていうのは本来は言うまでもないことだと思うんだけど、意外と同意してもらえないのでここでさらに強調しておいてもいいだろう。
実のところ、このカッコよささえあれば、上にあげたような理由は全部オマケみたいに付いてくるものだと思う。カッコよさは、道具への愛着をかりたてるし、愛着を持てるということを中心的な価値に置いて開発するっていうのは、その道具を買った人が本当にしあわせになってほしいと願っていないとできないことだ。世の中には、いかに消費者たるエンドユーザをだまくらかしてお金を落としてもらうか、っていう意思が透けて見えてしまうような製品がたくさんある。でもMacなら、買った人がそれを持っていて恥ずかしくない、それを使ってることを誇れるものにしてあげたい、っていう意思が先にあることがちゃんと見える。
コンピュータの中のUI部分のかっこよさと、外側の筐体のかっこよさとが両方揃ってるってのは当たり前に思えるけど考えてみるとすごいことだ。Paul Grahamが「ものつくりのセンス」で言ってるように、よいデザインっていうのは単なる個人の好みの問題じゃない。そして、本当によいデザインはひとめでそうとわかるようになっている。初代MacやPlus, SEはすごくかっこよかった。あれはよいデザインだったし、途中断絶はあったけどいまのAppleにはそれが発展した形で継承されている。この意味で、NeXTを買収する直前のAppleが出していたMacみんな失格だ。PowerMac 9600とか、今でも想像するだけでぞっとする。でも今はすっかり心が入れ換わって、ラインナップ全体がとても洗練されている。コンピュータっていうのはこうあるべきだ。

MaciPodと相性がいい

この項、あとで書く

Macにはcultureがある

長々と書いてきたけど、結局のところMacにあって他のコンピュータにあまり見当たらないものは、cultureなんだと思う。Macには、ひとことでは言えないけど、でも他とは違うこともすぐにわかる、独特のcultureがある。このcultureがあるおかげで、コンピュータというものにくっついてくるネガティブ・イメージ、うっとおしい仕事の道具とか、テクノロジで格差を作る不安の源とか、そういうのにつきあわずに済んでいる。持っているだけで、使ってるだけでよろこびをあたえてくれるから、そのまま自然にそれが思考の道具になり、表現の道具になる。今はたまたまそれがおもしろいwebアプリケーションを作る人たち(なんとか2.0とか)のかたまりにすごくフィットしているみたいで、そういう人たちが集まったETechなんかが一例として話題になったりする。私は思わず日記にこんなエントリを書きたくなったりする。


以下蛇足。この記事を書いている私はもともとNeXTファンだったんだけど、いまのMacは古き良きMacが持っていたcultureと、NeXTが持っていたcultureの両方を備えたこれ以上はないほど魅力的なコンピュータになっている。ある意味、NeXTよりもNeXTらしいと思う。この業界の先端を走っている人全員ではないけれど、かなり多くの人はMacを使っているし、これからますます増えてくると思う。

関連記事

*1:bicradashさんのコメントにより修正しました。ありがとうございました

*2:ただし、Tiger(Mac OS X 10.4)に標準でインストールさえているRubyのバイナリには問題があるのは認めなくちゃいけない

*3:このことについては前に少し書いたことがある

*4:id:naoyaさんもswitch初期にこの症状を訴えていた