この疑問について、「Mac」をハードとソフトの要素に分けて説明します。
「Mac」は、Appleが販売しているPCを指します。このMacのハードウェアの内部では、標準では「macOS」というソフトウェアが動いています。
補足になりますが、通常私達が「Mac」と言うときはこの両方。つまり、Macのハードウェアの内部でmacOSが動いている状態が多いです。しかし、必ずこの組み合わせであるとは言い切れません。Macのハードウェア上でWindowsやLinuxのOSを動かす場合もあります。
このように「Mac」にはハードウェアを指す場合ととソフトウェアを指す場合があります。次に、この2つの視点でプログラマーがMacを選ぶ理由を説明します。
Macのソフトウェアが使いやすい理由は、以下のとおりです。
・プログラミングがしやすいから環境が揃っているから
・Appleが提供するOSのUIが使いやすいから
MacはUnix互換のOSであり、プログラミングに特化したツールが揃っています。Webサーバー上で動く環境と揃えやすいため、Webプログラミングをしやすいです。また、デフォルトでRubyやPythonといったプログラミング言語がインストールされてあり、すぐにプログラミングできる環境にあります。
Appleが提供するmacOSのUIが使いやすいという人も多いです。これは好みなのでしょうね。
Macのハードウェアが使いやすい理由は以下のとおりです。
・トラックパッドの反応がよく使いやすい
・英語配列のキーボードが入手しやすい
筆者の周りで多いのが、Macはトラックパッドが使いやすいという意見でした。一方でMac以外のトラックパッドは反応が悪く使いにくいようです。
英語配列のキーボードが入手しやすいという意見もよく耳にします。プログラミングには通常英字を用いますので、より英字を入力しやすい英語配列のキーボードを愛用するプログラマーがいます。購入時に英字キーボードを選択できるMacは魅力のようです。
ではMac以外がプログラマーにとって使いにくいかというと、そんなことはありません。
ソフトウェアのUIは好みですし、必要な開発環境は人によります。例えばAzure等のWindows環境で開発するプログラマーはWindowsのOSを使います。Linux系のプログラミング環境を準備する場合でも、最近では扱いやすいツールが増えてきています。
ハードウェアの面では、性能の割に安価なのと、メモリ増設等のカスタマイズができるというメリットがあります。
例えば前述のWindowsが向いているケースは、このコストパフォーマンスとカスタマイズ性が理由だと思います。
・ゲーム用デスクトップPC
・ビットコイン等の仮想通貨のマイニング
・自宅サーバー
また、Linux系のOSを使うプログラマーはコストパフォーマンスとカスタマイズ性に優れるWindows PCを購入してLinuxをインストールすることがあります。
最終的には用途や好みで選ぶことになり、機種やOSに優劣をつけられるものではなさそうです。
Windows用のPCは多くのメーカーが販売していて、種類が多いです。これはMacと対象的な点です。
Windows PCの中でどれを選べばよいかというと、これは正解がありません。用途と予算と好みで選んでみてください。
自分の周りのプログラマーは次のような機種を使っているようです。
・Lenovo ThinkPad X1 Carbon
・Dell XPS 13
・Microsoft Surface Pro
LenovoのThinkPadを使うプログラマーは多いです。これは前述のIDC調査結果ともある程度一致するようですね。性能が高い分、他のWindowsPCよりも少し高いと思いますが、気になったら調べてみてください。
Lenovoは事業買収(M&A)によりPCシェアを拡大した企業です。2013年にはHPを抜き、世界シェア1位のPCベンダーとなりました。