この記事の目次
この記事は、これからプログラミングの学習をやるためにはWindowsとMacとLinux、どれが一番いいのかなー?と迷っている方向けに書いています。
正直なところ、ある一定のレベルに達しさえすれば、どれを使っても大差ないよねというのが本音なのですが、そこに至るまでに最も簡単かつ効率的な方法を考えます。
結論としては、タイトルの通りMacが有利って事になるわけですが、以下にその理由を書いてゆきます。
シェルとの親和性が高い
MacOSと言えば、それを支えるベースの部分ではUnixが動いています。
Unixは、1960年代中頃にシステムの開発が始まった、コンピューターの歴史そのものと言っても過言ではないほどの長い年月をかけて洗練され続けたシステムの一つです。
それはそもそもCUI(キャラクターユーザーインターフェース)という文字情報だけで操作をするシステムでしたが、それだと普通の人は使いにくいという事で、現在ではグラフィカル(アイコンをクリックして使うよう)な見た目が主流になりました。

CUIイメージ
しかし内部的には依然、文字(記号)情報で動いているのがコンピューターですので、そこに「シェル」と呼ばれるシステムで直接アクセスできると色々と手っ取り早いのです。シェルにアクセスするためのアプリケーションのことをMac、Linuxでは「ターミナル」といいます。Windowsの場合、初期設定でシェルはありませんが、その役割を果たすのは「コマンドプロンプト」です。

大切なカーネル(システムのコア)を保護するためにシェルは存在しているのです
例えば100個のフォルダーそれぞれの中に入っている100個のテキストファイルに書かれている単語の数をカウントするには皆さんどうするでしょうか。これ、GUIじゃちょっと時間がかかるかも知れませんが、シェルを使えば一瞬で終わります。
もちろんWindowsのコマンドプロンプトを使っても一瞬で解決する方法はあるのですが、問題を解決するために使える手段の多さはUnix,Linuxの方が圧倒的に多いです。
まあ、WindowsでもUnixやLinuxのコマンドを使ってシステムを操作する方法はあるのですが、簡単かつ基本的にそれらのコマンドをネイティブに扱えるというのはMac,Linuxの強みだと思います。
プログラミングソフトウェアのインストールや、それを実際に動かしてみるのも、Windowsに比べてMac,Linuxの方が簡単です。
ではLinuxとMacのどちらがいいの?
上記でWindows対Mac,Linuxという図式で、Mac,Linuxの方が優れていると思う理由を述べましたが、ここからMac対Linuxという図式で話を進めて行きます。
Linuxが最初からインストールされているコンピューターは売ってない
コンピューターにLinuxをインストールして売っている店はひょっとするとあるのかも知れないですが、基本的にLinuxというのは自分でインストールするものですし、Linuxを自分でコンピューターにインストールできない人がLinuxを使い続けるのはかなり難しいと思います。
Linuxには無数のバージョンが存在する
しかも、Linuxというのは無数に種類が存在します。
Linuxは1990年代初頭に、もともと高価だったUnixを真似て作って無料で公開されたOSでありまして、そのベースを利用して様々なバージョン(ディストリビューション)がこれまでに作られてきました。
どれも基本的には同じなのですが、それぞれのディストリビューションごとに癖や方言のようなものがあり、初心者は大いに迷ってしまうことと思います。
まあしかし最近ですと、基本的にはDebian系のUbuntuを選んでおけば間違いないという風潮ではあります。

Ubuntuから派生しているディストリビューションだけでもこの有様
参考までにLinuxディストリビューションの一覧はこちらから見られます。
初心者が難なくLinuxを使うのは難しい
という感じでそもそもLinuxは使い始めるまでに求められるスキルが高いのです。
しかも使い続ける間にも常にスキルを求められる傾向にあるので、初心者にはおすすめできないなあというのが本音です。
とはいえ、頑張ってLinuxを使うことで得ることができるものは非常に多く、ハイリスクハイリターンを狙ってLinuxを選ぶことは素晴らしいと思います。
まあ、本質じゃないところでやたら時間を食われたりもしますが、コンピューターの問題解決能力は高まるでしょう。
MacBookは頑丈で静か
上述の通り、Linuxは色々と敷居が高いので、LinuxよりMac使ったほうが、プログラミングの勉強に集中できると思ってるわけですが、それに加えてMacbookは頑丈です。
総アルミのボディを持つノートパソコンってWindowsマシンではあんまりないと思うのですが(何かしら存在するのでしょうけど)
また総アルミボディの恩恵として、その熱伝導性の高さからボディ自体で放熱してしまうため、ファンの音が静かです。
逆に言うとボディは結構熱くなりがちなのかもしれないですね。私はあまりそう感じたことはありませんが。
モニターがきれい
プログラミングをする時には基本的に色々な情報を参照しながら細かい文字を打ち込んでゆくような作業になりがちなので、ディスプレイはなるべく目に優しいものを使ったほうがいいと、個人的には思います。
その点、MacはRetinaディスプレイを搭載しておりますと、非常に細かい文字も判別がつきやすく、余計な神経を使わずにすみます。
以前MacbookでLinuxを動かしていた事があるのですが、私が動かした環境ではLinuxでMacbookのディスプレイをRetinaディスプレイとして使うことはできませんでした。
以前はこんな記事を書いていましたが、今となってはMac上でLinux使う意味もないな、と感じています。。。
タッチパッドが優秀
Macbookに使われているタッチパッドは本当に優秀です。
プログラミングというのは、基本的にはブラウザを横において作業するようなもんでありまして、Google先生と二人三脚でやるようなイメージなのですが、ブラウザとプログラミングエディターとの行き来や、各種操作について、タッチパッドが優秀なおかげでマウスの必要性を一切感じないというのは結構なアドバンテージな気がします。
Macbookならいつでもどこでも、膝の上でらくらくプログラミングできちゃうわけです。
ということで、これからプログラミングを学習する人には、Macbookが一番いいというお話でした。
プログラマーにとってのMacとは、WindowsとLinuxのいいとこ取りみたいな存在だと思います。
あとMacにはWindowsにはない、優れたアプリケーションがいくつかあるんですよね。
パっと思いつくのはAlfred(GUIで使えるシェルっぽいもの)とか、BetterTouchTool(タッチパッドの機能拡張)とか、MarsEdit(ブログ執筆ツール)とか。
特にブログの執筆を代表とする、メモを残し続ける行為はエンジニアにとって必須だと感じます。
人にわかるように説明するのって、自分の理解を深めるためにも必要なことなんですよね。
別に最新式の最高のMacを買う必要もないんで、これからプログラミングを始める人はとりあえずMacbookおすすめです。
普通のWindowsマシンと比べて、確かにちょっとお値段は張ってしまうのですが、その価格に見合って余りあるだけの価値がMacbookにはあると思いますよ。
私は最近、Retinaディスプレイを搭載したMacbookAirの11インチが出たらほしいなあと思っていますが、これが実現するのはもうちょっと先みたいですね。
ではでは!
更新情報をお届けします
この記事へのコメントはありません。