IT系の作業が多く、趣味は音楽関係のMです。
・・・と書いたりしていたので、IT系とか音楽系の記事もたまには。…と。
自分はアセンブリ言語からプログラミングを覚えました。
よく「アセンブラ」という人もいますが、正確には間違いです。
プログラム言語によってはコンピューターで動作させるために「コンパイル」という翻訳処理が必要になるんですが、
アセンブラと言ってしまうとアセンブリ言語を翻訳(コンパイル)するためのプログラム(コンパイラとも言う)の事を指してしまいます。
ここで言う翻訳とは、人間が読みやすいプログラムを、機械が読みやすいプログラムに変換する作業です。
人間がやっても良いのですが、非常に面倒で、複雑で、1文字でも間違ったら動かなくなる作業なので、
ソフトウエアプログラムにやらせるのが当たり前で、そのソフトウエアを「コンパイラ」と呼びます。
ただ、最近多くなってきたWEBシステムで動作する言語の多くは、コンパイラによる翻訳作業を必要としません。
人間が読みやすいプログラムのソースコードをそのままコンピューターに実行させてしまうのです。
しかし、目に見えない部分で、やはり機械が読みやすいプログラム(機械語)に変換する処理は必要であり、
その役目をインタープリターというソフトウエアが担当しています。
よくWEBシステム開発で使用される「PHP言語」もインタープリター系の言語のひとつです。
昔からある言語では「BASIC言語」がインタープリター言語の代表的なものです。
インタープリターという方式はとても便利ではありますが、欠点としてはその処理スピードが犠牲になる点が挙げられます。
コンパイラによる翻訳作業をしてしまう言語であれば最初に1回、プログラムを実行する前の準備段階で翻訳するだけですが、
インタープリター系の言語ではプログラムを実行するたびに、翻訳処理が必要になるからです。
昔は少なかったインタープリター系の言語が増えてきたのはコンピューターの処理能力がどんどん優秀になったからですが、
今でも相変わらず、小型の精密機械の中で動作するプログラムはあらかじめ翻訳が行われるタイプの「C言語」などが多いです。
「制御系」と呼ばれる分野のプログラミングがこれらに相当しますが、だんだんとエンジニアが減ってきています。
より便利で簡単な言語が広く使われてきている世の中ですが、機械語やC言語など、より低級な言語も需要がある限り必要な知識です。
・・・という事で、低級から高級まで、プログラミング言語に関する記事も少しずつ、書いてみようかと思いました。
とても雑な言い方をしてしまえば、プログラムの真髄は「if」です。
英語のifと同じく、意味としては「もし」です。
「もし、○○が、△△だったら、こうしましょう」
「そうでなければ、こうしましょう」
という制御のくり返しがプログラムです。
よく言われる通り、コンピューターの中身は1か0の二値です。2進数の世界です。
とても単純な構造の組み立てで、とても複雑な処理を作り上げる・・・クリエイトの世界です。
なんだか面白そうじゃないですか?
【M】
返信を残す
Want to join the discussion?Feel free to contribute!