プログラムの言語と実行について

当たり前だと思っていた jsの「そのまま実行」

前回の内容について、さらに分かったことがあったので追記します。

事の発端は、プログラムを実行する際に「jsファイルはそのままで実行できる」という言葉を耳にしたことでした。

「バイナリコードにして、はじめてPCが解る言葉(機械語)になる」という前の記事の印象が強かったにも関わらず、javascriptの実行については考えが及びませんでした。 コンパイルされている?

分かったこと

こちらに今回の内容が集約されていました。

専門知識いらず!スクリプト言語とは?言語の種類やオススメを解説 | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト

こちらも回答部分が参考になりました。

コンパイラ - コンパイル言語とスクリプト言語の違い|teratail

ビルドとデプロイについて。

デプロイについては、完全に雰囲気で解釈していました。
ビルドとデプロイって結局なんやねん!?!?!???みたいな記事 - Qiita
もう一度おさらい。

ソースコードをそれぞれ翻訳するのがコンパイルで、コンパイルされたファイル達を1つの実行ファイルにまとめてあげるのがリンク

ビルドっていうのはこのコンパイルとリンクをまとめて行っている

また、ビルドは別のファイルに変える。といった使いやすい言葉。
jsのES6をES5に変えることも「ビルド」というらしいのですが...?
おいおい調べます。

プログラム言語ににはスクリプト言語コンパイル言語がある

スクリプト言語

javascriptPythonなど。そのままのソースコードで実行できる。ただし、PCにソフトウェアが入っていればの話。 PCやブラウザが1行ずつコードを読みながら解釈(翻訳)しているので、開発するには(ビルドの必要がないので)テンポよくできるが、実行速度は遅くなる。
スクリプト言語コンパイルして実行すれば早くなる。

コンパイル言語

C言語java※、Go言語など 。実行にコンパイルが必要な言語。
例えばC言語について。コンパイルすれば、C言語が入っていない環境でも実行できる。バイナリになっているのですぐPCが解釈できて実行速度は速くなる。
C言語のファイルのコンパイルといっても、MacWindowsコンパイラーは異なる。
C言語をPCにインストールのは、C言語が使えるようにするためと、C言語ソースコードコンパイルしてビルドするためのもので、実行に必要というわけではないことが分かりました。

※厳密にはjavaスクリプト言語コンパイル言語の中間に位置するそうです。

こう考えると(コンパイル言語においては)、いろいろな言語があって方法は違えど、最終的にはOSにわかる形、0と1にしていくのは同じなんですね。

Sass→cssにするのもコンパイルって呼ばれていたような

コンパイルを知った入り口がここだったので、混乱していました。
先に書いたjsのES6→ES5のビルドといい、振り出しに戻りかねない疑問です。

また調べ次第載せようと思います!

こちらで再度ビルドやスクリプト言語などについて考えています。
(何回書くんだ...)