プログラミングとは




|プログラミングを始める前に>


octaveによるプログラミングに戻る


目次






プログラミングということ


 「プログラミング」と聞くと何を連想しますか。漫画やドラマに出てくるハッカーのような人たちが、コンピューターのキーボードをカタカタ叩いている様子でしょうか。

 大学の情報の授業でプログラミングを習った方は、プログラミングと聞くとC言語を思い浮かべるかもしれません。

 大学の情報教育では、C言語を教える場合が多いです。プログラミングの仕組みや、C言語の難解さによって、学生にとっては苦しい思い出の一ページになるようです。




 さて、プログラムやプログラミングとは何なのでしょうか。私の持っている英和辞典†1で、英単語「program」を引いてみましょう。

†1 :旺文社・コアレックス英和辞典・CD付

 programとは、計画,企画;予定(表),方針,スケジュールと書かれています。また、動詞では、・・・を計画[予定]するということが書かれています。




 結局のところ、コンピューター用語の「プログラム」とは、コンピューターにこういう動作をしてくださいと伝える「命令計画書」自体や、その「計画書を作る」動作を指しています。

 そして、「プログラミング」という単語は、動詞のprogramにingを付けたものなので、「命令計画書を作ること」、さらに言えば、「命令を伝えてコンピューターを動かすこと」を指しています。

 プログラムの作り方を勉強することで、コンピューターに命令を出し、自分の思った通りにコンピューターを動かすことができるようになるのです。





身近なプログラム


 では、コンピューターに命令を与えることで何ができるのでしょうか。その答えは、「色々なことができる」です。

 私には、コンピューターでいったいどこまでのことができるのか、見当が付きません。




 例えば、今あなたはパソコンに向かっています。そのパソコンの中には、Microsoft Officeやペイントなど、様々なソフトがインストールされているでしょう。

 これらはすべて、誰かが作ったプログラムに従って動作しています。




 次は、周りを見渡してみてください。近くに家電製品はありますか。

 最近の家電製品は、内部にマイクロコンピューター(マイコン)と言う小さいコンピューターが入っていて、その中のプログラム通りに動作します。

 例えば洗濯機では、スタートボタンを押すと、自動で洗浄・すすぎ・乾燥までやってくれます。これは、マイコンによって、ボタンを押したときの動作が定められているからです。

 携帯ゲーム機やスマートフォン、デジカメなども、あらかじめ組み込まれたコンピューターのプログラムに沿って動作しています。




 プログラミングは遠い存在のようでいて、実はかなり身近な存在です。身の周りにはプログラムされた物が大量にあります。親近感を持っていただけたでしょうか。





プログラミングを学ぶ意義


 先述の通り、身の周りにはプログラムがあふれています。

 ですが、プログラミングを学んでも、個人で身の周りにあるような家電製品や、Microsoft Officeのような大掛かりなアプリケーションを作ることは、不可能に近いと思います。

 では、個人でプログラミングを学ぶ意義は何でしょうか。私の経験を基に、いくつか書いて見ましょう




 私がプログラミングを学んで良かったと思う一番の理由は、仕事が簡略化できるようになったことです。

 私の仕事では、Microsoft Officeの表計算ソフト、Excelを使うことが多いです。

 私が会社に入る前は、数百個のデータを、これまた数十個のシートに、それぞれ手作業で入力していくという作業が、人力で行われていました。

 ですが、私が会社に入り、VBA†1でプログラムを作成した結果、その入力作業が大幅に簡略化されました。

†1 :Visual Basic for Applicationsの略です。VB(Visual Basic)というのは、プログラミング言語の一種です。VBを使ってExcelに対する命令を書くことができ、ボタン一個を押すだけで複雑な作業を一瞬でこなす、というようなことができるようになります。

 プログラミングを勉強していたおかげで、それを仕事に活かすことができ、業務がとても楽になりました。




 他にも、コンピューターの仕組みに滅法強くなったことも、プログラミングを勉強してよかったことの一つです。

 相対パスや絶対パス、アプリケーションの仕組み、ディレクトリ構造、コンピューターがどのように動いているか、コンピューターが数値をどのように扱うか・・・

 プログラミングを通して学んだことを、思いつくままに挙げてみました。

 これらを学んだことで、パソコンが不具合を起こしても、原因に検討を付けて、対処できるようになりました。

 これらの知識が、当サイトを作ることにも役立っています。




 前に述べた通り、個人で行うプログラミングでは、Microsoft Officeのようなアプリケーションを作ることは不可能に近いです。

 とはいえ、ある程度の規模ならば、プログラミングを勉強すれば、自分が作りたいアプリケーションを自由に作ることができます。

 実際に私が作ったブラウン運動シミュレータを紹介します。なお、使用する環境によってはうまく動作しないかもしれません。ご了承ください。

ブラウン運動シミュレータ

 ブラウンという研究者が、花粉の粒を水に入れたところ、粒が水の中でランダムに運動していたそうです。そのことから、微小な粒子がするランダムな運動を、ブラウン運動と呼びます。

 ブラウン運動シミュレータは、粒子が運動したランダムな軌道が、線で表示されるというだけのアプリケーションです。

 正直なところ、このソフトはギザギザの線が表示されるというだけのソフトで、明確な使い道はありません。

 ですが、初めて作ったGUIアプリケーションなので、愛着が沸いています。

†1 :Graphical User Interfaceの略です。ウインドウ上にボタンなどが配置されていて、マウスなどで操作できるようになっている仕組みのことです。GUIに対し、CUI(Character User Interface)というのもあります。こちらは、キーボードなどで、文字を入力して操作する仕組みのことです。どのプログラミング言語でも、CUIアプリケーションは簡単に作れますが、GUIアプリケーションは作るのが結構大変です。

 自分が作りたいアプリケーションを作成し、実際にそれが動くのを目の当たりにした時、とてつもない達成感を感じることができます。それも、プログラミングを勉強する意義だと思います。




 私は理系の人間ですが、研究ではグラフを描いたり、シミュレーションをします。その時にも、プログラミングが必要になる場合があります。

 私は学部生時代にプログラミングを独学し、大学院に行ってから、その知識が大いに役立ちました。

 グラフを描くことは、理系では必須の技能です。グラフの描き方は大学で習うこともありますが、そのような授業がなければ、独学することをお勧めします。

 当サイトでこれから説明するoctaveは、グラフを描くこともできますし、シミュレーションなども可能です。簡単に扱える言語なので、勉強してみてください。


|プログラミングを始める前に>


octaveによるプログラミングに戻る

ホームページのTOPに戻る