就職対策Vo.094~そもそも、なぜ、プログラムは動くのか?

キャリアコンサルタントのサイトウです。今回は、プログラミングがなぜ動くかを考えていきましょう。
プログラミングをしている人は、そもそもなぜ動くかをご存じですか?
どのような処理が行われて動いているのかは、意外と知らない人も多いのではないでしょうか?
そこで今回は、動く仕組みを分かりやすく勉強していきましょう!
●プログラミングとは
プログラミングとは、プログラミング言語を用いて、コンピュータへの指示を作成する作業のことです。
コンピュータは指示を与えられないと何もしません。
さらに、コンピュータへの指示は、一定ルールに沿って書かれていないと、コンピュータが理解してくれません。
・プログラミング言語:コンピュータに指示できる言葉
・プログラム:プログラミング言語で書いた指示内容
コンピュータは、正しい規則に基づき、指示を出せば、人間では到底できないスピードで指示をこなしてくれます。
効率的に何かをこなしたいという場合には、プログラミング技術を使い、プログラムを作成して、コンピュータに指示を出すのです。
現代は、コンピュータがなくてはならない世界になり、煩雑な作業をたくさん担っています。
これにより、プログラミング技術は世界レベルで必要不可欠といえます。
●プログラミング言語の種類
プログラミング言語はコンピュータに指示できる言葉のことです。
プログラミング言語には種類があります。
それぞれ得意不得意があり、作りたいコンピュータへの指示内容により使い分けます。
ですが、プログラミング言語を書き並べただけでは、コンピュータが理解できない場合があります。
コンピュータに理解できる、「機械語」に翻訳する作業が必要になってきます。
翻訳方法
・コンパイラ型言語:速い
コンパイラ型言語とは、プログラムを実行する前に、機械語に翻訳する工程を踏む、プログラミング言語のことです。
コンパイラ型は、プログラミング言語で書いたプログラムの状態では動作しません。
コンパイルという作業を行い、プログラミング言語を機械語に翻訳しないと動かないのです。
機械語に翻訳されたものを、コンピュータが読み取り、プログラム通りの動作を行います。
コンパイラ型言語の特徴は、コンピュータがプログラムを実行する速度が早いことです。
なぜかと言うと、機械語に翻訳されたものをそのまま読み取り、コンピュータが動作するためです。
代表的な言語
・Java
・C
・C++
・C#
・Objective-C
・インタプリタ型言語:遅い
インタプリタ型言語とは、プログラム実行時に機械語に翻訳しながら動作するプログラミング言語のことです。
例えば、インタプリタ型言語の代表格であるJavaScriptは、書いてWebページに読み込ませるだけで動かせます。
実はこれは機械語に翻訳されていないわけではなく、プログラム実行時にプログラムが動作しているソフトが、その都度翻訳を行っているのです。
JavaScriptの場合は、ChromeやFireFoxなどのブラウザが翻訳してくれるソフトに該当します。
インタプリタ型言語の特徴は、コンパイルが不要で簡単に動作できるという点です。
ただ、コンピュータがプログラムを翻訳しながら実行するので、速度が遅くなりがちです。
代表的な言語
・PHP
・Ruby
・JavaScript
・Perl
●プログラムはどうやって動くか
・RAM(メモリ)
・HDD(ハードディスク)
分かりやすく説明するために、パソコンの中を仕事部屋だと考えてください。
作業机:RAM(メモリ)
RAMの数値が大きい=パソコンの作業机が大きい→作業が捗る
結果:RAMの数値が大きいコンピュータの方が、プログラムを処理する速度が早くなります。
本棚:HDD(ハードディスク)
作業を行うための情報を提供してくれる場所です。
HDDの数値が大きい=パソコンの本棚が大きい→保管情報量大
大きければ大きいほど、多くの情報が保管できるので便利です。
プログラムは、HDDから取り出され、RAM上で動作します。
通常時は、HDDと呼ばれる本棚のような場所に置かれ、実行する際に、RAMと呼ばれる作業机のような場所に持っていかれて動作します。
また、プログラムは動作が完了すると、RAMと呼ばれる作業机から、HDDと呼ばれる本棚に戻されます。
コンピュータ内部では、このようにしてプログラムは動作しています。
何となくお分かりいただけましたでしょうか?
ぜひ、仕組みを理解しておいてください!