プログラミング開発で短期で結果を出すための道具

記事
IT・テクノロジー

プログラミング開発で短期で結果を出すための道具

プログラミングだけではありませんが、短期間で結果を出すには、やる事を極力減らすという話を紹介しました。これとは別に短期で結果を出すためには道具も重要になる場合があります。この記事では、プログラミングの一番の道具 PC についての話を紹介します。


PC はプログラミングで重要な道具です

プログラミングは、PC があればできますが、PC がないとやるのが難しくなってしまいます。 実際にプログラムを開発して、実行させるためには基本的に PC が必要になる場合が多くなるからです。

プログラミングの学習自体は、紙と鉛筆でもできない事はありませんが、実際にプログラムを動作させるには基本的に PC が必要です。実際は PC で動作させるのが目的でないソフトウエアでも、多くの場合は、PC 上のシミュレータなどで動作させることが可能になっているケースが殆どです。この様に考えると、PC はプログラミングを行う上でとても重要な道具という事になります。

プログラミングには高性能の PC が必要か?

プログラミングをする上で、PC はとても大切な道具であることは紛れもない事実です。 しかし、プログラミングをするには高性能の PC が必要かというと意外に PC の性能は関係ない場合が多いのも事実です。

特に、プログラミングの初心者の場合、殆どの場合、入門機と呼ばれている安価な PC や少し古くなった PC でも十分にプログラミングの学習や開発が可能です。

実際に PC で行う作業は、

* ドキュメントの作成
* プログラミングのコードの入力
* プログラムのコンパイルやイメージの作成
* プログラムの実行やシミュレーション

というのが主な作業です。

ドキュメントの作成やプログラミングのコードの入力は、基本的にキーボードから必要な「中身」を入力する作業になるので、人間がキーボードを叩くスピードで処理すれば良いので、あまり PC の性能には影響されない場合が殆どです。

プログラムのコンパイルやイメージの作成になると、PC が入力したコードを元に処理を行うので PC の性能の差が出ます。しかし、余程大きなプログラムを処理したりしない場合、その差は僅かなものです。多くの場合、プログラムの初心者、初級者が手がけるコードはそれほど規模が大きくないことが多いので、性能が10倍ほど違ったとしてもその差は大きくないのが普通です。

例えば、最新の高性能の PC でコンパイルにかかる時間が 10 秒だとして、少し、性能の低い PC を利用して処理時間が10倍かかったとしても、精々 100 秒です。確かに 10 秒で済むのは魅力的ですが、性能の低い PC を利用しても 2 分以下で済みますので多少待ち時間はかかりますが、殆どの場合は大きな問題にはならない場合が多いのが実情です。

しかし、回数が増えてくると少し話が変わってきます。例えば、1 日に100回以上コンパイルをするとなると、1回の差は 90 秒しかありませんが、100回になると 150 分(2時間半)になります。ただし、1日8時間働くとして、100回コンパイルするためには、1時間に 12.5 回のコンパイルをする事になります。コンパイルのエラーを取る場合には、こうした事もある可能性はありますが、最近のエディタはプログラムの文法上のエラーを入力しながら知ることができるので、頻度は少なくなります。そう考えると、そう頻繁にコンパイルをするケースは余り多くないと考えて問題がない場合が殆どです。

意外に時間がかかるプログラムの実行
このように考えると、それほど高性能の PC も必要ない感じがします。

しかし、プログラムの実行の場合は少し事情が変わってきます。 プログラム自体はシンプルなコードで初心者でも簡単に開発できるものでも、処理するデータによっては、プログラムの実行時間が長くなるケースは沢山あります。

一つの例としては、以前紹介したような回路設計の情報を読み込んで、回路の設計をチェックするようなプログラムを作ったケースがあります。プログラム自体は、シンプルな処理の繰り返しで作られているので、初心者でも少しプログラミングの勉強をすると書ける内容のプログラムです。しかし、サーバーなどの設計データは膨大なデータになる場合が多く、接続(ネット)の数は数万になる場合も多く、接続されているピンの数は軽く 10 万個を超えるというのも珍しくありません。

実際に、ある回路設計のデータを検出するプログラムの実行時間は、メモリが8 GB の数年前(2016 年前後)の古い Windows の PC では2〜3時間かかってしまいます。ところが、2020 年に発売された Apple の Mac Book Air(8GB メモリ)で実行すると 30 分程度で処理が可能です。その差は4倍から6倍程度ですが、処理にかかる時間が長いのでその差は大きな物になります。

このプログラムを実際の設計データを使ってテストする事を考えた場合、2〜3時間かかる場合には、1日に精々、3〜4回程度しかテストできませんが、30 分で済む場合には、8時間とすれば1日に16回できる事になります。この差は結構大きな違いになりますし、テスト(検証)に必要な時間は大きく変わってきます。

この場合には、少しでも性能の高い PC を利用できると開発効率は大きく変わってきます。

時間がかかる処理は何か?
ここで大切なのは、プログラムの開発で時間のかかる処理は何なのかをしっかり理解しておく事です。

例えば、プログラムの開発でプログラムを入力したりドキュメントを作成するだけならば、それほど高性能の PC は必要ありませんが、実際にプログラムをコンパイルしたり、プログラムを実行したりする場合には時間がかかるケースは多くなります。

そうした処理は、例えば高性能のサーバーを用意するなどして、サーバーで実行するようにすれば、効率よく開発が可能になります。 最近のサーバーは沢山のプログラムを同時に実行できるようになっているので、高性能かつたくさんのプログラムを実行することが可能です。特にテストをする場合には、違った条件や違ったデータで検証する必要があるため、テストの件数は増える傾向にあります。

したがって、会社などではテストの実行は専用のサーバーで行うようにして、開発の効率を上げています。

では、フリーランスの場合はどうするかという事になりますよね? フリーランスの場合は、別途サーバーを用意するのが難しい場合も多いので、PC 1台で仕事を賄う場合が多くなります。

最初のうちは、大きなデータを扱うケースは少ないと思いますので、どのような PC を選んでも差がつきませんが、処理に時間がかかるようなプログラムを開発するようになると性能が物をいう場合が多くなります。その場合は、少し高価でも高性能な PC を利用した方が短時間でできる事になります。

選び方のポイントは、実際にプログラムを実行して処理に 30 分以上かかる様ならば、別の PC の導入を考えた方が良いという様に考えるとわかりやすいかと思います。その場合、古い PC はプログラムの入力やドキュメント作成に利用するようにすれば、会社でサーバーを利用するような方法で開発を効率化することも可能です。

最近、よく行うような処理で時間がかかるのは、ブロックチェーンの計算や、機械学習などがあります。また、設計データの検証も例に挙げたように、意外に時間がかかるケースが多い様です。

まとめ
プログラム開発に必要な PC は特別高性能な PC である必要はありません。特に、ドキュメントの作成やコードの入力では PC の価格差程の差は出ないのが普通です。一方でコンパイルやイメージのビルドになると性能の差は出ますが、処理時間は余程大きなプログラムでない場合はそれ程大きくないのが普通です。

しかし、実際にプログラムを実行してデータを処理する場合には、処理内容やデータの大きさでかなり大きな差が出ることはよく起きます。そうした、実行に時間のかかるプログラムの開発をする場合には、PC の性能は開発の効率に大きく影響するようになります。 実際に使用している PC で実行して 30 分以上かかる場合には、可能ならば高性能の PC を試す価値は大きいかと思います。

実際に大幅に処理時間を短縮できる場合は、多少高価な PC でも利用できると開発効率が格段に向上します。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す