今週から新しく連載を開始いたします。
そのタイトルは、ズバリ!
「プログラム言語 夜話」
この連載では、星の数ほどあると言われているプログラム言語から、毎週1つをピックアップ
プログラムの書き方をレクチャするのではなく
「生い立ち」
「特徴」
「何に使われているのか?」
「メシが食えるか判定」
を独断と偏見を交えながら話してみたいと考えています。
この連載で興味があったり、実際にプログラムをしてみたい
と思った方は、書籍、通信教育、学校をご紹介いたします。
よかったら 実際に体験してみてください。
また、今、別のプログラム言語で仕事をしているよ
というあなた!
この連載で新しい言語に興味を持っていただけたらと願っています。
できるかぎり、専門用語を使わないで説明いたしますので読んでいただけたら幸いです。
スポンサーリンク
目次
プログラム言語ってなぁに
システムエンジニアとかプログラマーなどいろいろな呼び方がありますが、彼らは、
「プログラム言語」
という、一種の言葉を使っていろいろなものを動かしています。
例えば
テレビ、炊飯器、エアコン、冷蔵庫、洗濯機などの家電製品
電気、ガス、水道、電話などの生活に必要なライフライン
銀行、郵便局、株式市場、為替市場、仮想取引などの金融関係全般
携帯電話、スマートフォン、タブレット、Amazon Echo,Google Homeなどのデジタル機器
もちろん パソコンもプログラムで動作しています。
日常生活のあらゆる電気で動作するものは、ほぼすべては、プログラマーと呼ばれる職業の人が、プログラミング言語を使って動きをコントロールしています。
洗濯機で考えてみよう
洗濯機で「おまかせモード」とか言われているボタンを押します。
プログラムは、ボタンが押されたことを感知します。
以後 だいたい以下のような動きをします。
1.洗濯物の量を知る。(センサーと呼ばれる検査係が教えてくれます)
2.洗濯物の量に合わせた水の量を決定
3.洗濯時間、濯ぎ時間を計算
4.洗濯終了時間を表示
5.洗濯、濯ぎの時間に合わせた動きを洗濯機に命令
6.洗濯機の様子を監視
7.柔軟剤の投与タイミングをチェックして柔軟剤を入れろと洗濯機に命令
8.洗濯中にトラブルがあったら、通知→ブザーを鳴らせと命令
9.洗濯が終わったら洗濯が終わったことを告げるブザーを鳴らせと命令
本当に大まかに書きましたが、プログラムは、これらのことを洗濯機に命令しながら
誰でも簡単に洗濯できるように動かしています。
もし、プログラムがなかったら
水の量を決めて、水投入ボタンを押す。
とか
洗濯が終わって水が排出、濯ぎの水を入れて柔軟剤を入れる。
なんてことをすべて、あなたがやらなければならないのです。
どうですか?
プログラムって大切ですよね。
プログラム言語って何?
コンピュータ(洗濯機にもコンピュータが入っています)は、機械なので
そのままでは、人の言葉が理解できません。
コンピュータが理解できるのは、1 or 0 だけです。
この 1,0を組み合わせて動いてます。
1 と 0 つまり2進数(学校で習いましたか?)
この2進数を直接コンピュータに送れば、命令通り動きますが、2進数の命令を書くのは、普通の人にはできません。
そこで考えられたのが、プログラム言語です。
英文に近い形で記載して、それをコンピュータが直接理解できる2進数に変換してあげれば万事解決
というわけでコンピュータ言語が生まれました。
コンピュータ言語で書かれた、原稿を「ソースプログラム」または「ソース」と呼んでいます。
でも翻訳がいるよね
人間が理解できるコンピュータ言語(ソース)をコンピュータが理解できる2進数に変換するものが
コンパイラ(英:compiler)と呼ばれるプログラムです。
コンパイラは、簡単に言うと翻訳をするプログラムです。
コンピュータ言語でつくったプログラムの元(ソース)
↓←翻訳作業
コンピュータが理解できる2進数
プログラムを翻訳するのがプログラムで記載さえています。
コンパイラをつくったプログラムは、何で記載されているの?
いい質問です。
コンパイラは、よりコンピュータが理解できる2進数にちかい言語で書かれています。
コンピュータが理解できる2進数にちかい言語をアセンブラーと言います。
別名「機械語」
ま!このあたりは、余談なので
覚えてほしいのは、
コンピュータ言語は、コンパイラで翻訳することでコンピュータが理解できる。
ということです。
同時通訳
コンピュータ言語の中には、コンパイラではなく、同時通訳するプログラムをあります。
これをインタープリター(interpreter)と呼びます。
あいだにコンパイラーがいないので
プログラム言語を直接、コンピュータが理解できるように同時通訳します。
コンパイラとインタプリタの違い
コンパイラは、翻訳したものを「翻訳済みとして保管」しておいて
いつでも使えるようにしておきます。
インタプリタは、同時通訳なので「その都度翻訳」します。
それぞれ、利点欠点がありますが、
コンパイラは、コンピュータに命令を出すタイミングですでにコンピュータが理解できるので翻訳の時間が必要ありません。
インタプリタは、都度翻訳なので多少時間がかかります。
そのかわり、コンパイラが必要ないため、作成したソースをすぐに実行することができます。
適材適所
コンピュータ言語には、適材適所があります。
- ピードが要求される。
- 読みやすさが要求さえる。
- AIを使うのに適している。
- 文字列を自在に扱える。
- iPhoneの開発に指定されている。
- データベース専用
などなど、利用用途にあった言語が使われています。
プログラマーは、それぞれ目的に合ったプログラミング言語を使います。
今日のおさらい
- ほとんどの生活でプログラムは、動作しています。
- コンピュータは、2進数しか理解できない。
- プログラム言語でかかれたものは、ソースと呼ばれます。
- コンピュータに命令を理解させるために翻訳が必要
- 翻訳は、コンパイラーかインタプリターが行っている。
- 目的に合ったプログラム言語を使います。
この6項目を大まかな感じで覚えておいてください。
次回から、いろいろな言語が登場します。
お楽しみに
[amazonjs asin="B07C3PQ2D8" locale="JP" title="プログラミング言語図鑑"]