0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スクリプト・プログラミング言語の種類についてまとめてみた

Last updated at Posted at 2024-09-01

前置き

エンジニア初学者や、プログラミングに触り始めた方向けの記事になります!
本記事では、**「スクリプト言語・プログラミング言語(インタープリタ型/コンパイル型)
についての記事です。

言語が持つ種類として「そうやって動いてるんだー」っとイメージできるところを目指します。

スクリプト

Q.スクリプトって何?
A.コンピュータが実行する命令やコマンドを記述したプログラム

機械語(2進数)に翻訳せず、プログラムを直接実行できる言語

前提知識
Q.プログラムってどう動いているのか?
A.下記動作をする

1.コンピュータにやりたいことを書く
2.コンピュータが理解できるように翻訳する(2進数化)
3.コンピュータが実行する
詳細は下記項番で説明

翻訳作業を実行する方式=コンパイラ言語
翻訳作業を実行しない方式=インタープリタ言語 ≒ スクリプト言語

Linuxを触っている時によく耳にする言葉 →シェルスクリプト
コマンドラインインターフェース(CLI)上で実行されるスクリプトです。
シェルがスクリプト内のコマンドを1行ずつ解釈し、その都度実行します。
インタープリタ型と動きが似てます。

特徴
・習得難度: 1行完結、文書のような直感的コード

・柔軟性: コンパイルの作業がなく、すぐに実行できる

・処理速度が遅い: 1行ごとに解釈が必要、コード全体の最適化が難しい

・メモリ使用量: 使用量が多い、インタープリタが使用する

インタープリタ言語

インタープリタ型について説明します。

Q.インタープリタ型言語って何?
A. インタープリタ型言語は、ソースコードを実行時に逐次解釈して実行する言語です。

インタープリタがソースコードを1行ずつ読み取り、直接実行します。
つまり、機械語(2進数)に翻訳せず、プログラムを直接実行できる言語。

※蛇足:インタープリタとは日本語直訳で"通訳者"って意味※

Q.どんな特徴なの?
A.下記特徴を持つ。

特徴:
逐次解釈: 実行時に1行ずつ解釈しながら実行されます。

柔軟性: 実行中にコードを変更しやすく、デバッグが容易です。

比較的遅い実行速度: 逐次解釈されるため、コンパイル型言語よりも実行速度が遅いことがあります。
例: Python、JavaScript、Ruby、Perl

コンパイラ

インタープリタ型について説明します。

Q.コンパイラ型言語って何?

A.コンパイル型言語は、プログラムのソースコードを実行する前に、コンパイラによって機械語に変換(コンパイル)されるもの。
つまり、機械語(2進数)に翻訳してから実行されるもの。

この変換された機械語のファイル(バイナリファイル)は、コンピュータが直接実行できます。

特徴:

事前にコンパイル: 実行前にソースコードを一度にすべてコンパイルします。

高速な実行: コンパイル後は直接機械語で実行されるため、実行速度が速いです。

エラーチェック: コンパイル時にエラーチェックが行われるため、実行前に多くのエラーを発見できます。
例: Java、C、C++、Go、Rust

動作イメージ

下記図を参考にしてください。

コンピュータは2進数で決められた数字を使って処理を判断しています。
よって、プログラム言語で書かれたテキスト文字や記号を機械語(2進数)に変換して動かしています。

<動作説明図>

image.png

ハイブリッド動作
Java Script(JS)言語は少し特殊です
この言語はJust-In-Timeコンパイラといった動作が行われます!

これは、プログラムの実行中にコンパイルして機械語に翻訳する技術です。
頻繁に実行されるコードを見つけて翻訳しておくことで処理速度が向上します!

結論
言語によっては両方の性質を兼ねようとしているものもある

まとめ

・シェルスクリプトはインタープリタ型言語に属し、システム管理や自動化タスクなどに広く使われている。

・インタープリタ型、コンパイル型それぞれはプログラムの実行方法が異なる。
・それぞれにメリットとデメリットがある。
・開発環境やアプリケーションの要件に応じて使い分けが必要。

ただし、注意点として、一部の言語はインタープリタ型でありながらも、実行時にバイトコードへコンパイルされるハイブリッドな動作をすることもある。

以上で終了です。
学習の手助けになれば幸いです!

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?