初心者からのプログラミング学習 インタプリタとコンパイラって?

超初心者からのプログラミング学習①インタプリタとコンパイラって?の記事のアイキャッチ画像 パソコンに向かってプログラミングをしている女性PROGRAMMING

初心者にも分かりやすくプログラミング言語とその仕組みを説明

プログラミングってそもそも何?仕組みってどうなってんの?

という疑問は超初心者さんにはあると思います。

「そんな事しってるよー」という方もいらっしゃると思いますが、私の学習のおさらいにもなるので改めて説明記事にしました。。

1.プログラミング学習初心者にも分かりやすく説明!プログラミング言語とは?

アプリでもWebサイトでも、こんなものを作ろう!と人間が設計図を書いて、そのまま渡してもコンピューターは作ってくれません。コンピューターは電子計算機とも言われ「0」から「1」で構成される2進数の計算しかできないからです。

2進数、、、数学苦手な人は「うっ」となるかもしれませんね。

[word_balloon id="unset" position="L" size="M" balloon="talk" name_position="under_avatar" radius="true" avatar_border="false" avatar_shadow="false" balloon_shadow="true" src="https://miya-co.net/wp-content/uploads/2020/05/neko-warai.png"]私もです。[/word_balloon]

でも、ここは「そうなんだ」くらいの理解で大丈夫です。

つまり、この2進数を使ってコンピューターにわかるように(機械語に)、かつ人間にも書くやすく理解しやすいように記述できるものが「プログラミング言語」になのです。

「プログラミング言語 = コンピュータにも人間にも理解できる言語」という意味になります。

人が書くプログラミング言語を「ソース(元という意味)コード」といい、この「ソースコード」は、コンピューターが理解できるように2進数に変えて「プログラム」が出来ます。

なので、「プログラムを作る事」を「プログラミング」と言います。

ただし、ソースコードを書くだけをプログラミングとは言いません。「コーディング」という事が多いです。

プログラミングは、ただソースコードを書くだけではなく動作確認・テスト・バグ(不具合)を取り除いたり・設計までが含まれる場合もあります。

Web制作をするとき、デザイナーさんがデザインを作成して、それをHTML・CSSで形にします。これは「コーディング」です。この場合は、あまりプログラミングとは言わないのではないかと思います。

ちなみに、HTMLを書くことを「マークアップ」といいます。

クラウドソーシングの案件で見られる「コーダー」や「マークアップエンジニア」はそこから来ています。

※HTMLとはWebページの文書構造などに使われる言語

※CSSとはWebページの色やデザインを指定する言語

2.プログラミング初心者にも分かりやすく説明 インタプリタとコンパイラの違い

インタプリタ=ソースコードを読みつつ実行しながら2進数に変換・処理する、いわば同時通訳。(PythonやPHPなどがインタプリタ言語)

コンパイラ=ソースコードを全部読んだ後一括で2進数に変換しておいて、実行するときには既に変換済みです。でいわば本の翻訳。(C言語やJavaなどがコンパイラ言語)

プログラムの修正と実行が気軽にできて、改良しやすいのはインタープリタですが、

実行処理速度が速いのはコンパイラです。

まさに、ハリウッドスターのインタビューなどで同時通訳さんが訳すのを待たないといけない生放送と、翻訳されたインタビューを一気に雑誌で読むみたいな感じですね。

ただし、その翻訳が間違っていたら一からやりなおしが必要になります。

コンパイラも想定したとおりに動かなければ、再度変換からやり直しになってしまいます。

 

また、最近のプログラミング言語には「中間型」も増えてきました。

「バイドコード」と言われる中間型のコードを使って、仮想マシンで実行します。

中間言語を使うことで、色々なOS・環境に対応できて同じプログラムを実行することができるうえ、インタープリタよりも早く処理できるようにもなります。

他に面白いものでは、ある言語のソースコードを利用して違うのプログラミング言語のソースコードを作る事が可能な「トランスパイラ」と呼ばれる言語もあります。

 

「初心者からのプログラミング 仕組みと基礎①コンパイラ言語とインタプリタ言語について」は以上です。

この辺りは、プログラミングの本や会話でよく出てくるので知っておくと、より理解が深まると思いますが、

超初心者さんは「インタプリタ言語が手軽だけど遅い」「コンパイラ言語は早いけど直すときが面倒」で覚えておいてと頂ければと思います。

 

まとめ
①プログラミング言語とは、人間の事をコンピューターが理解できる言語に変換する言語の事。
②プログラミングは、ただソースコードを書くだけではない。
③プログラミング言語にインタープリタとコンパイラがあり、それぞれ実行の手軽と速度に特徴がある。

最後までお読みいただき有難うございました。miyaconetはプログラミングやブログを始めようと思っている方や、超初心者さんの学習に役立つ情報を発信しています。この記事が良かったとおもったら、コメント・Twitterフォローをしてもらえたら嬉しいです。一緒に頑張る仲間も募集中です(*^-^*)

 

タイトルとURLをコピーしました