はじめに
はじめてNode.jsを学んだ方や使用した方はこう思いませんでした?
「なんで同じJavaScriptなのに名前が違うの?サーバーサイドで動くJavaScript?使ってるけどいまいちよくわからない…」
そんな疑問を持った方たちのために簡単に解説していきます。
言語・処理系について
そもそもプログラミング言語とは、コンピュータに情報や命令を伝えるための**「文字・記号の集まり及びそのルール」**です。そして、プログラミング言語によって書かれた文字列を処理系によって処理することで、コンピュータに情報を伝達することができます。
日本人は日本語を理解することができますよね?逆に、日本語を知らない外国人は日本語を理解することができません。これは、日本人が頭の中に日本語の処理系を持っているから言語を理解できるのです!
このように言語は、その言語の意味やルールを処理・理解してくれる処理系がないと全く機能しなくなってしまいます。
プログラミング言語における処理系とは?
日本語や英語などを理解するための処理系はそれぞれの人間の頭脳でした。じゃあ、プログラミング言語における処理系は何でしょう?
それは、プログラミングをする環境を構築する際にインストールしたやつです!
言語 | 処理系 |
---|---|
Python | CPython |
C | GCC |
PHP | PHP |
など |
基本的にプログラミング言語と処理系はセットなのです。
では、フロントでJavaScriptを動かしている方は、何もインストールしてないのに動くじゃん!と思うかもしれないですが、これはブラウザに処理系が搭載されているためです。
じゃあNode.jsって?
そうです、
Node.jsとはJavaScriptの処理系です!
プログラミング言語と処理系の関係について理解できれば、名前が違う!といった疑問も解消できるはずです。
JavaScriptはブラウザで動くフロントサイドの言語と昔は言われていましたが、このNode.jsという処理系によってPythonやPHPといったサーバーサイドの言語と同じようなことができるのです!
おわりに
自分でも曖昧な部分があったので、記事として書き起こすことで整理してみました。
自分の成長のためにも、間違った部分やご指摘があればどんどんコメントお願いします!