自作PCをお勧めする 7つの 理由:その5 – プログラミングをするなら自作 PC の知識は必要
>> 関連記事 : 自作PCをお勧めする 7つの 理由:その1 – とにかく自分好みの1台に出会える
効率的なプログラミングにはハード側の理解が必須!
「自分はソフトウェア側の担当なので、ハードウェアの知識は必要無い」と多くのプログラマは考えているかもしれません。確かにこの考え方は、あながち間違いではありません。JavaやPython など現在主流のプログラミング言語は、ハード側の知識が全くなくてもプログラムが組めてしまうからです。90%のシチュエーションで、プログラマはハードのことは何も考えずにプログラミングだけに専念できるようになりました。
ただし、残りの10%ではハードの知識がないと効率的なプログラミングはできません。そしてこの10%の状況下で適切なプログラミングができるかどうかが、「優秀なプログラマと普通のプログラマ」を分ける境目となっているのです。ハード側の知識が無いままでプログラミングをしてしまうと、一部の箇所で致命的に非効率な処理をするプログラムを書いてしまう可能性があります。もしあなたがプログラマとして一歩成長したければハード側の理解も深めるのがおすすめです。
PCの各パーツとプログラミングの関係とは?
CPUとプログラミングの関係
一部の例外を除いてプログラムの大部分はCPUが処理を担当します。よって最も重要なハード側のパーツと言えるでしょう。CPUの知識が無ければ、同時に多くの処理を並行して行う「マルチプロセス」「マルチスレッド」などのプログラミングに支障が出てしまいます。
メモリとプログラミングの関係
メモリとは、CPUでプログラムを処理する際に一時的にデータを保管しておくことができるパーツです。 現在はメモリも大容量となっているため、あまりメモリを意識しなくてもプログラミングが可能となりました。しかし、万一メモリの量が足りなくなると急速にプログラムの実行速度が落ちてしまいます。
ストレージとプログラミングの関係
ストレージとは電源を切った状態でもデータを保管しておくことができるパーツです。現在はHDDとSSD、2つのパーツが主流となっています。HDDは安価で大容量のデータを保管しておけますが、細かいデータのやりとりが苦手です。逆に動画など大きなデータを保管しておくにはうってつけのパーツです。SSDは細かいデータを高速にやり取りする時に力を発揮するパーツですが、大容量のSSDは価格が高すぎます。 HDDとSSDの性質の違いを知らないプログラマは、データの取り扱いで思わぬ非効率な処理を書いてしまいがちです。
自作PCに詳しくなればプログラマとしてもステップアップできる
自作PCを趣味とするプログラマは、プログラミングスキルも高い、という傾向があります。ソフト側だけでなくハード側の特性もしっかりと把握して効率的なプログラミングができる、というのが理由です。また、プログラムの性能が出ない時自作PCに詳しい、ハード知識に長けたプログラマなら以下のような視点で原因を探ることが可能です。
「メモリの量が足らず、データをストレージから逐次読み取っているのでは?」
「CPUのマルチスレッド性能が低すぎるのでは?」
「HDDに対してランダムアクセスが多すぎるので、SSDに置き換えれば性能が上がるはず」
この分析の意味がわからないプログラマの方は、ハード側の知識が乏しいと言わざるをえません。ただ、それは裏を返せば、ハードの知識を身につければプログラマとしてまだまだ成長の余地があるということです。
>> 関連記事 :自作PCをお勧めする 7つの 理由:その7 – パーツにこだわれば、仮想通貨マイニングでザクザク?
まとめ
自作PCとプログラミング。一見すると何の関係も無いように感じる両者ですが、この記事でも解説したように密接な関係を持っています。もしプログラマとしてさらなるキャリアアップを目指しているのなら、自作PCを通してハード側の理解を深めて、プログラミングスキルを向上させていきましょう。今すぐは結果がでなくても、2年後3年後に必ず血となり肉となるはずです!