コンパイル言語とスクリプト言語

ご無沙汰してます。
AMDlabの松原です。
どたばたしていて、顔をこちらに出せずにいました。

今日は、プログラミング言語について少しお話しようかなと。

さて、プログラムのための言語って、何種類ぐらいあるかはご存知ですか?

現在は、ざっと200種類以上存在していると言われています。
実際に使われているのはその一部(10分の1程度)らしいですが、これらの言語って一体何が違うのか……そう、一言にプログラミング言語といっても、目的に得意分野、そして、思想が違っていたりするのです。
(もはや、言語の違い=思想の違いといってもいいかもしれませんが……)

これらの言語を分類してみましょう。

分け方の一つとして、コンパイル言語とスクリプト言語に分ける方法があります。

コンパイル言語とは、実行のためにコンパイルが必要な言語です。
CやJavaがコンパイル言語にあたる言語になりますかね。

プログラミング言語というのは、人間が書くため、人間によめる形の言葉で書かれています。
(これを高級言語といいます)

その人間の言葉を機械語(01の羅列)に直さなければ、CPUは解釈することができせん。
そのため、CPUが読めるように機械語に変換してやる必要があり、その処理をコンパイルと言います。

一方、スクリプト言語とはインタプリタという、ソースコードをCPUが解釈できるように解釈する仕組みを用いて、リアルタイムにプログラムを実行することができる言語です。

PythonやRubyがスクリプト言語にあたる言語です。

まとめるとこんな感じです。

【コンパイル言語】

  • ソースコードを事前にコンパイルして、先に機械語に変換してお必要がある
  • 高速で動作する代わりに記述が面倒

言語:C、C++、Java、C#

【スクリプト言語】

  • 低速で動作する代わりに短い記述で処理を実現
  • ソースコードを逐次機械語に翻訳しながら実行する

言語:Python、Perl、PHP、Ruby、JavaScript

ですので、高速で処理させる必要があるシステムを作る場合は、CやJavaといったコンパイル言語を利用するのがいいですね。

そうそう、Go言語もコンパイル言語です。
僕自身は、Slackのbot作成ぐらいにしか使ったことがないので、勉強したいなと思っていますが…

では、本日はこのあたりで。

Tech
言語
ARTICLES