<初心者向け>プログラミング用のノートパソコンの選び方

2019年10月13日プログラミング

プログラミングをしたいけどどのパソコンを選んだらいいかわからないという人をたくさん見かけるのでプログラミング用のパソコンの選び方を説明します.

はじめに

ここでおすすめしているのは,最低スペックではなく,快適にプログラミングができるスペックです.
ここで紹介しているよりも,低いスペックでもプログラミングはできます.
(何をするかにもよりますが)
パソコンを使ってプログラミングしかしないなら,オーバースペックかもしれません.
しかし,パソコンを買うと何か新しいことを始めたくなるかもしれませんし,web系のプログラミングの場合,一緒にデザインもやることになって画像編集ソフトを使わないといけなくなるかもしれません.
僕がMacを買ったときも,軽いプログラミングしかしなかったので僕にとって超オーバースペックでした.
しかし,使っていくうちに画像編集やデザインに興味を持ち,Affinity PhotoとAffinity Designerを買いましたし,ディープラーニングも始めました.
いまでは,スペックに見合った使い方ができていると思っています.
だから,買ったときはオーバースペックかもしれませんが,使っていくうちにそのスペックに合った使い方をするようになっていくと思います.
使っているパソコンは,MacBook Pro2018(13.3inch)で,CPUは2.7GHz Intel core i7,メモリは16GB,ストレージは512GB SSDです.

OS

OSとは,コンピューターを動かすためのソフトウェアです.
OSが違うと,動かせるソフトウェアが変わります.
OSは主にWindows, Mac , Linuxの3種類あります.
それぞれについて少しだけ説明します.

Windows

WindowsはMicrosoft社が開発しているOSです.
シェアが9割近くあり,とてもユーザー数が多いことが特徴です.
WordやExcelなどのOfficeもMicrosoft社が開発しているので,Officeをメインに使うならWindows一択です.
しかし,プログラミングに使うには,あまり向いていないのでは?と個人的に思っています.
パッケージマネージャーがない,管理者権限が原因でエラーが出ることが多いからです.(この2つのデメリットは言語によってはあまり関係ないと思いますが…)

macOS (OS X)

macOSはApple社が開発しているOSで,直感的でシンプルな操作性や,ハードウェアソフトウェアを一緒に開発していることが特徴です.

iPhoneに搭載されているiOSはmacOSをベースにつくられているのでとてもiPhoneとUIがに似ていて,iPhoneユーザーにっとてはとても使いやすいです.
プログラミングの面でもプログラマーの間で人気が高く,Homebrewなどのパッケージマネージャー(ソフトの導入を簡単にしてくれるソフトウェア)があります.
swiftやObjective-Cを使ってiOSのアプリ開発をするなら,Mac一択です.
しかし,macOSを搭載したコンピュータはAppleの製造している,Macしかなく,同じスペックのWindowsPCと比べると高価なことが欠点です.
しかし,ディスプレイの解像度が高く目が疲れにくい,トラックパットが使いやすい,OSのサポートがとても長い(2019年10月にリリースのmacOSCatalinaは2012発売のモデルMacに入れるとこができる)などを考慮すると,コストパフォーマンスはMacの方がいいと思います.

Linux

Linuxは1990年代半ばに、当時学生だったフィンランドのプログラマーのリーナスが作ったOSです.
Linuxがインストールされて売られているパソコンはほとんどないので,Windowsが入ったパソコンを買って自分でインストールする必要があります.
オープンソースなので無料で使えて,サーバーに使われることが多く,あまり目にすることはありませんが,プログラマーで使っている人はいます.
Linuxを使う場合,ディストリビューションという一般利用者がインストールしたり、利用できる形にまとめ上げたものをつかいます.
一番有名で利用者の多いLinuxディストリビューションはUbuntuです.
ディープラーニング用のPCにもUbuntuが入っていることが多く,プログラミングの情報もたくさんあります.
しかし,プログラミング初心者はLinuxはやめたほうがいいです.
ソフトウェアのインストールでよくエラーが出ます.
周りに,Linuxを使っているプログラマーがいない限り,なにかトラブルがあったときは,自分で調べて解決するしかありません.
それができるならUbuntuを使ってもいいかもしれませんが,プログラミング初心者にはお勧めしません.

CPU(プロセッサ)

CPUは処理をする部品で,人の脳みそにあたります.
販売されているほとんどのパソコンは,Intel製のCPUを搭載しています.
以下の表のようにグレードが6つあります.

CPU名 特徴 用途
core i9 一般向けの中で最高性能 動画編集,画像編集,ゲーム,3DCAD
core i7 高性能 動画編集,画像編集,ゲーム,3DCAD
core i5 たいていの場合これを選べばOK office,画像編集(動画編集,ゲーム)
core i3 あまりハードにはつかえない ブラウジング,office
Pentium 安価 ブラウジング,office
Celeron 一番安価 ブラウジング

下2つのCeleronとPentiumはおすすめしません.
処理速度がとても低く,ほかにやりたいことができたときにスペックが足りなくなる,OSやアプリの起動が遅いなど,ストレスがたまります.
特に,ディープラーニングをする予定なら,絶対に選んではいけません.
tensorflowが動かないからです.
ほかのChainerなどのフレームワークなら動くかもしれませんが,ディープラーニングの処理はとても重く,処理に時間がかかりすぎてしまいます.
最新世代か1,2世代前のcore i5以上を選んでおけば確実です.
web系のプログラミングだけで,画像編集などをしないなら,core i3でも十分です.
2019年10月13日現在第10世代が最新です.

ストレージの種類

ストレージとはデータの保管庫です.
SSDとHDDの2種類あります.
それぞれについて解説します.

SSD

SSDはソリッドステートドライブの略です.
転送速度が速い,軽量,衝撃に強い,省消費電力などの特徴があります.
HDDに比べて高価ですが,起動が速く,持ち歩くことのあるノートPCでは衝撃でHDDが壊れることがよくあるので,SSDをおすすめします.

HDD

HDDはハードディスクドライブの略です.
転送速度が遅い,うるさい,消費電力が大きい,衝撃に弱いなどデメリットが多いですが,安価なので容量が大量に必要なときに,デスクトップに組み込んだり,サーバー上で使われています.
ノートPCではあまり選ばないほうがいいでしょう.
僕も,ノートPCのHHDを壊した経験があります.

ストレージの容量

ストレージの容量は多ければ多いほど安心です.
SSDは空き容量が減るほど転送速度が下がるので(体感できるほどの速度低下ではありませんが),多めに選んでいたほうがいいです.
プログラム自体のサイズは1MBに満たないことが多いです.
しかし,Pythonの場合,Anacondaだけで,10GB近くに達することもありますし,ディープラーニングの学習データのサイズが何十GB似達することもあります.
プログラミングだけ(ディープラーニングをしない)なら,128GBあれば安心でしょう.
しかし将来,そのパソコンで画像編集や,動画編集などをしたり,する可能性もあるなら,512GBぐらいはあったほうがいいと思います.
ストレージが余れば,スマホの写真のバックアップをとってもいいですし,多めに選んで損はないと思います.

メモリ

メモリとは起動してるアプリの情報を保存しておくためのものです.
よく,机の広さに例えられます.
机の上に開いている本がアプリです.
机が広いほど,たくさんの本が開けます.
机が足りなくなると開いている本を閉じなくてはいけなくなります.
しかし,本を閉じると困る場合,本にしおりをはさんで,本棚の机に一番近い場所に本を置きますよね?
パソコンでも,メモリが足りなくなると,アプリのデータを圧縮してストレージの高速にアクセスできる部分に,保存します.
しかし,本棚に置いた本をとり出して,前に読んでいた部分を開くには,少し,時間がかかります.
パソコンでも,圧縮してストレージに保存したアプリを使おうとしたとき,にはストレージからメモリへの読み込みが発生します.
この読み込みは時間がかかってしまい,作業が中断されてしまいます.
さらに,メモリが足りなくなると圧縮の処理が追いつかずにアプリやOSが落ちてしまうことがあります.
だから,メモリの多めに選んで置いたほうがいいです.
実は,WindowsとMacではメモリ管理の方法が違います.
Macは,パフォーマンスを落とさないためになるべく圧縮を行わないように設計されています.
対して,Windowsは少ないメモリでも安定して動かすために圧縮をして,なるべくメモリに空きをつくるように設計されています.
Macでは16GB,Windowsでは8GBあれば快適にプログラミングをできるでしょう.

まとめ

OS Mac(Window)
CPU 最新か1世代前のcore i5以上
ストレージの種類 SSD
ストレージ容量 256GB以上
メモリ 16GB(Windows:8GB)

ここで紹介しているスペックものをえらべば,ほとんどの場合快適にプログラミングができます.というか,オーバースペックだと思います.
ディープラーニングをする場合でもCPUをcore i7にすればまあまあのスピードで学習処理ができます.
さいごにおすすめスペックで買うときの最低金額を参考に載せておきます.
SSDは256GBのモデルが多かったので,リンクと価格は256GBSSDのモデルです.
Macの場合MacBook Air2019(要カスタマイズ)になります.
https://www.apple.com/jp/shop/buy-mac/macbook-air/スペースグレイ-1.6ghzデュアルコアプロセッサ(turbo-boost使用時最大3.6ghz)-256gb#
¥161,800(税抜き)です.
Windowsの場合dell製だと¥57,654(製抜き)でした.
https://www.dell.com/ja-jp/shop/デルのノートパソコン/inspiron-14-5000-即納-プレミアム/spd/inspiron-14-5480-laptop/smi270whlbkf08on3qjp
ちなみにHP製も調べてみたのですが,¥106,400(税抜き)でした.
https://h20547.www2.hp.com/is-bin/INTERSHOP.enfinity/WFS/Directplus-Customer-Site/ja_JP/-/JPY/DisplayProductInformationForConsumer-Frame?CatalogCategoryID=sQkPZD6MfVsAAAFjuWxEg_1Z&ProductID=I7gPZEXCyJAAAAFpXE9quY8v&Facet=Spec
どうして,dellとHPでこんなにも価格差があるのか不思議です.
ノートパソコンを買ったら,プログラミングがんばってくださいね!!

Follow me!

2019年10月13日プログラミング

Posted by timapple