はじめに
プログラマーやエンジニアは様々なツールやOS、システムを自在に扱うことができるようになることが、究極的な目的の一つではある。しかし、初心者にとって一番難しいのが、どのOSが自分の用途に適しているのかである。そこで、今回はWindows,Mac,Linux(Ubuntu)を保持する筆者が初心者にとって、どのOSが最適なのかを議論する。
OSの種類
一般に、パソコンのOSはWindows,Mac,Linux(以下Ubuntuに限定する)の3種類を意味する。一部スパコンや、AWSシステムなどのインフラを扱っているPCはマニアックなLinuxを用いているものもあるが、今回は考えない。
そこで、それぞれのメリットとデメリットをまとめるので参考にして欲しい。
Windows
まずは、パソコンのOSと言えば、Windowsである。ExcelやWordといったマイクロソフトのソフトを始め、基本的にほとんどのアプリケーションに対応している。
以下メリットを挙げる。
- 汎用性が広い
- 初心者からプロ向けの幅広いペルソナ
- オフィスと相性がいい
- 情報が豊富
- ユーザーが多い
- 安く基本どのようなパソコンにも入っている
- 動作が安定している(変なことをしないユーザーに限る)
まとめると、良かれ悪かれ、多くのユーザや企業が標準対応しているため、パソコン初心者やオフィスソフトを多用するユーザにとってはオススメである。
次に、デメリットを挙げる。
- 環境構築が複雑化しやすい
- システムが複雑すぎる
- ライブラリの衝突などが生じやすい
- コマンドが特殊(パスの通し方など)
- MicroSoftのマーケティング戦略にかかりやすい
- アップデートが多い
- 突然ブルースクリーンを吐く
- 遊べない(主にメインPCになるので)
- 文字化けやレトロなトラブルが起きやすい
まとめると、PythonやRubyなどの比較的新しいプログラミング言語を扱う際は少し注意が必要である。(勘違いしないで欲しいのがプログラミングを出来ないという訳ではない)むしろ、C言語やJAVA、PHPなどの古くからある言語は、Windowsの方が、扱いやすい場合がある。ただし、古すぎるシステムの場合は文字化けなどのバグを引き起こしやすい。
Mac
次にMacについて述べる。
モダンなWebアプリや最近のエンジニアにとってかなり重宝されているOSである。特に、iphoneアプリを製作することができるXcodeなどの機能は、原則Macでしかない。また、モダンなWeb系を扱うエンジニアは、Macで開発する場合が多い。
さらに、iPhoneで撮影した画像などのファイルを簡単にMacと同期することができる。(ただし、このような同期機能は近年Windows11とAndroid,ChromeOSとAndroidにも付き始めている。)
以下メリットを述べる。
- スペックや機能性が高い
- Linuxコマンドなどの環境が既に整っている
- HomebrewというMac特有のコマンドでアプリ等のインストールが容易
- GUIとCUIのバランスが良い
- デザインが良い
- Adobeなどのデザインソフトと相性がいい(動画編集に有利)
- オフィスなどのソフトもまあまあ使える
- ライブラリの衝突が起こりにくい
- 比較的操作がシンプル
まとめると、高い機能性やデザイン、iPhoneのアプリに興味のある方やWeb系を志したい人にとってはオススメである。
次に、デメリットについてまとめる。
- 基本的に高価である
- 中級者以上向け
- リソースが乏しい分野あり(Windows程親切ではない)
- 販売店や修理店が充実していない(基本純正のみ)
- 重量が重い(高性能なため)
まとめると、使用しているユーザーがそこそこしかいないので、エラーなどが起きてもそれに対応するリファレンスが日本語に対応していない場合が多い。また、高性能なため重量やサイズが大型になりやすい。
一応、officeには対応しているが、マクロなど複雑な操作を行う場合やWinを扱うユーザとのレイアウトやフォントのずれなどが生じる場合がある。
また、WineというWindows対応のexeファイルをMacやLinuxで実行するというソフトウェアもある。
しかし、文字化けや対応できない場合も多いのでその場合は大人しくWindowsを使った方がいい。
Linux(Ubuntu)
最後に、Ubuntuについて述べる。Ubuntuは無料OSなためサーバーやAWSのようなクラウド、データサイエンス用のスパコンなど意外と身近なところで使用されている。駅の掲示板のシステムなどにも採用されている。
縁の下の力持ち的なOSであるということを覚えておいて欲しい。
以下メリットについて述べる
- マニア向け
- プログラミングとすこぶる相性が良い
- 動作が軽い
- 低スペックのPCにも最新版を導入可能
- デザインが良い
- コマンドベースで処理ができる
- 膨大なデータを扱いやすい
- 勉強用になる
- 遊べる(システムを破壊したても再インストールすればいいだけ)
- コスパがいい
- ウイルスにかかりにくい
- アップデートが無料かつシンプル
まとめると、プログラミングをする方でマニアックなもの好きな方にとっては、すこぶる人気があるといえる。また、古いソフトウェアや英語版のソフトウェアを動かしたりする際の検証用PCとしても重宝する。
次に、デメリットについて述べる。
- メインにはしない方がいい
- OfficeやAdobeと仲が悪い
- 初心者には不向き
- リファレンスが乏しく、英語が多く専門家向け
- Steamなどのゲームができない
まとめると、遊びや勉強用として使うOSには最適だが、Officeと相性が悪いためメインのパソコンにするには不向きである。
OfficeについてはLibreOfficeという代替品もあるが、細かい文字フォントなどの違いもあるため、Officeにこだわる方はWindowsを使うべきだ。
ただ、近年はweb版のOfficeソフトやSteamが開発したLinux OSも一応存在する。しかし、機能がWindowsのように充実はしてない。
まとめ
今回は、3種類のOSについて紹介した。Windowsは、一般人向けでMacはモダンなwebやアプリ系のエンジニア向け、Linuxはマニアや研究者、データサイエンティスト向けという結果になった。なので、個人的には、Windowsをよく使用するが、Webアプリを作成したい場合はMacを使う。
ただ、近年はクラウド技術の進歩もあり、OSがそこまで重要では無くなりつつある。だが、とりあえず初心者はリファレンスが豊富なWindowsをメインで使用することをお勧めする。