プログラムとは?
プログラムって何?
プログラムを一言で言えば、「コンピュータがどう動くべきかを書いた指示書」です。
つまりプログラムを作成するプログラミングとは、コンピュータへの指示書を作成することなのです。
コンピュータによって、プログラムには色々な種類があります。指示が同じでも、それを伝える相手によって、指示書の書き方が違ったりすると言うことですね。
その違いが現れたものが、プログラミング言語、と呼ばれるものになります。
私たちは日本語で会話していますし、アメリカ人は英語で話していますよね。
日本人とアメリカ人で、「ジュースを買ってきて」と言う指示をするとき、言葉が違いますよね。その言葉が、プログラムの世界ではプログラミング言語が違う、と言います。言葉と同じですね。でも結局は、「ジュースを買ってくる」と言う指示には変わりはありません。
プログラムってどう動いている?
これはつまり、指示書を、コンピュータがどういう風に解読しているか?と言う質問になります。
コンピュータは電気的な物体で生き物ではないので、私たちがいくら日本語や英語で話しかけても、もちろん応答してくれません。
コンピュータは、電気信号によって応答してくれます。電気信号と言うのは、電気の流れ方に意味を持たせたものです。
例えば、電気の「ON-OFF-ON-OFF」を、「コンピュータを起動する」と言う意味にしたり、ですね。
だからコンピュータを動かし、思い通りに制御するには、電気信号でコンピュータに話しかけて、指示しないといけないわけです。
つまり、プログラミングは、究極的には、このコンピュータが扱える電気信号にまで記述することが目的になります。
電気信号を書くの?難しそう。
いえいえ、そうではないです。コンピュータは確かに電気信号でなくては動きませんが、私たちが見てわかる文章を電気信号にする仕組みがあります。
それは私たちがこのサイトのプログラミングで学ぶことではありません。私たちが学ぶのは、「私たちが見て分かり、コンピュータへの電気信号へ変換することが出来る文章を書くこと」です。
例えて言えば、私たちとコンピュータとの間には、翻訳家がいると思ってください。
私たちは、その翻訳家がわかる言葉で、指示を記述します。
翻訳家はその指示書を読み取り、電気信号へ翻訳し、コンピュータへ電気信号で伝えます。
その翻訳家もまたプログラムで作られていて、簡単に利用することが出来ます。
仕組み上、コンピュータは電気信号で動いていますが、私たちが電気信号を学ばなくても良いのは、コンピュータの翻訳家がいるから、と言うことさえわかっていれば大丈夫です。
プログラムを書くことは理屈を書くこと
プログラムが動く仕組みはともかくとして、プログラムを書くことは、翻訳家がわかる言葉で書かないといけません。
その言葉が、C言語という言葉であったり、pythonという言葉であったり、Javaという言葉だったりします。
それらの言葉を綴ることで、コンピュータへの指示を出すことが出来るわけです。
しかしながら、そういう言葉、つまりプログラミング言語は、大抵は理屈を綴って行くことになります。
人と人との会話であれば、曖昧なところがあっても、想像し、解釈し、聞き直し、感情で訴え、言葉にならないことも伝えられますが、プログラミング言語はそうではありません。
いくら感情的になったとしても、「伝えたことしか動かない」です。そこに解釈の余地はありません。
つまり、「何を」「どうやって」「いつ」ということを、常に明確にし続ける必要があります。
それが、理屈を綴る為に、必要なことです。
それらの言葉を綴ることで、コンピュータへの指示を出すことが出来るわけです。
しかしながら、そういう言葉、つまりプログラミング言語は、大抵は理屈を綴って行くことになります。
人と人との会話であれば、曖昧なところがあっても、想像し、解釈し、聞き直し、感情で訴え、言葉にならないことも伝えられますが、プログラミング言語はそうではありません。
いくら感情的になったとしても、「伝えたことしか動かない」です。そこに解釈の余地はありません。
つまり、「何を」「どうやって」「いつ」ということを、常に明確にし続ける必要があります。
それが、理屈を綴る為に、必要なことです。
良いプログラムを書く為には自問自答が必要である
私が部下や後輩などにプログラムを教える時、必ず自問自答させています。
「あなたは、今から書こうとしているプログラムで、何を解決したいのですか」
「今から書こうとしているプログラムが、何をするものなのですか」
この2つの問いに答えられることが出来れば、プログラムを最大限活用することも、効率的に学ぶことも出来ます。
プログラムはあくまで手段ですので、目的意識を強く持つ必要があります。
0 件のコメント:
コメントを投稿