
プログラミングを始めたいんだけど、パソコンはMacがいいの?Windowsがいいの?
いまどきのプログラミング入門者でこの疑問を抱く人は多いのではないか。
私はMacもWindowsもLinuxもどれも大好きなので、「どれでも勉強はできるよ」と言いたいところだけど、
ITエンジニアを目指す入門者の方への返答として考えた場合、
断然Windowsをオススメする
巷ではMacをオススメする人もいるけど、私はどうもその理由が納得できない。
Macをオススメする人はよくこうしたポイントを紹介している。
- 操作が直感的でわかりやすい
- 起動がはやい
- バッテリーが長持ちする
- Apple製品向けのアプリ製作に向いている
- Swiftが使える
- Webアプリがスムーズにつくれる
- Windowsもインストールできる
- Wineを使えばWindowsアプリも動かせる
- UNIXコマンドが使える
- サーバーサイド言語も勉強できる
- ツールのインストールが簡単
- エンジニアは皆Macを使っている
一つ一つ私なりの見解を書いていく。
「操作が直感的でわかりやすい」について

Macは確かにマニュアル無しで操作しやすいという特徴があるものの、
Macの操作に慣れたところで実務上の価値は低いと考える。
ソフトウェア開発というのは、ソースコードを書いたら終わり、ではない。
開発メンバーの追加・削減、リリース後のメンテナンスなどを意識して「仕様書」「設計書」などのドキュメント、あるいはそれに相当する情報を残しておく必要がある。
そのための手段として多くの企業ではマイクロソフトのオフィスソフトが活用されており、
オフィスと最も相性の良いWindowsのパソコンが使われている。
自社だけではない、
業務委託先または発注元である企業でマイクロソフトのオフィスとWindowsを使っている確率は非常に高く、
そうした企業とファイルのやり取りをする際に自分のパソコンもWindowsだと業務がとてもスムーズになる。
逆に自分だけMacだと、自分が作成したファイルを相手企業に送ったときに先方から
「ファイルの中の図が部分的に消えてしまっているみたいですが・・・」
「色おかしくないですか?」
などと言われ業務上支障をきたすことがしばしばある。
結局、Macの操作に慣れたところで、Windowsの操作が分からなければ現場には入っていけない。
それに、Windows 10/11の操作性は全体的にWindows 7/8.1以前よりも格段に直感的で分かりやすくなっており、
Macでなければならない理由にはなっていない。
私はWindowsを勧める。
「起動がはやい」について

これによるとおよそ24秒で起動できるらしい。
現在のWindows 10/11マシンもSSD搭載のものであれば大体同じ水準だ。
Macが特にすごいとは感じない。
「バッテリーが長持ちする」について

2022年4月23日現在、MacBook Proの公式のバッテリー駆動時間は20~21時間となっている。
測定方法を端的に書くと、
画面の輝度を暗くして、SSDに保存したFull HDサイズの動画を再生する
という具合だ。
一方でWindows PCにも探せばこのくらいのバッテリー持ちのものは見つかる。
現に、私が趣味でプログラミングに使っているWindows PC(FUJITSU Lifebook WU2/E3)は22.5時間が公式の駆動時間となっている。
測定方法はJEITA2.0の手法なのでMacの場合とほぼ同じだ。
Macが特にすごいとは感じない。
「Apple製品向けのアプリ製作に向いている」について
いまどき、「Apple製品向け」アプリ製作に力を入れる人がどの程度いるのか疑問である。
だいたい、アプリを作ろうとなった場合、Apple製品を使っている人「だけ」を対象にすることは稀だと思う。
何せユーザーの絶対数が少ないのだから。
- iPhone/Androidユーザー
- Windows/macOS/Linuxユーザー
- Chrome/Safariユーザー
という具合に、複数のプラットフォームを対象に開発することが多いのではないか。
複数のプラットフォームを対象に開発する場合、Xamarinなどを使って開発することになるが、
プログラミングするパソコンは必ずしもMacでなくても良い。
ビルドという作業はMacでしかできないが、開発チームのメンバーが一人一台Macを持つ必要は無い。
こうなると、Apple製品向けのアプリ製作に向いているからといってMacを選ぶことが
果たしてプログラミングの勉強をしていく上でメリットになり得るのか。
私はならないと思う。
「Swiftが使える」について
Windowsでも使えます。
「Webアプリがスムーズにつくれる」について

Windowsでもスムーズにつくれる。
Node.jsやDockerなど様々なツールが使えるのでMacと比較しても特に見劣りするポイントは無い。
もし、Webアプリをつくる技術を特に重点的に学んでいきたいのなら、
私はMacではなくLinuxを勧める。
Linuxの方がWebアプリ開発に必要なツールは色々揃うし、
何より実際の運用に近い環境で勉強できるので良いことが多い。
「Windowsもインストールできる」について
最初からWindowsを使おう。
WindowsにはmacOSをインストールできないが、そもそもそれが必要となる場面は滅多に無い。
「Wineを使えばWindowsアプリも動かせる」について
Wineで動かないアプリや文字化けするアプリが非常に多い。
Wineをあてにするべきではない。
最初からWindowsを使おう。
「UNIXコマンドが使える」について

WindowsにはPowerShellという強力なツールがあり、
プログラミングする要領でUNIXコマンドよりも複雑な処理が行える。
さらに、WindowsにはWSLというLinux環境も含まれているので、Linuxコマンドも使える。
Linuxコマンドはサーバーサイドの勉強をする上では必須。
UNIXコマンドはLinuxコマンドに近いのでサーバーサイドの勉強にもなるかもしれないけど、
だったら最初からLinuxコマンドで勉強した方が良い。
Windowsを使っておけば間違いない。
「サーバーサイド言語も勉強できる」について
Windowsでも勉強できる。
Windowsに含まれているWSLというLinux環境を使えば実運用に近い環境で勉強ができるので、
むしろMacよりもWindowsがオススメだ。
「ツールのインストールが簡単」について
WindowsではMac以上に様々なツールが使える。
「こんなツールないかな」と思ったら、Windowsの場合はたいてい見つかる。
Windowsがオススメだ。
「エンジニアは皆Macを使っている」について
「皆」がどの範囲なのかは知らないが、ITエンジニアは十中八九Windowsを使っている。
上記で書いてきたように、オフィスソフトでドキュメントを書く必要があったり、開発上色々と便利だから。
Macを積極的に使っている層は、iOSアプリ開発者や「皆Macを使っている」を信じている初心者くらいだと思う。
プログラミングは様々なソフトウェアの実装で必要になるものだ。
Webアプリやスマホアプリはその内の一部のジャンルに過ぎない。
家電や各種装置に必要な組込みソフト、
PCソフト、
PC用ドライバー、
PaaS用関数、
サーバー用ソフト
などなど。
こうしたソフトウェアの開発の大部分ではWindowsのパソコンが使われている。
他、Windowsの方が良い理由
- Windowsユーザーの数が非常に多いので、トラブル時に相談できる相手も非常に多い。
- Macよりも安いパソコンが多い。
- Macよりもパソコンの選択肢がかなり多い。
どういう人にMacがオススメ?
- iOSアプリを私費でビルドしたい人
- 会社がお金を出してビルド用にMacを買ってくれる場合は不要。
- コーディング自体はWindowsでもできる。
- Macでないといけないのはビルドするときだけ。
- Macのスタイリッシュな見た目にどうしても惹かれる人
- 他、Apple製品を愛する人
- ス〇バでドヤりたい人
まとめ
プログラミング入門者にはWindowsがオススメ。