icon 情報整理

プログラミング

プログラミングとは何でしょうか
現在、プログラミングは学校教育の中でも取り入れられるようになりました。
ただ、プログラミングというといろいろなことができるといった
漠然としたイメージをもつと思います。

プログラミングとは

プログラミングとはコンピュータを使用します。
コンピュータを使うと何ができるのでしょうか?
コンピュータには大きく
・入力
・出力
・記憶
・演算
・制御
の5台装置があるといわれます。
これらによって、人が希望する様々なことを行います。
これらはすべて電子部品によって行われます。
つまりコンピュータとは、電子の流れを
人が希望するような流れにすることを意味します。
電子の流れというのは、絵や文字のように
静止したものを表現する場合もありますが
動画やゲーム、アプリのように
動きのあるものを表現することもできます。
コンピュータを使用するメリットとしては
電子の流れを制御することによって
時間とともに変化する何かを表現することができるということだと思います。
つまりプログラミングには
時間の経過の表現が含まれ
時間の経過を含めた何かがプログラミングの作品となります。
これは、いわゆる、製品などのものであるとか
芸術作品などの静的な表現とは異なる点になります。

プログラミングの目的

プログラミングには動的なものを表現する力があります。
つまり動物や人間のように動きを表現します。
これは、生き物に近い動きをすることになります。
それでは、どの辺が生き物に近いのかを見ていきましょう。
・記憶(記録)をする、記憶(記録)を引き出せる
・記憶(記録)によって、行動(動作)を変えられる
・記憶(記録)を外部から入力できる
・記憶(記録)を外部へ出力できる
・記憶(記録)を変化(演算)させることができる
これらはコンピュータの5大装置の機能と一致することになります。
これらを組み合わせることによって
生き物に近い動くものを表現することができます。
そして、今はそういったことが
社会の中で役立っているほか、求められています。
つまり、自動化という形で
人の手間を省くことは必須のものとなっています。
もし、コンピュータというものがなければ
自動化というのは限定され
ほとんどのことは人の手によって行う必要があります。

コンピュータにできること

コンピュータとは電子の流れを操作します。
記憶するためには、記憶装置に電圧を加えるなど電子的な操作が必要となります。
入力するためには、外部からの電圧などを読み取る電子的な操作が必要となります。
出力するためには、外部へ電圧を加えるなどの電子的な操作が必要となります。
計算するためには、電圧同士を取り込み、それに応じた出力(電圧)を受け取る電子的な操作が必要となります。
動かすためには、それら電子的な操作を繰り返し行うしくみが必要となります。
これらすべて電気のON/OFFを繰り返し行うことによって実現され
それゆえコンピュータは電子の流れを操作する装置と呼ぶことができます。

プログラミングの初歩

プログラミングの初歩として
まず、ディスプレイという外部出力装置に対して、
特定のメッセージを出力するというのが一般的です。
例えば、「Hello World」という文字列をディスプレイに表示します。
これによって、あなたは
自分の伝えたいメッセージを伝えることができるようになります。

詳細はあとにして、
次に、マウスでボタンをクリックしたことを入力できるようにします。
これで「はい」「いいえ」など何のボタンが押されたかによって、ユーザーの意図(メッセージ)を受け取ることができるようになります。

次に、ユーザーが入力した数字同士を計算して答えを返すようにします。
画面上のテキストボックスを2つと計算ボタン、出力ボックスを用意し、
ユーザーが入力した2つの数値を計算して、出力ボックスへ出力するようにします。
これによって、あなたは
ユーザーが求める何らかの計算(処理)を実行してあげることができます。

他にもいろいろありますが、
上記によって、
ユーザーからメッセージを受け取り、
それに応じた処理を行い、
その結果を返すという一連の流れができることになります。
プログラムとはこれら
・入力
・計算(処理)
・出力
を繰り返すことによって、目的の動作を行うことになります。

シンプルなプログラム

プログラムはシンプルであればあるほどユーザーは使いやすくなります。
同じことを実現するのに方法はいろいろとあるのに気付かされます。

例えば、同じ1+1=2を計算する方法にしても
コンソールで1を入力してリターン
コンソールで1を入力してリターン
答えを出力
というやり方もあれば
テキストボックス2つを用意して、
「計算」ボタンを押すと
答えを出力
というやり方もあります。

どちらがいいというわけではありませんが、
ユーザーが分かりやすい、使いやすいインターフェースにすることが大切です。
人に分かりやすいものは、自分にとっても分かりやすく
シンプルなものはメリットが大きいと思います。

プログラムが提供すべきもの

プログラムが提供すべきものはユーザーが求めている操作で、
ユーザーが求めるものは使いやすさです。
使いやすさをテクニックではなく
シンプルさで実現するのがよいと思われます。

プログラミングの楽しみ

プログラミングの楽しみは
自己実現の楽しみです。
だれの助けも借りず
ものごとを自動化することができます。
それにどんな楽しみがあるのかと思われるかもしれませんが
それを行うにはものごとのしくみを知る必要があります。
原因と結果の関係がはっきりします。
画面に文字を表示しようとしたら、
それを行うための方法を知ることが必要です。
その方法が間違っていれば
何一つ動きません。
自分の思い通りに動かせるかどうかは
自分が正しく理解できるかに掛かっています。
そういった意味で
正しい方法を理解するということが学べます。
自分の思い描いたことを実現するのに
必要なことが明らかになります。
それを楽しいと思うかどうかは別ですが
思い描いたことを実際に行えるということは
非常に大切なことだと思います。

部品

同じものをつくってみる

手間を惜しまない

誰もが思いつく方法を選ぶ

複雑なことはしない

凝ったことはしない

記号

デバッグ