【悩み】プログラミング用のPCを「Windows」にするか「Mac」にするか問題

プログラミング

どうも、デジ猿です。

「デジ猿日誌」はプログラミングド素人が独学の過程で習得する知識の整理のために書くブログです。いわば備忘録なので、何かの問題解決にはならないかもしれません。

が、あえてメリットがあるとすると、猿でもわかるようにできるだけ平易な書き方、噛み砕いた書き方を心掛けますので、そういう意味では初心者には易しいかもしれません。

あ、ちなみに「猿」っていうのは自分のことですよ(笑)

自分が読み返したときにもちゃんと理解できるように、丁寧に言葉の補足などをつけていく所存でございます。そうしないと自分でも理解ができないから(笑)

なのでもしかしたら、プログラミングに興味がない人でも、IT/デジタル界隈について「あ、そういう意味だったんだ!」という楽しい発見には繋がるかもしれません。

はい、前段終わり。本題に入ります。

「やっぱりMac買ったほうがいいのかな」問題

今回のテーマはずばりこれ。「Mac買うべきかどうか」問題。

プログラマーを志す場合、必ず一度は考える悩みごとかと思います。僕も絶賛お悩み中なのですが、いろいろと記事を読んで一旦の結論は出てきました。

いきなり結論書きますが、僕の中での一旦の結論は、

Macのほうが良さそうだけど、自分のPC(surface Laptop / Windows10Pro)のスペックを踏まえると、しばらくはWindowsのままいく」

です。一旦はこれに落ち着きそうです。

でも、きっと皆さんも気になっているであろう「なぜプログラマーにはMac使ってる人が多いのか」についてはやっぱり抑えておきたいところ。

なので、「Windows vs Mac」の記事を読み漁りました。

ちなみにこのテーマに関する記事は他に腐るほどあるので、わざわざ僕のを読む必要はありません。僕と同じ境遇の人(現在surfaceを使っていて、プログラミングやろうかなーと思っている人)なんかは多少参考になるかもしれません。

ご興味ある方、お付き合いください。

「Windows」と「Mac」のイメージ

まずそれぞれのイメージについて。

おそらく皆さん同様かと思いますが、Windowsは「オフィス業務」や「普段使い」、Macは「デザイナー」や「クリエイター」向け、というところが一般的なイメージかと思います。

この感覚は僕も同様です。

なんせOS(オペレーティングシステム:パソコン動作の基盤となるシステム)のシェアでいうと、ざっくりWindows85%、Mac10%ぐらいなので(世界も日本もだいたい同じ)、まぁそういうイメージになるよねって話です。

事実、僕が過去にサラリーマンとして在籍した3社で支給されたパソコンはもちろんWindowsでした。Macが支給される会社なんて、デザイン会社かApple信者の社長が経営してるイケイケベンチャーぐらいじゃないでしょうか。

でも、ちょっと待った。

世の中の大半はWindowsで回ってるはずなのに、そこらのカフェで見かけるPCは「シェア逆なんじゃない?」っていうぐらいMacMacMacです。

おそらくカフェでPC叩いている人はフリーランスのプログラマーなんですが、ほんとなんで揃いも揃ってみんなMacなの??全体のシェア10%なのに!!

ということで、Windows、Macそれぞれの「ポジティブ!」&「ネガティブ…」を挙げていきます。

Windows

まずは僕がWindowsユーザーなので、Windowsから。

ポジネガともに、先に挙げている項目のほうが ”僕にとって” 重要度が高く感じた項目です。下にいくほど、「僕にとってあまり重要でない」もしくは「プログラミング的観点ではあまり重要でない」などになります。

あとちょいちょい僕の”つぶやき”が入ります。

Windowsのポジティブ!

  • 市場シェアが大きいので、情報量(お助け記事やツールが豊富)が多い。
  • 本屋にあるプログラミング関連書籍はWindowsベースで書かれているものが多い。
デジ猿
デジ猿

でも、プログラミングという切り口での「ネットの情報量」でいうと、Macのほうが多いかもしれない、という推測はあり。

  • 使い慣れている。馴染みがある。
デジ猿
デジ猿

まぁまぁWindowsのショートカットとか使いこなしちゃってるんだよな。また覚え直すの正直面倒。

  • 事務系アプリの王道「Microsoft office(Excel/Word/PowerPoint)」が使える。
    • Macにもこれらに相当する「Pages/Numbers/KeyNote」があるが、Officeのほうがクオリティが高い。
    • というか圧倒的に利用されているシェアが高い。
    • 厳密にはMacでもOfficeは使えなくはないが、使いづらいらしい。
デジ猿
デジ猿

ただ正直最近は「Googleスプレッドシート/Googleドキュメント/Googleスライド」に移行してきていて、OfficeもPowerPoint以外は使う機会が激減中なんだよな。

  • PCの種類が豊富(選択肢が多い)
    • 種類豊富なので、安価なモデルも選択肢としてある
  • ゲームとVRの領域は圧倒的にWindowsが強い

Windowsのネガティブ…

  • Appleが開発したプログラミング言語(SwiftやOcject-C)は使えない
    • iPhoneやiPadなどのiOS向けアプリを作るのには適していない。
  • Windowsは使っているうちにだんだん重くなる。
    • 使わないソフトがたくさんプリインストールされている。メンテナンスせずに放置しておくといつのまにか動作が鈍る…というWindowsあるある。
デジ猿
デジ猿

ショボいPC買っちゃうとそうかもしれないけど、今使ってるsurface Laptopはもう2年ぐらい使ってるけど、いまのところ動作が重いという感じはないから、これはあんまり気にしなくていいかも。

Mac

お次はお待たせMacについて。

Macのポジティブ!

  • デフォルトでの開発環境が充実
    • 初めからRuby(ルビー:日本人が開発した日本発のプログラミング言語)やPython(パイソン:AIや機械学習、ビックデータなどの領域で使われているプログラミング言語。最近人気。)が入っている。
    • これらの特定言語は、Macのツール等の関係で効率よく開発できる環境が整っている。
デジ猿
デジ猿

HTML、CSS、JavaScriptと併行して、少しPythonも勉強したいと考えていたから、このポイントは正直後ろ髪を引かれる感じ…。Windows×Pythonはいけるのか。

  • 実はマックでもWindowsが使える
    • 「Boot Camp」というソフトを使えば、WindowsをMacにインストールできる。(逆パターンの、WindowsにMacをインストール、はできない)
  • UNIX系のOSである

【UNIX】:WindowsやMac OSといった「OS(オペレーディングシステム)」の一種で、OSの中では最も古いとされる。UNIXから派生したOSも多く、Mac OSもその一つ。そのため標準でUNIXのコマンドが使用できる。非常に安定したOSのため、多くの大規模なシステムで採用されている。

  • UI(ユーザーインターフェース)や見た目がいい
    • UIが綺麗、操作性がわかりやすくて直観的
    • フォントが美しい、ディスプレイの発色が良い

【UI】:ユーザーインターフェース。『人と機械がやり取りをするときの「接点」もしくは「境界線」』のこと。いわゆる「UI」のイメージとしては、Webサイトの画面などがよく言われる。これはつまり、画面が機械と人間を繋ぐ「接点」になっているということ。なので、「UIが美しい」とは、「(サイトの)見た目や操作性が美しい」とほぼ同義。

デジ猿
デジ猿

Macは使ったことないけど、iPhone(iOS)歴は長いので直感的で使いやすいのはなんとなくわかる。但し、UIは結局「好み」なので個々人の主観が入るポイント。一概に言えない。

  • iOSアプリもAndroidアプリもどちらも開発できる
  • セキュリティーに強い(ウィルスの標的にされにくい)
    • これはつまり「市場シェアがWindowsに比べて圧倒的に小さいので標的にされにくい」ということ。
  • 動画制作や音楽制作に強い
    • 動画制作の「iMovie」や音楽制作の「GarageBand」など、クリエイター寄りのアプリケーションがデフォルトで入っている。

Macのネガティブ…

  • 拡張性が低い
    • CPU(セントラル・プロセシング・ユニット:パソコンの頭脳)のカスタマイズやメモリの増設などができない)。
  • マイクロソフトが開発したプログラミング言語(C♯やVB.net)は相性が良くない。
  • Windows操作に慣れていると、Macに慣れるまでに時間が掛かる。
デジ猿
デジ猿

そりゃそうだ(笑)

  • Windowsの同スペックモデルと比較すると価格が「高い」。
デジ猿
デジ猿

でも、今使ってるPC(surface Laptop)は15万ぐらいしたやつだから、Macに匹敵する高価格でした。その分充分に高性能。

プログラミングに必要なPCのスペック

なんとなくそれぞれのポジネガはわかりました。

それぞれ一長一短あるわけですが、言ってしまえば結局のところ「何をしたいのか?」によって、「何を選択すべきか」は自ずと決まってくるよ、という話です。

まぁ当たり前のことですね。

でもその前に、「そもそも論」として一つこの切り口はどうでしょう。

「そもそもプログラミングに必要なPCのスペックってどんなもんなの?」

です。

当然スペックが高いに越したことはないですが、ハイスペック=高いです。なかなかいいお値段してきます。

なので、見るべき項目とその最低ライン(プログラミングをするのに最低限必要なライン)を調べてみました。

OS/オペレーティングシステム(パソコン動作の基盤プログラム)

有名どころだと、パソコン向けでは「Windows」や「MacOS」、スマホ向けでは「iOS」や「Android」などがあります。

例えば、ゲームを作りたいならWindows、iPhone向けアプリを作りたいならMac、という具合。

これはプログラミングで「何を開発したいのか」に拠る話なので、最低ライン云々ではなく、そういうもの。

CPU(パソコンの頭脳)

パソコンの頭脳です。メーカーとしては「Intel」と「AMD」が2大巨頭。

Intel社製では、世代毎に「i3」や「i5」「i7」などのモデル名がついていますが、数字が大きいほど世代が新しいので基本的には高機能になります。プログラミングやるなら、最低「i5」以上は必要。

AMD社製は「Ryzen」というモデル名。Ryzenの場合は、「Ryzen 3 3300U」以上のモデルが推奨の模様。

メモリ(記憶装置、一時的に作業するための「机」)

データを記憶しておくハードウェアのことで、「机」に例えられます。ハードウェアなので実際に「モノ(=基盤)」があります。

「机」は広い方が作業効率が上がります。

机が狭い → 本当はノートと参考書を同時に広げたいのにどちらかを閉じなきゃいけない

机が広い → ノートと参考書を同時に広げられるので参考書を見ながらノートに書くといった「マルチタスク」が可能になる

という感じです。

プログラミングをするなら、メモリ容量は「最低8GB」以上が推奨。できれば16GBまであると安心。

ストレージ(記憶装置、作業したものを保管する「本棚」)

メモリと同じくデータを記憶しておくハードウェアのこと。

ただ、メモリが一時的に作業をする「机」だったのに対して、ストレージは作業したものを保管・管理するための「本棚」になります。

ストレージには下記2種類があります。

  • HDD(ハードディスクドライブ)
  • SSD(ソリッドステートドライブ)

HDDはSSDに比べて安価ですが、読み書きの速度が遅く、構造上、駆動音がなることと冷却ファンが必要です。

ほら、ひと昔前のパソコンって、起動したときとか何かソフトを起ち上げたときに「ウィーーーン」って唸ってませんでしたか?あれは、データが記録されている磁気ディスクが回転する駆動音なんですね。

加えて、駆動すると熱を帯びるので冷やすために冷却ファンが必要になります。そういえば昔はPCシャットダウンしたあとに、冷却ファンが”ファンファン”唸ってました。

一方SSDは構造がHHDと全く異なり、「フラッシュメモリ」という電源を切っても書き込まれたデータが消えないメモリーを使用したストレージになります。そのため、磁気ディスクの回転自体がないため、駆動音もなければ冷却ファンも要りません。

且つ、読み書きのスピードがHDDより圧倒的に速いのが特徴で今の主流です。

GPU(グラフィック・プロセシング・ユニット)

CPUと同じ「パソコンの頭脳」にあたりますが、GPUは3Dグラフィックスなど「画像描写専門の頭脳」です。

基本的にはパソコンでゲームをする場合や、グラフィックス関連の処理を行う際には必須となってくる項目ですが、プログラミング初心者はそこまで気にしなくてもいいかもしれません。

でもひとつ抑えておくべきポイントとしては、AI(人工知能)関連の処理(機械学習やディープラーニング)にはGPUが適しているということです。

何を意味しているかというと、つまりAI関連の処理は、膨大な量の計算を爆速で処理する必要があるということ。なので、3Dグラフィックなどを表現するための超優秀な専門頭脳のほうがAI処理には適しているんですね。

今後、AI関連のプログラマーを目指すのであれば、GPUのスペックも気にしたほうがいいかもしれません。

ちなみにデジ猿のPCスペックは…

冒頭結論をこう書きました。

Macのほうが良さそうだけど、自分のPC(surface Laptop / Windows10Pro)のスペックを踏まえると、しばらくはWindowsのままいく」

この「自分のPCのスペック」をそれぞれ正確に調べてみたところ、以下のスペックでした。

  • モデル:Surface Laptop
  • OS:Windows 10 Pro
  • CPU:Intel(R) Core(TM) i5-7200U
  • メモリ:8GB
  • ストレージ:256GB(※HHDではなく「SSD」)
  • GPU:Intel(R) HD Graphics 620(※内蔵されている「とりあえず用」のGPU)

購入したのは確か2年ぐらい前ですが、15万ぐらいしたのでそれなりにハイスペックなはずです。先に記載した「プログラミングに必要なスペック」は満たしていそうです。

結論

僕個人の結論はすでに書いた通りですが、一般的な結論としては下記です。(あくまで僕なりの考えですが)

  • プログラミングのためにPCを新調するのであれば「Mac」
  • iOSやMacOS向けアプリを作りたいのなら「Mac」
  • Rubyを学びたいのなら「Mac」
  • ゲームを作りたいのなら「Windows」
  • WindowsのハイスペックPCをすでに持っているのならそのまま「Windows」
  • PC購入の初期投資を抑えたいのなら「Windows」
     ※但しあまりケチらないほうが身のため

こんな感じでしょうか。

僕はしばらくはWindowsでやってみてお金に余裕が出てきたらMacも試してみたいと思います(お金に余裕が出てきたら…とかくるのか知らないけど笑)

ではまた。

▶こちらもどうぞ

コメント

タイトルとURLをコピーしました