【2016年版】開発者 or ITに詳しい人がMacを選ぶ理由
かなり昔(2011年8月)の当ブログ記事(開発者 or ITに詳しい人がMacを選ぶ10の理由 | Lunarian's Blog)(まだコメントがあるので非公開にし、本記事にリダイレクトするようにしました。)ですが、いちおう当ブログ内では一番アクセスがあるようです。放置していてほとんど忘れていたのですが、ちょいちょい「Mac別に安くねーだろ」などのツッコミが入っています。
2011年当時の記事なので、今言われても困るなぁと思いつつ、開発環境など時代も変わってきたので、ここでひとつ2016年版をまとめてみようと思いキーボードを叩き始めた次第です。
その前に1:価格について
2011年当時、Macは割と安かったと記憶しています。まあ、もちろん最安値で探すならWindowsが選択肢になったでしょうが、同スペックや同フォームファクターで比較するならMacに価格優位性がありました。
ただ、現在では特にIntelのプラットフォームが進化し、性能が良く、かつ軽量・長寿命なノートPCがWindows搭載PCでも散見されますし、Macに価格優位性があるとは言えなくなりました。
その前に2:Windowsについて
Windows自体が気に入らなくてもデスクトップLinuxが十分実用的ですから入れ替えてしまえば良いですし、Windows自体も開発環境として逆にMacに対して優位性を持ってきています。MicrosoftがXamarinを買収し、ほとんどのプラットフォーム向けの開発が出来るようになっており※、また次期大型アップデートにて、Bash on Ubuntu on Windowsが搭載される(Windows 10次期バージョンに搭載:米マイクロソフトがBash on Windowsを発表、その目的は – @IT)ということもあります。
そんなわけで、むしろWindowsを選ぶ、という方も増えてきています。なお、MicrosoftとOSS界隈についての最近の空気感についての記事はこちら: 「マイクロソフトを嫌っていたのではない、われわれが嫌われていたのだ」――Rubyまつもとゆきひろ氏が語る、MSの壁 – ITmedia ニュース
※ただし、iOSについてはビルド・署名にやはりMacが必要: Windows だけで Xamarin.iOS 開発をするには – Xamarin 日本語情報
では、Macを選ぶ理由は、
そんなわけで、開発者だからみんなMacというわけでもなくなってきたかな?というところなのですが、2011年の記事にならって、Macを選ぶ理由を挙げてみたいと思います。
理由1:美しい
まぁ、主観的になるので賛否両論ありそうですが、ハードウェアの外観・シンプルさに加えてOSの設計であったり、フォントレンダリング部分が美しいと感じます。とくにRetinaディスプレイは大抵のWindows PCよりも美しくフォントレンダリングされます。Windowsも8.1から高DPI対応などしていますが、アプリケーションの対応状況など含めまだまだな感じがします。
理由2:BSDベースである
BSDベースであり、Terminalで普通にBashなどが利用できます。またCUIベースでOSの設定も弄れますし、アプリケーションのインストールも可能なので、Macを購入して最初の設定や使うアプリケーションのインストールをシェルスクリプト+Ansibleであらかた済ませてしまうことも出来ます。(WindowsだとSysprep or プロビジョニングパッケージを使う感じかと思いますが、シェルスクリプトやAnsibleの方が手軽で速い。)
バージョンはアレなものの、デフォルトでRubyやPHP、Pythonなども入っていますし、なにかやろうとしてMacだから困るということがあまり無いかなという感じがします。
また枯れたベースであるから安定しているように思います。自由度が無いから安定しているのではないかというコメントがあったのだけど、開発環境として自由度と安定度なら安定度をとるだろうし、社内で使うなら、自由度はマイナスになる可能性がある。個人的にはWindowsが自由でMacが自由じゃ無いというのは、開発環境として使うという限りにおいては、よく分からない。自由がほしければ、デスクトップLinuxを使う。安定もしてるし。
理由3:アップデートにおける連続性
ここらへんもやや主観的だけれども、Windowsを使っててイラッとするのが、アップデートで操作性が大きく変わったり、アップデートをキャンセルしたつもりが強行されたり、作業中なのにアップデートしましょうみたいなダイアログがアクティブになって、作業を阻害するところ。特にWindows 7の時に酷かった。Windows 10でも少しは良くなったものの、やはり作業を邪魔したがるところがある。OSとしてそれはどうかというところ。
Macは良くも悪くもベースが変わらず、また通知もGrowl的な通知がされるだけで作業をとりあえずは阻害しない。
理由4:Macで困らなくなってきた&開発環境として優秀
elTAXとか除いて、Macでも使える…というか、クラウドベースのアプリケーションが増えブラウザさえあれば、業務が回る会社も多くなってきており、また何か新しいアプリケーションやサービスがでてもMac版が提供されるのが当たり前になっているので、もうあまりMac一本で困らなくなってきた。まぁ、ただこれは会社にもよるとは思うけど。
MS OfficeもWeb版があるし、Mac版も2016が提供されており、会計ソフトも、freeeやMFクラウド会計、弥生会計ネットワーク版などブラウザさえあれば使えるものが出てきました。
開発環境としても、上述のようにWindowsも追随してきていますが、iOSアプリの開発が1から10まで出来るのは、やはりMacですし、その他のプラットフォーム向けの開発も可能です。
また、IDEやエディタ、その他開発に必要な主要なアプリケーションは、Macで普通に動きますので、困ることがほとんどありません。(Visual Studio系、C#、.NET系、ゲーム開発などはWindowsの方がよさそうですが。)
Windows向けデスクトップアプリもElectronなどありますし、場合によりますが、なんとかなるかと思います。
理由5:開発者っぽい
特にノートPCについては、それぞれのブランドでイメージがあり、Let’s noteやThinkPadは、ビジネスマンという感じがしたりします。Mac、とくにMacbookは開発者やITギークっぽさがあり、開発者ぶれるところがある気がします。スタバとセットで、ウザく思われるかたもいる気がしますが。
まとめ
こんなところでしょうか。選ばない理由も人により様々あるかと思います。別にMacが最高と言っているわけではなく、選ぶ理由は上記のような感じかなというところです。
ディスカッション
コメント一覧
Macに適さない分野としてデータベースアプリ開発があります。確かに、オープンソースのRDBMSであるMySQLやPostgreSQLなどはMac OSに対応していますが、以下の定番の商用RDBMSの無期限評価版ないし開発者版を使いたい場合は、WindowsかLinux(SQL ServerはWindowsのみ)しか選択の余地がありません。
・Oracle Database 12c
・IBM DB2 Express-C
・Microsoft SQL Server 2016 Developer
確かに業務システム系でmacOSはそもそも選択されないでしょうね。
記事はどちらかというと、アプリやWeb、モバイル寄りかと思いますが、その分野ではDBクライアントのアプリ開発でも使用されているはずです。
前記事を読んでいないのでわからないのですが、
素朴な疑問です。開発というのは具体的には何の開発のことでしょうか?iOSアプリは当然でしょうけれども、他にどういう分野での開発に優位性があるでしょうか?今まではメインでwindows、必要に応じてlinuxを使っていました。今回iOSのアプリを作るにあたってMACを導入しますが、開発環境としてIOS以外に優位性があればぜひ知りたいです。
通りすがり2さん
コメントありがとうございます。
普通にターミナルが使えて便利な分野であれば、Windowsに比べて優位かなと思います。ただ、この点については、最近ではWindowsでもBash on Ubuntu on Windowsが使えますし、そもそもLinux使えるのであればLinuxで良いかと思います。(私も今のメイン環境は、Linux on ThinkPad X1 Carbon 2017です。)
また、Windowsほど環境がバラけない(32bit / 64bit、7、8、10、Home / Proなど)ので、なにがしかの環境設定が必要なものについてもMacでは手こずらず、無駄な時間を費やさなくてよいかと思います。
具体的に何の開発かといえば、私の場合は、普通にWeb開発(RoR、PHP)、アプリ開発(Java / Scala / Kotlin / swift)です。その他OSS関連の非プロプライエタリな開発であれば、上記の点でWindowsに比べて優位性があります。とはいえ、人により、分野により、Windowsの方が良い場合はもちろんあるでしょう。(上記コメントでもあるように商用RDBMSを使う場合や、GPUを利用したAIなどもWindowsのほうが優位かと思います。)
人により、開発環境により、なにが優れているかは人それぞれかと思います。
今までMacを使っていた人や、Windowsで嫌な思いをした人、Linuxのデスクトップ環境が好きになれない人は、「めんどくさくない」という点で一番優位でしょうし、今までずっとWindows使ってた人や、商用RDBMSを使いたい人、cliを利用しない人には、Windowsが一番優位でしょう。
通りすがり2です。
ご回答ありがとうございます。
すっきりしました。納得できました。
ピンバック & トラックバック一覧
[…] す。最近のアップデート記事があります。: 【2016年版】開発者 or ITに詳しい人がMacを選ぶ理由 | Lunarian's Blog […]