プログラミングするだけでなく、開発全般にあると良いものについて解説していきます。
ここ10年くらい振り返ると、購入してパフォーマンス良かったものは以下だなと思いました。
・オフィスチェア(エンボディチェア)
・キーボード(Realforce、HHKB)
・マウス(SteelSeries Sensei)
・4Kディスプレイ
・ドラム式洗濯機
・食洗機
壊れることはあまりなく、消費している感はないですね。— draftone_ch (@DraftoneC) May 17, 2021
プログラミングするのに必要なハードウェアやツールを紹介
あまり特殊な道具は無いです。
PC
PCは必須です。
デスクトップ、ノートパソコンのどっちが良いかは好みですが、スペック積みやすいのはデスクトップです。
グラボでスペック積みたい場合は、デスクトップが良いでしょう。
何をするかで要求されるOSやスペックが決まってきます。
OS
- ゲーム開発(iOSを除く)するならWindowsが望ましい
- iOSのアプリを開発するならMacは必須
- 商業ソフトウェア(ゲームエンジンなど)を扱う場合はWindowsかMacにする
PCゲームはWindowsが強いので、Windowsで開発する傾向があります。
Macでもできなくはないですが、ゲームエンジンによっては問題が発生する場合もあります。
iOSのアプリを開発する場合はMacが必須です。
AndroidはWindowsでも開発できますが、iOSも視野に入れる必要が出てくるのでMacの方が良いでしょう。
Windowsだとビルドができないので、必然的にMacということになります。
上記以外なら何でも良いのですが、商業ソフトウェアはLinuxをサポートしていないことが多いという点は把握しておいたほうが良いでしょう。
スペック
ゲーム開発はスペックを積んだほうが良いです。
デバッグ時は通常にプレイするよりもスペックが要求されます。
3Dゲームならグラフィックボードは必須。
メモリは16GB以上。
CPUはそれなり。
コード書くだけならテキストだけなのですが、なんだかんだ言って、PC上でプログラムを動かします。
スペックをある程度積んでおくと良いです。
- スマホのアプリ開発:シミュレータを動かすのでスペック欲しいです。
- 機械学習・ディープラーニング系:NvidiaのCUDAを使用。Nvidiaのグラボが必要です。
オフィスデスク・チェア
ちゃんとした机と椅子があったほうが良いです。
姿勢が悪くなると、首とかやられるので必須だと思います。
マウス
好きなの
マウスパッド
好きなの
キーボード
好きなの
私はRealForce、HHKBを使用しています。
職場のソフトウェアエンジニアの半分くらいは、RealForceかHHKBでした。
10年選手です。
モニター・ディスプレイ
4Kが良いと思います。
デュアルディスプレイでも良いですが、4K1枚の方が手軽で良いと思います。
効率が違います。
エディタ
好みのやつ。
以下がオススメです。
- vim
- emacs
- Visual Studio Code
宗教戦争ありますが、vimは使えるようになっておくと、色々と便利です。
過去、働いてきた中ではvim派の方が多かったです。
emacsはemacsのキーバインドに慣れると、代えが効きにくいので注意が必要です。
Visual Studio CodeはWindows、Macがベースならオススメです。
ターミナル・コンソール
OSに応じて好みのやつ
ハードウェア扱わなければ、ssh接続できれば良いかと思います。
リポジトリ、git
ソースコードの管理はgithubで良いと思います。
ただ、ゲーム開発のデータを突っ込む場合は、サイズが大きいのでgithubだと高く付くことはあります。
ローカルにリポジトリを構築する必要が出てくる可能性があります。
ローカルにリポジトリ組むときは、gitlab使ってます。
仮想環境
純粋にOS動かすなら、VMware系かVirtualbox。
Oracleが嫌でなければVirtualboxで良いと思います。
なお、vagrantでOS入れるならvirtualboxになります。
virtualboxの方が、Linuxベースでも動くので良いかなと思います。
私は、開発系でHyper Vを使っている人を見たことないです。
コンテナ系
必要なければ、dockerやKubernetes使わなくても良いと思います。
まとめ
プログラミングするのに必要なハードウェアやツールを紹介しました。