※この記事は「2024年2月17日」に更新しました。
- コンパイラ言語って何?
- スクリプト言語って簡単なの?
- 違いを詳しく知りたい
上記のような方へ。
C言語のような、古典的なコンパイラ言語から、Python(パイソン)のような、スクリプト言語も独学した経験があります。
そんな私が、コンパイラ言語とスクリプト言語との違い を解説します。
- 基本情報技術者資格所有者(ソフト開発の国家資格)
- WordPress歴、10年以上
- Withマーケ会員(2022年10月入会)
目次
コンパイラ言語とは
コンパイラ言語とは、コンパイルという機械語に翻訳する作業が必要なプログラミング言語です。
人間が書いたプログラミング言語をコンパイルして機械語に翻訳して、リンクという作業が終わると実行ファイルが作成されます。
- C言語
- Java
- Swift
私の時代だと、C言語は、基本情報技術者試験(午後)で活躍しました(現在、プログラミングの選択問題は廃止されています)。
コンパイラ言語には、以下のような特徴があります。
- 処理速度が早い
- 修正がむずかしい
- 手軽に開発ができない
順番に解説していきます。
処理速度が早い
コンパイラ言語は、スクリプト言語と比較して処理速度が早いです。
コンパイラ言語が早い理由は、予め機械語に翻訳されているものを実行するからです。
大学生の頃の話です。
卒業研究である級数展開をスクリプト言語(数学用)に計算させたことがありました。
途中で C言語に切り替えたら、嘘のように終わりました。
この時、C言語の凄さ を実感しました。
15年以上前の話なので、スクリプト言語も進化はしているかと思います。
それでも、圧倒的な処理速度が必要な部分では敵わないはずです。
修正がむずかしい
コンパイラ言語は、コンパイルとリンクが終わって、実行ファイルが作成されます。
文法ミスがあるとコンパイルエラーになり、実行することはできません。
スクリプト言語のように、動かしながら修正するといったことができない言語です。
手軽に開発ができない
コンパイラ言語は、スクリプト言語よりも開発環境を整えるのがむずかしいものが多いです。
開発したいものがあるとなると、環境を構築する段階で手間がかかることも珍しくありません。
スクリプト言語とは
スクリプト言語とは、人間が習得しやすいように工夫されたプログラミング言語です。
開発環境を構築するのが簡単なものが多く、初心者にも挑戦しやすい言語です。
- JavaScript
- PHP
- Python
- Ruby
ちなみに WordPress(ワードプレス)は、PHP で開発されています。
スクリプト言語には、以下のような特徴があります。
- 処理速度が遅い
- 修正が簡単
- 初心者にやさしい
処理速度が遅い
スクリプト言語は、コンパイラ言語と比較して処理速度が遅いです。
なぜなら、実行するときに翻訳を行っているので、その分時間がかかります。
ただし、これはあくまでコンパイラ言語と比べて、遅いという意味です。
修正が簡単
意図した動作をするかはともかく、簡単にトライアンドエラーを繰り返すことができます。
初心者にやさしい
スクリプト言語は、開発環境を構築するのが簡単な場合がほとんどです。
すぐに開発することができるので、初心者にやさしい言語です。
違いは機械向けか人間向けか
コンパイラ言語とスクリプト言語の違いは、機械向けか人間向けかということです。
コンパイラ言語は、機械にやさしい言語です。
予め機械に最適化された実行ファイルを扱うからです。
ソースファイルを解釈しながら実行するスクリプト言語はコンピュータにとっては、負荷がかかります。
スクリプト言語は、人間にやさしい言語です。
簡単な文法で構成されていて、人間にとってはわかりやすく、習得もコンパイラ言語よりもやさしいものが多いです。
最近は、プログラミングを学習する方も多く、スクリプト言語から始めるという方が多いです。
プログラミングは独学できる
人によっては難しい場合もありますが、最近だと色々なサービスが用意されています。
例えば、ドットインストールは、5,000本以上の 3分動画を視聴できる学習サイトです。
無料からでも使うことができます(詳しくは、 ドットインストールとは【無料でどこまで使える】 をチェック)
プログラミング習得のコツは、独学で完璧を目指さないことです。
そうはいっても、新卒でなければ、未経験者がエンジニアになるのは厳しいかもしれません。
仕事や副業に活かしたい方であれば、 TechAcademy がおすすめです。
色々なコースが用意されており、現役エンジニアから学べる貴重なスクールです。
無料体験、無料相談もやっているので、興味のある方は試してみると良いかと思います。
最後に【コンパイラ言語とスクリプト言語の違い】
コンパイラ言語とスクリプト言語の違いを解説しました。
例えば、フレームワークやライブラリが充実していて、開発効率が良いということでスクリプト言語を選ぶこともあるでしょう。
しかし、主要な処理はどうしても負荷がかかるため、実行速度が必要になるとなれば、コンパイラ言語を選ぶこともあるでしょう。
色々な言語に触れて、違いを理解した上で、最適な言語を選ぶのが、今後求められているプログラマーだと思います。