ご無沙汰してます。
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作成ぐらいにしか使ったことがないので、勉強したいなと思っていますが…
では、本日はこのあたりで。
COMMENTS