みなさんこんにちは!
2021年も終わりに近づき、年内に新しいことを始めたいと思っている方も沢山いらっしゃると思います。
今回はプログラミングを新たに学びたいという方に向けてオススメのPCを紹介していきたいと思います。
更新しました
2021年9月30日に一部内容を更新しました。
プログラミングにはどんなパソコンが適しているのでしょうか?
これは「何のためにプログラミングをするのか」によって変わってきます。プログラミングでゲームを作りたい方、Webサイトを立ち上げたい方、様々な目的があります。
この記事ではそれら目的ごとにどんなパソコンが適しているのか、私の経験を元に解説していきたいと思います。
こんな方におすすめ
- これからプログラミングを始めるという方
- プログラミングに興味がある方
- プログラミングに興味があり、PCを買い換える方
Contents
まず初めに
一般的にパソコンを選ぶ上で考えるべきことは
- デスクトップPCかノートPCか(持ち運ぶか否か)
- パソコンの性能(CPU・メモリ・グラフィック性能・ストレージ容量)
- カスタマイズ性(ストレージ容量を変えられるか?メモリの増設は?)
- 金額・コストパフォーマンス
- 見た目や重さなど
こんなところでしょうか。
プログラミングをする場合はこれに加えてOS(オペレーティングシステム)が何か、ということが重要になってきます。
ココに注意
ちなみにPCを選ぶ際はSSDが搭載されている(もしくはSSDが追加できる)パソコンを選ぶことを強く推奨します。HDDと比較すると体感スピードが圧倒的に違うため、どんな用途でもSSDがあったほうがいいです。
プログラミングに適したOS & PC
ではプログラミングに適したOSとは何でしょうか?
その上でどんなPCがオススメなのでしょうか?
OSとは? & 各OSの特徴
OS(オペレーティングシステム)はパソコンを動かすための基盤となるソフトウェアのことです。
パソコンのOSはWindows・macOS・Linux系の大きく分けて3種類と考えてください。(スマートフォンはまた別のOSで動いています)
補足
正確にはLinuxと言っても多くの種類があり、最も有名なLinux系のOSはUbuntu(ウブントゥ)と呼ばれるものです。他にもサーバー用途としてCentOSなどが有名です。
これらOSにはそれぞれ特徴があり、適した用途も異なります。
OS | 良い点 | 悪い点 |
Windows10 | 使っている人が多い | 開発環境が整えにくい |
macOS | 使いやすい・開発環境を整えやすい | 価格が高い |
Linux ( Ubuntu ) | OSが無料・開発環境を整えやすい | 普段使いには向いていない |
どのOSがいいの?
ではWindows・macOS・LinuxのうちどのOSを選んだら良いのでしょうか?
実のところ「これでなければならない」というものはありません。どんなOSでもプログラミングは出来ます。
プログラミングに必要なツールやソフトウェアはほとんどの場合、各OSそれぞれに対応したバージョンが公開されています。
つまりどのOSを選んだとしても必要なツールやソフトウェアが分かっていれば、プログラミングをすることは出来るのです。
ただし明確な目的、つまり作りたい物・やりたいことがある場合は適したOSを選ぶ必要があります。
ここからはそれぞれ「作りたいものが決まっている場合」と「作りたいものが決まっていない場合」についてそれぞれ説明していきます。
作りたいものが決まっている場合
作りたいものが決まっている場合はどのOSを選んだらいいのでしょうか?
基本的にプログラミングで何かを作るときには「それを実際に使う環境(OS)で作る」というのが最も適しています。
例えばWindowsで動くゲーム・アプリを作るのであればWindowsで作るのがいいですし、Macで動くアプリを作りたいのであればmacOSで作るのがいいです。
使うOSで開発すれば作ったPCでそのままテスト・実行することが出来ますし、環境の違いによる影響を受けづらいのです。
MacやLinuxで作って、動かすときはWindowsで動かすというのは、(別に問題はありませんが)それなら最初からWindowsで作ればいいじゃんという話です。
注意ポイント
ただしiPhoneのアプリ(iOSアプリ)を作りたいのであれば必ずmacOSでなければなりませんので注意して下さい。
それでは目的ごとにオススメのOS & PCを紹介していきます。
PCのゲーム開発がしたい方
PCのゲームを作りたい方はWindowsで開発することをオススメします。
ブラウザのゲームを除けば「PCゲーム = Windowsでやるゲーム」と言っていいと思います。
上でも述べた通り「それを実際に使う環境(OS)で作る」のが好ましいのでWindowsで開発することが最も適していると言えるでしょう。
理由はそれだけではなく、PCゲームを作る際はそれなりのスペックがあった方が良く、カスタマイズ出来るデスクトップPCを選んだほうが良いです。
私は実際にゲーム開発環境として有名なUnreal Engineを使ってみたのですが、それなりに「重い」です。
Macでグラフィック性能が高いものを選んだら結構なお値段がかかりますし、後からカスタマイズすることは困難です。
もちろんLinuxでも開発はできますが、あえてそうする意味もないのでやはりWindowsが適していると言えるでしょう。
補足
ちなみにディスク容量も多い方がいいです。Unreal Engineなどを使っていると数十GB~数百GBをあっという間に使ってしまいます。
ここまでの結論
PCゲームを作るならWindowsのデスクトップPCを買うべし!
スマートフォンアプリを作りたい方
スマートフォンアプリを作りたい方はmacOSを強くオススメします。
上でも述べた通りiOSアプリを作る場合にmacである必要がありますし、アプリを作る際に「Androidアプリだけ作る」ということはあまりないと思いますので、素直にMacを買うのが良いと思います。
スマートフォンアプリですのでPCの3Dゲーム開発ほど高スペックのPCは必要ありませんが、スマートフォンの動作を"エミュレート"(仮想的に動かすこと)しなければならないのでそれなりのスペックが必要です。
以上のことから私はMacbook Proをオススメします。
Macbook Proならばスマホアプリ開発でも十分な性能ですし、少なくとも5~6年はスペックの面で困ることはないでしょう。
また持ち運びが出来るというのもポイントです。性能を求めるならデスクトップPCの方がいいですが、そうでないなら極力ノートPCを選んだほうが便利ですから。
ここまでの結論
スマートフォンアプリを作るならMacbook Proを買うべし !
【2021年9月30日更新】2021年9月現在発売されているモデルではMacbook Pro13インチ(M1 Chip)がオススメです。M1チップはAppleが独自に開発したチップで非常に性能が高く、アプリ開発にも適したPCと言えます。ただし近いうちに次世代のMacbook Proが発売されると噂されており、M1チップの後継であるM1Xを搭載したモデルが発売されるようです。そこまで待つことをオススメします。
Webサイト・Webサービスを作りたい方
Web開発に関してはどのOSでもいいのですが、私はmacOSをオススメします。
私個人がそれぞれのOSで開発をしてみた経験から言うと、macOS > Ubuntu > Windowsの順でオススメです。
これからプログラミングを始める方にとってはやや高度な話になってしまいますが、最近のWeb開発は「Docker」というソフトウェアを使用することが多いです。みなさんもいつかは使うことになると思います。
このソフトを用いるとどのOSを使っていても違いを吸収してくれるため、OS選びに悩む必要はありません。それでも「なおWindowsの場合は~~をする必要があり...」ということがあるので、やはりMacがオススメです。
開発にスペックはそこまで必要ないため、Macbook Airがオススメです。(もちろんMacbook Proであればより良いですが)
ここまでの結論
Web開発なら何でも良いぞ!
ただしオススメはMacbook AirかMacbook Proだ!
【2021年9月30日更新】2021年9月現在発売されているモデルではMacbook Air13インチ(M1 Chip)がオススメです。M1チップはAppleが独自に開発したチップで非常に性能が高く、オススメです。
ただしMacbook Proについては近いうちに次世代のMacbook Proが発売されると噂されており、M1チップの後継であるM1Xを搭載したモデルが発売されるようです。そこまで待つことをオススメします。
実のところWeb開発をする場合、PC自体にお金をかけるよりもVPSと呼ばれるサーバーを借りてみて実際にWebサイトを公開してみたりするほうが学習効果が高いと思います。
VPSの中ではConoHaのVPSが有名です。
AI・ディープラーニングに興味のある方
AIの勉強やプログラミングがしたい方はUbuntuがオススメですが、次善の策としてWindowsもオススメです。
開発ツールはMacでも用意できますし、プログラムの実行はなんら問題ありません。
ただしディープラーニングは普通にCPUを使っていると、プログラムの実行にかなりの時間がかかってしまいます。そこで多くの人は自前でグラフィックボードを用意し、GPUを学習に利用するという方法を取ります。(必ずNvidiaのグラフィックボードでなければなりませんので注意)
そういった事情からMacではない、デスクトップPCを買うことがオススメです。
ではWindowsかLinuxのどちらがいいでしょうか?
開発ツールはどのOSでも動きますが、中にはLinuxでしか動かないものもあるため、本来はLinux系の一つであるUbuntuがいいのです。
ただしUbuntuには(また後で述べますが)普段使いが厳しいという側面があり、プログラミング専用であれば問題ありませんが、他の用途でも使いたい場合はWindowsと併用・またはWindowsを使用することをオススメします。
別ディスクへのUbuntuインストールがオススメ
ちなみに私はWindowsのデスクトップPCにSSDを追加し、Ubuntuをインストールしています。
ポイントはWindowsをインストールしているディスク(HDD・SSD)とは別のSSDを用意し、そこにUbuntuをインストールするという点です。
ポイント
これによってWindowsのシステムに影響を与えることがなく、Ubuntuをインストールすることが出来ます。もしUbuntuを使わなくなっても、そのSSDだけ取り外せばいいのです。
これが最も柔軟かつ失敗しにくい方法だと思います。
お金をかけたくない場合
実は最近ではオンラインでディープラーニングの環境を無料で使えるサービスもあります。
これはGoogleが提供しているColabというサービスです。
制約はあるもののこういったサービスを利用することも可能です。この場合はどんなOSでも低スペックのPCでも開発は可能ですのでチェックしてみることをオススメします。
ここまでの結論
ディープラーニングを学ぶならデスクトップのWindowsのPCにUbuntuを別ディスクでインストールするのが理想だ!
SSDには幅広いラインナップがあります。ここでは私が実際に使用しているSSDを紹介したいと思います。
私はUbuntuのインストールには2.5インチSSDの「Crucial MX500」を使用しています。
また高速なアクセスが必要な場合 + データストレージ用にM.2 SSDで同じくCrucialの「P1シリーズ 1TBモデル」を使用しております。
【2021年9月30日更新】現在は後継モデルのCrucial SSD P2シリーズが発売されています。
作りたいものが決まっていない場合
実際のところ多くの方がこちらなのではないでしょうか。
かくいう私も最初は何となく興味をもったので作りたいものなんて決まっていなかったです。
こういった方はPCは何でも良いです。なんなら適当な安い中古のパソコンを買ったり、使っていない古いPCを使ったほうがいいと思います。
その際はOSはLinux系の一つであるUbuntuをインストールすることをオススメします。
Ubuntuをオススメする理由
Ubuntuは非常に軽量なので低スペックのPCでも動作しますし、OS自体は無料なのでイヤになっても損しません。(これ重要!)
また実のところ私が"プログラミング全般"をするのに最も適しているのはLinux系のOSであると思っています。
ただし...
ただしLinux系のOSの場合、普段使いをするのが難しいという側面があります。
私は実際にUbuntuを使っていますが、WiFi子機のドライバがなかったり、よく分からないエラーメッセージが出たりと何かと問題が起こります。
ポイント
特に英語の記事を読んで対応しなければならないこともあります。プログラミングをやるならいずれは経験することなのでデメリットとは言い切れませんが。
こういったことに対応するのがイヤだな〜と考える人も多いと思います。
そういったことも考慮すると、「腰を据えてプログラミングを学びたい」、「将来アプリ開発者になりたい......かも」という方はMacbook ProやMacbook Airを買うのも大いにアリだと思います。
ここまでの結論
やることが決まっていないのなら安い中古のパソコンにUbuntuを入れるべし!
ただし腰を据えてやりたいのならMacbookを買うべし!
【2021年9月30日更新】2021年9月現在発売されているモデルではMacbook Air13インチ(M1 Chip)がオススメです。M1チップはAppleが独自に開発したチップで非常に性能が高く、オススメです。
その他・余談
私の使っているパソコンは?
私はノートPCとしてMacbook Proを、デスクトップPCとしてWindowsを使用しています。また上でも少し述べましたが、Windowsとは別のSSDにUbuntuをインストールして使っています。
ちなみに自作PCなので、自由にカスタマイズ出来ます。(もちろん保証はありませんが)
Chromebookでプログラミングは出来るの?
最近Chromebook がCMなどでも話題になっていますが、プログラミングには適していません。
オンラインのWebサービスなどでプログラミングを学習することは出来ます。しかしプログラミングというのは環境のセットアップをしたり作ったものを動かしたり、そういった「プログラミングに伴う一連の作業」を含めてのものだと思います。
そういったことを考えるとChromebookはプログラミングを学習する上では適切ではないと思います。
【2021年9月30日更新】2021年9月現在ではChromebookでLinuxの環境をセットアップし、開発環境を整えることが出来ます。実際Chromebookで開発環境をセットアップする記事なども多く出ています。ですが個人的には未だにChromebookは推奨しません。いくらChromebookが安いからと言っても3~4万円はしますし、いわゆる「軽い」用途しか出来ません。PC自体のカスタマイズ性もよくないものが多いです。
それよりは10万円強必要とはいえ、Macbook Air(M1 Chip)であれば何をするにしても不足はありませんし、将来的に様々な用途にも使うことが出来ます。
一方で安さを追い求めるのであれば、中古ノートPCをSSD化し、Ubuntuを入れるというもオススメです。プログラミング(やIT教育)の「学習」という意味においても、OSのインストールからやってみるのは楽しいですよ。
仮想環境を使えばOSなんて何でもいいのでは?
仮想環境はある程度のスペックが必要ですのでメモリを沢山積んだデスクトップPCならありだと思います。
いずれにせよ目的次第だと思います。
WindowsにはWSLがあるから最強?
WindowsにはWindows Subsystem for Linux(WSL)というWindowsからLinuxを利用するための仕組みが提供されています。
ただし少なくともこれからプログラミングを学ぶという初心者にとってはWSLは適切ではありませんので言及しませんでした。
まとめ
プログラミングにどのようなPCが適しているのか、目的ごとに紹介しました。
プログラミングはどんなPCでも出来ますが、あとになって「あれを買っておけば」と後悔することもあります。何となくでもやりたいことが決まっていたら、それに適したPCを購入しましょう。
参考になれば幸いです。
===
個人的にはUbuntu 20.04 LTSを楽しみにしています😃