「プログラミングを学ぶにはWindows、Macのどちらがいいんだろう?」
「大学でWindowsを買うよう言われたけどMacでなくても大丈夫?」
「WebサービスはLinux上で動いているらしいから、Linuxを使うべき?」
プログラミングを始める際にはまずPCを選ぶ必要があります。
その際にWindows、Macのどちらを買えばいいか迷いますよね?
今回はその疑問にお答えしたいと思います。
結論を言えば、どちらを選んでも概ね問題ないのですが、一部の開発はWindowsまたはMacの利用が推奨されます。
そこで今回はWindowsが推奨される開発、Macが推奨される開発、どちらでも問題ない開発は何なのか解説します。
また、多くのWebサービスはLinux上で動いておりますが、開発PCでLinuxを使用する必要はありません。その点についても解説してゆきます。
Windows、Macのどちらでも可能な開発
Web開発
Webアプリの開発はWindows、Macのどちらでも可能です。
Webアプリの多くはLinux上で動作しているので開発環境を構築する際にはDockerなどの仮想環境上でLinuxを動作させて開発を行います。
したがってどちらのOSを使用しても大差ありません。
実際、私自身も仕事でWindows、Macの両方でWebアプリの開発を経験したことがあります。
ただ、Webアプリ開発を行っている会社はMacを使用していることが多いようです。
ですので、今後、Web系企業に就職することを目標にしている方はどちらを選ぶべきか迷った際にはMacを選ぶとよいでしょう。
もちろんWindowsで開発を行っても選考で不利になることはないと思われます。
データサイエンス/機械学習
データサイエンス/機械学習の開発はWindows、Macのどちらでも可能です。
データサイエンス/機械学習はJupyterLab Desktopで行うことが多いですが、JupyterLabはWindows、Macのどちらでも動作します。
したがってどちらのOSでも問題ありません。
私自身もWindows、Macの両方でJupyterLabを動かしてデータ分析を行ったことがあります。
データサイエンス/機械学習を行う際に問題になるのはどちらかというとOSよりもPCのスペックです。
簡単なデータ分析であればスペックが弱くても問題ありませんが、機械学習でたくさんのデータを学習する場合はCPUが多く、メモリサイズが大きいPCを買うことをオススメします。
もし、今お持ちのPCのスペックがあまり高くないにもかかわらずデータサイエンスを行いたい場合は、Google Colabを使用することもできます。
こちらはブラウザを経由してGoogleのサーバ上でこちらはブラウザを経由してGoogleのサーバ上でデータ分析や機械学習を行うことができます。無料な上にGPUまで使用できるので下手なPCよりもGoogle Colabの方が快適かもしれません。
業務自動化
業務自動化の開発もWindows、Macのどちらでも可能です。
というより、業務自動化をしたいと考えているのであれば既にお持ちのPCで行っている作業を自動化したいと考えているはずです。
ですのでWindows、MacどちらのPCを買おうか迷っているような状況はまれだと思います。
Windowsが推奨される開発
Windows用のアプリ開発を行いたい場合、Windowsを購入することをオススメします。
具体的には「C#」というプログラミング言語を用いて「Visual Studio」で開発を行います。
なお、Windows用のアプリは「C#」以外でも作成することができます。
「Node.js」というプログラミング言語でElectronというツールを使用すればWindows、Mac両方で使用可能なデスクトップアプリを作成することができます。
Slackやvscodeなどの有名なデスクトップアプリもElectronで作られています。
ならばすべてのデスクトップアプリをElectronで開発すればよいと思うかもしれませんが、Electronを使った際には「C#」で開発したものよりもパフォーマンスが若干下がるようです。
速度が重視されるアプリであれば「C#」を使用した方が良いでしょう。
Macが推奨される開発
IOS用のアプリ開発を行いたい場合、Macを購入することをオススメします。
具体的には「Swift」というプログラミング言語を用いて「Xcode」で開発を行います。
Windowsでもソースコードを作成するまでは可能ですが、そのあとビルドを行って動かすこと、AppStoreに申請することができません。
したがって、IOSアプリを自作して公開したい場合にはMacは必須となります。
Webアプリ開発にはLinuxを使うべき?
結論を申しますと、多くのWebサービスはLinuxを使用しておりますが開発PCまでLinuxを使用する必要はありません。
なぜなら、前述の項目でも解説したように、Web開発の際にはDockerなどの仮想環境を使用するからです。
そもそも、世の中に流通しているPCにはWindowsかMacがインストールされている場合が殆どです。
そのためLinuxを使用するためには自分でLinuxをダウンロード、インストールしなければなりませんが、パソコンの操作になれていなければ難しいでしょう。
したがって初心者の方はWindowsかMacを使用することをオススメします。
LinuxはWindowsやMacと違い、ライセンスが必要ありませんのでご自宅にライセンスの切れた古いPCが余っている場合はLinuxをインストールして再利用することができます。
Linuxでよく使われているのはUbuntuです。インストールも比較的簡単なので非常にオススメです。
まとめ
Windows専用アプリとIOSアプリを除き多くの開発はWindows、MacのどちらのOSを選んでも問題ないのでご自身の都合に合わせたPCをご選択ください。