プログランミングはMacが良いのかWindowsが良いのかを考える【それともUbuntu?】
はじめに
新しいPCを買うとき,プログラマーとして一歩踏み出そうというとき,大体の人がWindowsとMacどっちがいいの?という疑問に打ち当たる.
もしくは,Mac欲しいけどWindowsの方が使い慣れているし,今から違うOSに変えるのもなあ,という人.
そんな方達に僕の考えをつらつらと書こうと思います.
何番煎じかわかりませんが,まあ誰かの参考になれば嬉しいな.
あと,この記事はパソコン (プログラミング) 初心者〜中級者向きになるかと思います.
ちなみに結論から言うと「なんでも良い」です.
ただ一長一短がありますので,この記事はその解説です.ご了承ください.
筆者について
ちなみにこの記事を書いている僕は,執筆現在は現役の大学院生で,情報工学系の専攻です.
専門は人工知能系でニューラルネットワークです.
そしてWindows,macOS,Ubuntuの使用経験がありますので,それぞれのメリット・デメリットがそれなりにわかります.(多分)
現在はmacOS (個人用) とUbuntu (研究用) がメイン.
同じLinux系のCentOSとかはよく知りません.
プログラミングとしてはC++とかPythonとかJavaをよく書いています.
それぞれのOSの特徴をまとめる
こういう記事って,文字が多くてみる気失せると思うので,最初に全て一気に表にまとめます.
Windows | macOS | Ubuntu | |
プログラミング全般 | ◯ | ◯ | ◯ |
機械学習 | ◯ | △ | ◎ |
ターミナルの使いやすさ | △ | ◯ | ◯ |
Androidアプリ開発 | ◯ | ◯ | ◯ |
iOS, iPadOS, macOSアプリ開発 | ▲ | ◎ | ▲ |
初心者向きか | ◯ | ◎ | △ |
安定度 | ◯ | ◯ | △ |
ソフトウェアの豊富さ | ◎ | ◯ | ◯ |
コスパ | ◯ | △ | ◎ |
スタバで自慢できる度 | △ | ◎ | × |
ざっとこんな感じ.
かなり個人の偏見もありますが,あくまで僕の感想なので,参考程度に.
それでは,つらつら書いていきます.
プログラミング全般
まずは,プログラミング全般については,どのOSでも良いです.
個人的にはディレクトリ構成がUNIX系の方が好きなので,macOSとUbuntuの方が好きですが,情報社会の今はたくさん先人の知恵がネット上にあるので,Windowsでも問題ないでしょう.
ただ,サーバーサイド開発や組み込み開発では,UNIX系のOSを使うことがよくあるので,そう意味では早いうちにUNIX系のOSの扱いに慣れておくことも良いでしょう.
ですが,いずれのOSでもC++もJavaもPythonもRubyもPHPも使えます.
IDEもだいたい全てのOSに対応してくれています.
ただWindowsでSwiftは使えないに等しいでしょう.
機械学習
これは,個人的にはUbuntuが有意かと思います.
UNIX系でなおかつNVIDIAのGPUサポート (CUDA) があります.
次点でWindowsです.WindowsもCUDAが使えます.
もし,GANとか物体検出とか高度な機械学習を学びたい,運用したいのならUbuntuかWindowsの二択です.
macOSは,AppleとNVIDIAが仲直りしない限り,機械学習にはお勧めできません.
深層学習をやらないのであればmacOSでもいけます.
いや,正確にはmacOSでも深層学習できますが,GPUの力がないと学習が全然終わりません.
GPUの恩恵がないと物によっては数週間かかると思います.
機械学習をやるにしても,要はGPU (CUDA)を使うかどうか,なんです.
単純な大小関係で書くなら, Ubuntu > Windows >>>> macOS って感じ.
でも,個人で機械学習をしたい人ってどのくらいいるのかね.
ターミナルの使いやすさ
これはmacOSとUbuntuが有意です.
これは人によるのですが,Windowsも使いにくいというわけでもなく,単にUNIX系のコマンドがデフォルトで使えるかどうかです.
WindowsにもWSL (Windows Subsystem for Linux) が登場して,Ubuntuと同じようなことができるようになりましたので,今の時代どっちでもよいかな,とは思います.
ただWSLは初心者向きではないかなー.
Androidアプリ開発
これはどれでもいけます.
ただ,UbuntuでAndroid開発をするという話はあまり聞きませんね.
使い心地はよくわかりません.
言えることは,どのOSでも開発が可能である,ということ.
iOS, iPadOS, macOSアプリ開発
これはmacOSでしか無理でしょう.
Windowsでも頑張ればできるっぽいですが,どうやら相当面倒くさそうです.
これらのアプリ開発をしたければ素直にmacをどれか書いましょう.
初心者向きか
これは,いろんな意見ありそうですが,僕個人的にはmacOSが有意かと思います.
というのもmacOSは直感的に使いやすいです.
ソフトウェアを新しくインストールするのも超単純です.
パスを通すことも基本的には必要ありません.
これはUbuntuもそうですが,これらのOSはパッケージ管理がとても便利で優秀なので,最初は戸惑っても長い目で見れば,かなり使い勝手が良いOSだと思います.
また,macOSではBoot Campというソフトウェアを用いてWindowsやUbuntuも動作させることが可能です.
安定度
これは評価が難しいですが,とりあえずUbuntuにはよく悩まされます.
「え,なんでそうなった?」「え,フリーズした...」「日本語が打てなくなった」とかよくあります.
まあ,かといってWindowsもmacOSも安定しているとは言い切れません.
WindowsとmacOSを比べると,甲乙つけがたいですが,WindowsはOSアップデートで不安定だし,macOSはよくハードウェアとの連携がうまくいかない時があります.
macはディスプレイが不調だとか,キーボードが不調だとかそこそこあります.(キーボードは今はマシか?)
ちなみに,メンテナンスのしやすさであればmac系はボロ負けです.
ソフトウェアの豊富さ
これはWindowsでしょうね.
ゲームにしても,業務用ソフトにしてもWindowsの方が豊富なイメージがあります.
ですがコアなソフトでない限り,だいたいmacOSやUbuntuに対応しているので,事前に調べましょう.
コスパ
これはUbuntuですかね.
なんたってUbuntuはOSが無償ですし.
mac系は性能と値段で考えれば,コスパ最悪だと思います.
mac系はデザインやハードとOSの親和性で大きなメリットがあるので,性能と価格だけでみるのはナンセンスですかね.
WindowsもハイエンドモデルノートPCだとか,BTO (業者組み立て済) デスクトップマシンになるとコスパは悪い気がします.
スタバで自慢できる度
これはネタではありません.笑
僕はAppleさんのデザインセンスは好きです.
見た目が綺麗でかっこいいと,使っていて心地が良いですし,大切にしたくなります.
見た目は超大事な要素だと思います.
最近はWindowsノートも,appleデザインに寄せたものや,かっこいいものが増えてきたので,良いですよね.
そしてWindowsノートは,選択肢が豊富なのは大きなメリットですね.
ちなみにUbuntuは,そもそもノートPC向きだとは思っていないので,もしスタバで使っていたらある意味,頭がおかしくてかっこいいです.(褒め言葉)
結論:魅かれたものを買って
OSなんて一長一短です.
結局は,予算内で自分が魅かれたものを買うのが良いです.
あとは,自分何をしたいのか.
今回は各OSが,できること,できないこと,得意なこと,そうでないこと,をまとめただけの記事に過ぎません.
そして,新しいOSを使うときに「慣れ」を気にする人がいますが,今の時代どのOSも基本的には使いやすいのですぐに慣れます.
余談
もし,iPhoneやiPadを持っているのならmacOSをお勧めします.
AirDropが便利すぎます.
iPhoneで撮った写真や動画を,macに送って編集,ということが秒でできます.
そして今,macを買うならMacBook Air 2020が良いと思います.(2020.04.30現在)
特に初mac 兼 メインノートPCとして使うならばAir一択です.
お金に余裕あるならMacBook Pro 16インチモデルですね.13インチは今はコスパ最悪です.
ディスプレイやキーボードを持っているのならmac miniも全然ありだと思います.
mac miniの紹介記事は ???? Mac miniの正しい買い方と使い道を考える【2020年版】
おわりに
結局,結構な文字数になってしましました.
この記事はクオリティ低めです,ごめんなさい.笑
まあ,一意見として参考になれば幸いです.
おわり.