役に立つプログラムのヒント!

記事
IT・テクノロジー

役に立つプログラムのヒント!

プログラムで何をするか?このアイディアがあると、プログラミングの目標になって学習が捗ります。では、どんなプログラムが役に立つかヒントの見つけ方を紹介します。


ヒントは普段の生活にあり!

プログラムといっても実は、色々なプログラムがあります。 PC やスマホで利用されている OS(Operating System)もプログラムですし、家電製品にもプログラムが入っています。リモコンのやり取りなどは、家電製品の中のプログラムを使って動かしています。ゲームもプログラムの一つです。

従って、プログラミングを学習してどの様にその成果を生かすかによって、学習する内容も違えば生かす場所も変わってきます。 プログラムを学習して直ぐに取り組めるプログラムは実は結構限られてきます。

Web アプリやサービス、デスクトップのアプリ、スマホのアプリなどは取り組みやすいプログラムの分野です。理由は簡単で、こうしたプログラムは PC があれば殆ど開発してテストができるからです。ゲームもできなくはないですが、少し分類が違いますので、今回の話からは外しておきます。

では、どんなアプリを作れば良いかと考えてみると中々アイディアが浮かばない物です。

しかし、ヒントは意外に周りにある物です。

基本は問題の解決

実はプログラムの題材のヒントは周りに結構あります。 基本は「問題を解決」するプログラムが役に立つプログラムという事になります。

例えば、普段は手作業でやっている仕事をプログラムが代行できれば、殆どの場合は人手でやるよりは、より早く正確にできます。

コンピュータのプログラムを利用して問題を解決する際のポイントは

* 時間の短縮
* 間違いの削減
* 自動化
あたりが、題材を探すポイントになります。 例えば、大量のデータの処理などは、人手でも勿論できますがコンピュータのプログラムを利用できれば、大幅な時間短縮が可能です。また、プログラムで処理すれば間違いも大幅に減らす事ができます。

また一連の作業を自動化すれば、誰がやってもほぼ同じ結果を得ることができます。

そうした観点で、日常やっている作業を見直してみると、コンピュータのプログラムでできる事が結構たくさんあることに気づきます。特に設計作業や事務処理などは、そうした可能性が沢山あるエリアです。

設計作業は新しいアプリのアイディアの宝庫!

具体的な例を挙げると、設計作業などはこうした新しいアプリのアイディアの宝庫です。

電気製品でも、コンピュータでも設計したものは、「製造」する必要があります。 製造現場でも、設計データをコンピュータを利用して処理するので、設計データ自体はコンピュータで読み取れる形になっている場合が殆どです。設計作業も CAD など、コンピュータのアプリを利用して作成するようになっています。

基本的な、設計データの検証や処理は、設計で使用している CAD でもできますが、完全というわけには行きません。 これは、CAD 自体がいろいろな物の設計に対応するようにしているため、ある特定の分野の設計に関しては完全に対応できない部分というのが必ずあります。

私の本業は、コンピュータシステムの設計業でしたが、主にデーターセンターなどで利用するサーバーやストレージの製品の設計を手がけていました。設計の作業自体はプログラムと基本的には同じで:

* 何をするもの作るのか?
* 全体の構想と設計方針を決める
* 回路の設計
* プリント基板(部品を実装するボード)のレイアウト設計
* 実際にハードウエアを製造して検証やテスト
の様な作業を行います。

最初の、コンセプトを決めたり、方針を決める部分では「考える」作業が多いのでプログラムで解決できることも限定的です。また、実際の設計作業もほとんどは、設計 CAD を利用します。しかし、設計データを加工したり、検証したりするにはプログラムが利用できると効率的に作業を進める事ができます。

特に、設計データは膨大な物になる事が多いので、手作業で検証していると時間ばかりかかってしまって効率的ではありません。設計データは問題が見つかると設計に変更を加えて再度検証する必要があるので、同じような作業が繰り返し発生します。こうした、繰り返しの作業はプログラムが得意とする仕事なので、この部分を自動化、半自動化できると設計業務がスムーズに行えます。

実際のハードウエアのテストや検証でもプログラムを利用して、検証用のプログラムを作成したり、検証データの処理にプログラムを利用すると効率が大幅に向上します。

テキストデータの処理に注目してみる
プログラムで処理しやすいデータとして「テキスト」データがあります。いわゆる「文字列」の処理になりますが、実際に設計データでもテキスト形式のデータが沢山使われています。回路の設計などでは部品同士の接続情報は「ネットリスト」と呼ばれるテキストデータです。こうしたデータはプログラムに読み込むのが比較的簡単で、書式も決まっているのでプログラムでの処理が簡単に行えます。

Excel などの表計算のデータも「CSV」という形式で保存すると、プログラムでも読みやすいシンプルなテキスト形式のデータで保存できるので、簡単にプログラムに取り込む事ができます。また、Excel のデータそのものも、外部の公開されているモジュールを利用すると簡単にプログラムに取り込む事ができます。表計算のアプリは、殆どの場合「マクロ」と呼ばれるプログラムのような実行もできるので、プログラムに書かなくても処理できる場合が多いですが、大量の表計算のデータを扱う場合は、プログラムを作った方が効率的に作業できる場合が多くなります。

まずは、こうした「テキスト」データの処理で、時間が掛かっている作業がないかを考えてみると、プログラムで作業できる部分が見えてきます。

テキストデータを取り込む場合、最近のプログラミング言語の多くは、ライブラリでテキストデータの処理をサポートする関数(API)が用意されているので、自分で全てプログラムを書かなくても最低限のコードで取り込む事が可能です。従って、「テキストデータの処理」で何か作業を簡単にできる事が見つかればプログラムの題材にしやすくなります。

まとめ
プログラムを学習して、依頼されたプログラムの開発をするのはプログラミングを活用する一つの方向性です。 しかし、設計や事務作業の場合、沢山のテキストデータを扱う機会も沢山あります。そのほとんどが「繰り返し」行う作業の場合も多く、プログラムで処理できると、作業の大幅短縮も可能です。

多くのプログラミング言語がテキスト処理をサポートする機能を取り込んでいるので、実際に自分で書かなけばならないコードは最低限で済む場合が殆どです。

実際に事務作業や設計作業をされている方は、実際に行っているデータと作業を見直してみるとかなり多くの「ヒント」が見つかります。そうした「課題」や「問題」を解決するプログラムがかければ、少なくても同業の人には魅力的なプログラムになります。

まずは、身の回りを見回してみて「役に立つ」プログラムのヒントを見つけてみると、プログラミングの活用範囲が広がります!
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す