初心者にも分かりやすくプログラミング言語とその仕組みを説明
プログラミングってそもそも何?仕組みってどうなってんの?
という疑問は超初心者さんにはあると思います。
「そんな事しってるよー」という方もいらっしゃると思いますが、私の学習のおさらいにもなるので改めて説明記事にしました。。
1.プログラミング学習初心者にも分かりやすく説明!プログラミング言語とは?
アプリでもWebサイトでも、こんなものを作ろう!と人間が設計図を書いて、そのまま渡してもコンピューターは作ってくれません。コンピューターは電子計算機とも言われ「0」から「1」で構成される2進数の計算しかできないからです。
2進数、、、数学苦手な人は「うっ」となるかもしれませんね。
私もです。
でも、ここは「そうなんだ」くらいの理解で大丈夫です。
つまり、この2進数を使ってコンピューターにわかるように(機械語に)、かつ人間にも書くやすく理解しやすいように記述できるものが「プログラミング言語」になのです。
「プログラミング言語 = コンピュータにも人間にも理解できる言語」という意味になります。
人が書くプログラミング言語を「ソース(元という意味)コード」といい、この「ソースコード」は、コンピューターが理解できるように2進数に変えて「プログラム」が出来ます。
なので、「プログラムを作る事」を「プログラミング」と言います。
ただし、ソースコードを書くだけをプログラミングとは言いません。「コーディング」という事が多いです。
プログラミングは、ただソースコードを書くだけではなく動作確認・テスト・バグ(不具合)を取り除いたり・設計までが含まれる場合もあります。
Web制作をするとき、デザイナーさんがデザインを作成して、それをHTML・CSSで形にします。これは「コーディング」です。この場合は、あまりプログラミングとは言わないのではないかと思います。
ちなみに、HTMLを書くことを「マークアップ」といいます。
クラウドソーシングの案件で見られる「コーダー」や「マークアップエンジニア」はそこから来ています。
※HTMLとはWebページの文書構造などに使われる言語
※CSSとはWebページの色やデザインを指定する言語
2.プログラミング初心者にも分かりやすく説明 インタプリタとコンパイラの違い
インタプリタ=ソースコードを読みつつ実行しながら2進数に変換・処理する、いわば同時通訳。(PythonやPHPなどがインタプリタ言語)
コンパイラ=ソースコードを全部読んだ後一括で2進数に変換しておいて、実行するときには既に変換済みです。でいわば本の翻訳。(C言語やJavaなどがコンパイラ言語)
プログラムの修正と実行が気軽にできて、改良しやすいのはインタープリタですが、
実行処理速度が速いのはコンパイラです。
まさに、ハリウッドスターのインタビューなどで同時通訳さんが訳すのを待たないといけない生放送と、翻訳されたインタビューを一気に雑誌で読むみたいな感じですね。
ただし、その翻訳が間違っていたら一からやりなおしが必要になります。
コンパイラも想定したとおりに動かなければ、再度変換からやり直しになってしまいます。
また、最近のプログラミング言語には「中間型」も増えてきました。
「バイドコード」と言われる中間型のコードを使って、仮想マシンで実行します。
中間言語を使うことで、色々なOS・環境に対応できて同じプログラムを実行することができるうえ、インタープリタよりも早く処理できるようにもなります。
他に面白いものでは、ある言語のソースコードを利用して違うのプログラミング言語のソースコードを作る事が可能な「トランスパイラ」と呼ばれる言語もあります。
「初心者からのプログラミング 仕組みと基礎①コンパイラ言語とインタプリタ言語について」は以上です。
この辺りは、プログラミングの本や会話でよく出てくるので知っておくと、より理解が深まると思いますが、
超初心者さんは「インタプリタ言語が手軽だけど遅い」「コンパイラ言語は早いけど直すときが面倒」で覚えておいてと頂ければと思います。
②プログラミングは、ただソースコードを書くだけではない。
③プログラミング言語にインタープリタとコンパイラがあり、それぞれ実行の手軽と速度に特徴がある。
最後までお読みいただき有難うございました。miyaconetはプログラミングやブログを始めようと思っている方や、超初心者さんの学習に役立つ情報を発信しています。この記事が良かったとおもったら、コメント・Twitterフォローをしてもらえたら嬉しいです。一緒に頑張る仲間も募集中です(*^-^*)