結局、Windows, macOS, Linuxはどれを使えば良いのか
概要
Always, Everyday, 24/7, いつでもどこでもやってるOS戦争の話です。
情報系のオタクであればMacを使って損はないということが言いたいだけ
ノートPCの話だと思ってね
お金の話
Mac = 高い, Windows = 普通, Linux = 安い(無料)
のような偏見が結構見られるので言い訳します。
OSの話でいうと、
一番高いのはWindowsです。1万5000円ちょいくらい
macOSはAmazonで3000円くらいです。(普通のPCには原則インスコできないので早まって買わないように)
Linuxの多くは無料です。(RHELのような商用サポートつきディストリビューションもありますが)
ではなぜMac=高いと思われているのか?
こんなところでしょうか?
しかし、実際のところ自分が使っていて問題を感じるとすれば、周辺機器が高いくらいです。
Macbook Airの旧モデル, Mac miniは10万を切っていますし、高望みをしないのであれば、さほど値段は高くないように感じます。
学生であれば、学割やApple on Campusの制度を利用することで1万~2万くらいは安くなります。(モデルによって違う)
でもWindowsのが安い!って人はそれでも良いと思いますが、正直10万程度のPCでは何を買ってもどんぐりの背比べなので、金額で悩むよりも後悔しないものを買うことが重要です。どっかの偉いYoutuberも言ってたけど。
速度の話
体感ではありますが、速度はLinux >>>>>> Windows >= Mac
です。Macは早い!という偏見も結構見られますが、全然そんなことはないです。
Macが早い(スムーズに動作する)という理由として、次のことが挙げられます。
- SSDが早い
- メモリをふんだんに使う
まず、Macの速さは結構SSD頼りなところがあります。爆速SSDを積んでるから早いのです。当たり前ですね。 (また、Appleは最新のOSでAPFSという新しいファイルシステムを採用しています。それも速さに影響しているかも?検証はしていませんが。Windowsは未だにWindows NT時代の遺産であるNTFSを使っています。)
それから、Macはメモリをバカ食いします。これはユーザにストレスを感じさせないように、スムーズな動作を提供するためです。なにもしてなくてもアホほどメモリを食っているのはそのためです。
上記の理由から、Windowsの方が動作速度的には優れているにも関わらず、Macのほうがスムーズに動作しているかのように見せかけています。
Linuxはデスクトップ環境にUnityとか入れる愚行に走らなければバカ早いです。マジで早いです。
見た目の話
Macかっこいいよね。スタバでドヤ顔できます。
Windowsも嫌いじゃないです。Surfaceとかはちょっと受け付けない(laptopはかっこいい)けど、選択の幅が広いので割と自由に選べます。Hp-SpectreとかEnvyとかかっこいい。
新しい Surface Laptop 2 を見てみる – ふれるたび、ときめく – Microsoft Surface
Spectre(スペクトル)シリーズ - ノートパソコン(個人) | 日本HP HP ENVY 13 製品詳細 - ノートパソコン | 日本HP
Linuxはどっちでも動きます。実質選択の幅が一番広いです。
でもOS込みでの見た目っていうとやっぱMacなんだよな〜 リナはディスプレイが高解像度だと対応してなかったり動作が不安定になったりそのへんはいまいち
あとドライバがなくてめんどいことになったりもするので注意!
シェルの話
まずは、Mac, LinuxとWindowsの2つに分けて考えましょう。 前者がUnix-Likeな環境, 後者がMSDOS-Likeな環境です。
Windowsはコマンドプロンプト時代に比べて、Poweshellという強力なシェルやWSL(Windows Subsystem for Linux)がサポートされたため、劇的に使いやすくなりました。
昔はコマンドプロンプトでlsなんて打とうものならそんなコマンドは知らないとか言われてあ、、、あ、、あ、あ、あ、ああ、あ、あ、あ、あああああああ、あ、ああ、、、あ、あああああああああ、、あ、あ、あ、ああ、、ああああああ、あ、あああ、あ、あああああってなってましたけど、Powershellならちゃんとdirコマンドにalias貼られてるし、WSL使えばUbuntuのコマンドがほぼ完全に動きます。
それでもやっぱりネイティブでUnix-Likeなコマンドを使えるというのは強いです。 WSLでもテキスト処理だとかsshだとかそういうのは使えるんだけど、マシンの低レイヤーな部分に触れようとすると厳しいです。(最近はdockerみたいな仮想化技術も使えるようにはなっているらしいけど)
WindowsはGUIとOSの機能が密結合なので切っても切り離せないというのは個人的には結構嫌です。しかもブラックボックスなところが多すぎてどうしてもGUIから操作しないといけないことが出てくるので…
それからOSの機能をフル活用できないのでパフォーマンスも落ちます。WSLも結局は仮想化技術ですからね。
macOSだとかLinuxはGUIとOSの機能が疎結合なのでグラフィカルな部分を使わずにCUIで操作することが出来ます。スクリプトで作業の自動化なんかもちょちょいのちょいです。かわいいですね。
ソフトウェアの話
圧倒的にWindowsのソフトが多いです。 あたりまえですよね、シェア一番だもん。
また、Windowsの特徴としてフリーソフトがかなり多いですが、Win2000までしかサポートされていないような古代のソフトが生き残っている(しかも動いちゃう)ためにそれを使わざるを得ない状況というのがかなりあるのでしんどいです。
ついでmacOSのソフトが多いです。App Storeにいっぱいあります。 Windowsに比べ、こちらは古いソフトというのはあまり生き残ってないです。 なぜなら、Apple様に毎年99ドルのお布施をしないとソフトウェアをリリースできないからです。 逆に言えば、有償ソフトが多い代わりに機能やアップデートなどのサポートが比較的しっかりしています。(開発者目線からいうと、アプリの開発者にしっかり労働の対価が払われるというのは素晴らしいことでもあります。)
Linuxに関しては、ユーザがWindowsの壁紙を変えるような感覚でデスクトップ環境を好き勝手いじくり回すので、GUIアプリというのはあまり普及していなかったのですが、最近はElectronのおかげでクロスプラットフォームなGUIアプリケーションも増え続けています。まったくGithubさまさまですね。
ネットワークの話
世界的に、PCのOSシェア1位は圧倒的にWindowsですが、これがネットワークの世界になってくると逆転します。 ネットワークの世界ではLinuxこそが神なのです。
世界のサーバの約7割はLinuxで動いています。 これは、Unix(Linux)がもともとネットワーク利用を前提として開発されていた経緯があるからなのですが、まぁ多くの利用者は無料でセキュアだからという理由で使っているような気がします。
それに、見通しの悪いOSをサーバに使う気はしません。セキュリティホールだらけになりそうだもん。
実際の使用感
私はMacもWindowsもLinux(Arch, Ubuntu, CentOS)も同程度の頻度で使っているのですが、それぞれに良いところがあるし、悪いところもあると思います。
例えば、Windowsならマウスでカチカチするような操作に長けています。例えばDTMとか動画編集とかネットサーフィン(死語)とか。あとゲームをするならWindows一択です。
Macならキーボード操作をするような操作に長けています。Windowsに比べて修飾キーとの組み合わせがとてもよいです。(実はWindowsのCtrl+CのようなキーボードショートカットはMacから輸入したものです) また、トラックパッドが非常に優秀なので仮想デスクトップの切り替えがスムーズです。 Windows機でも上位モデルになると同様の操作で仮想デスクトップの切り替えができるのですが、操作感はMacと比べると雲泥の差です。
Linuxは、マウスなんていらねぇ!!というような真の漢が使うOSです。CUIでほとんどの操作を完結させられます。学習コストは高いですが、コマンドを覚えれば覚えるほどできることの幅が増えていきます。しかし、普段遣いには向きません。(ぶっちゃけLinuxでできることの殆どはMacでできるし…)
ぼく
僕は普段、基本的にMacを使っています。 コマンド操作もプログラミングも解析もブラウジングもOfficeもチャットツールもメールもTwitterで流れてきたスケベ画像にいいねするのにもMacを使っています。
Macにできないことがあれば仮想環境上のWindowsで対処します。
Linuxも仮想環境に立てますが、動作検証などの使い捨てにすることが多いです。
これで十分です。ストレスを感じることはありません。
もちろん、Macを使っていて面倒に感じることもあります。 zipファイルを送ると中身が変と言われたり、データサルベージしようとしたHDDのファイルシステムがext4で認識しなかったり。 でもそれだけです。
MacZip4Winのようなアプリを使えば解決するし、仮想のUbuntuでマウントしてMacに持ってくるなり、ext4fuseコマンドでマウントすればいい話です。
自分が解決できる範囲の問題は問題ではないのです。