前回の記事に引き続きになるのですが、今回はちょっとまじめに。

ちなみに、ここでいうWEB開発者というのは、プログラマやサーバーエンジニアを指していて、デザイナーは含まれていないので悪しからず。

MacOSXは最も安く手に入る商用UNIXである?

正直言ってMacOSX = UNIXと呼ぶのは、つい最近までは正確ではなかったように思う。

少なくとも、現在のSnow Leopard(10.6)の一つ前のバージョンLeopard(10.5)からが正式なUNIXであって、それ以前のMacOSXはあくまでも自称UNIXであった。

と、余談はさておき。

Macでは統合開発環境が使えないからダメ?

PHPやPerlの開発を行う場合、多くの場合テキストエディタかEclipseなどの統合開発環境(IDE)を使用するのだが、私はIDEを使用することは個人的に良しとしていない。

その最も大きな理由が、IDEの使用方法そのものを覚えることが無駄に思えるからだ。
これからプログラマを学ぶ人にとって、このことは大きな負担になると考えている。

実際、テキストエディターから勉強させた方が遥かに早く覚えるという事例を何人も見た。

さらに、各個人々のIDEの設定やプラグイン等を統一させる必要があったりとか煩雑なルール作りが必要で、このことは生産性の低下につながると思う。

したがって、MacOSXを使用しないことの理由に、IDEの選択肢が貧弱であることがあげられるが、このこと自体はデメリットと感じていない。

MacOSX上での開発環境

IDEを使用しないという前提では、MacOSXはWindowsにくらべていくつかのすばらしい利点がある。

  • viやSubversionなどのコマンドが最初からインストールされており即座に利用できる。
  • pearコマンドやPerlモジュールのインストール、ソースのコンパイルなどが、実際のサーバーとほぼ同じように使用できる。(練習ができる!)
  • Apache+PHPがプリインストールされていることに加えて、MySQLも専用のバイナリが用意されている等、Windowsに比べてデフォルトで本番環境に近い。
  • 実際に本番環境で多用するであろうターミナルによるコマンドが充実している。

経験的にいうと、プログラミングの学習を最も困難にしているのは、その学習環境の構築にサーバー構築というさらに高いスキルが求められることだ。

これは、明らかに矛盾している。

そんなときにMacOSXでは、いきなりプログラミングの学習ができるので、これから学習する人にとっては非常にメリットが大きい。

テキストエディタはダメ

実は、MacOSXで開発を行うには、テキストエディタに期待できないことを覚悟する必要がある。

率直に言ってMacOSX用に出ているテキストエディターは、Windowsの秀丸やEmEditorと比べると明らかに劣っている。

有名なJeditも同じくで、EmEditorを使用していた私からみて、とても快適とは言いがたいものがある。
(検索とか文字のエンコーディングの検出精度とかUIとか、はっきり言ってひどい。)

ただし、おもいきってviを使用するようにしたら劇的に改善した。

特にSubversionを使用していると、ひとつのウインドウで作業が完結するのはとても大きなメリットで、CakePHPなどのフレームワークを使用する場合の作業性の快適さはすばらしいと思う。

最後に

この記事ではIDEを使用しないことなどを前提として書いているが、別にIDEを全否定する訳ではない。

たとえば、フレームワークによってはIDEと組み合わせることで高い生産性を確保できるものもあり、そういう場合はWindows+IDEになるのが当然だと思う。

あくまでも、周りのスタッフのスキルや開発環境などに左右されるものなので、どっちがベストかは神のみぞ知るだと思うが、もしteratermを年がら年中使用しているWindowsユーザーはMacOSXを試してみる価値があると思う。