突然ですが、「JavaとJavaScriptの違い」わかりますか。
初心者の方は「違い」と言われてもピンと来ないですよね。そもそもJavaとJavaScriptは言い方が違うだけで、実は同じものじゃないかと思うかもしれません。
結論からいうと、JavaとJavaScriptは全く別物です。ということで、今回はJavaとJavaScriptの違いについて、解説していきたいと思います。
Javaとは
Javaとは、プログラミング言語の一つです。環境さえ整えばOSに依存しないで実行させることが可能です。業務システムやAndroidなどのスマホに利用されていたり、サーバサイドで使われる局面は多くあります。
この記事を読んで頂いているということは、業務システムの開発に携わることになったか、業務システムを開発する会社に就職しようと考えているのではないでしょうか。 よく「業務システムってなに?」「他のシステムやアプリ開発と何が違うの?」とい[…]
また、Javaはコンパイラ型言語であるため、処理速度が早いという特徴があります。急にコンパイラ型言語と言われてもピンと来ないですよね。ざっくり解説すると、コンピューターを処理するためには、コンピューターが認識できるものにしておく必要があります。Javaであれば、オブジェクトといわれています。
コンパイラ型言語とは、Javaなどのプログラミング言語からオブジェクトのようなコンピューターが認識できるものに変換する作業が必要になる言語のことを指します。
コンパイラ型言語に分類される言語は、Java、C#などがあります。事前にコンピューターが認識できるものに変換しているため、処理速度は早くなります。
- Java はコンパイラ型言語
- 基本OSに依存しないが、サーバサイド側でよく使われる
JavaScriptとは
JavaScriptは、Webサイトなどに複雑な機能や動きを付けることができます。HTML、CSSとセットでWebサイトなどのフロントエンドで使用されています。
フロントエンドとサーバサイドというキーワードが出てきましたが、これはシステムの1つの機能・作業を分解した場合、担当する範囲を指した言葉です。一般的にフロントエンドはWebサイトの見た目、動きを、サーバサイドはWebサイトから受領した情報を使用した業務処理を担当することになります。
またJavaとは違い、JavaScriptはインタプリタ型言語になります。インタプリタ型言語とは、書いたコードを1行ずつ実行していく言語になります。そのため、先ほど出てきたコンパイラ型言語よりは処理速度は遅くなります。
ただ、遅くなるといっても何秒もかかるというわけではなく、数ミリ秒とかの単位で遅くなるという意味です。
- JavaScript はインタプリタ型言語
- HTML、CSS とともに、フロントエンドで使われている
結局JavaとJavaScriptは何が違うのか
JavaとJavaScriptの違いですが、先ほどの特徴で解説したポイントを2つまとめます。
プログラムの実行方法が違う
まず1つ目。先ほども出てきましたが、JavaとJavaScriptではプログラムの実行方法が違ってきます。
Java:コンパイラ型言語のため、事前に全てのコードを変換しておきプログラムを実行
JavaScript:インタプリタ言語のため、コード1行単位で変換しながらプログラムを実行
使用される局面が違う
2つ目。使用される局面でも違ってきます。以下のような局面でそれぞれ使用されます。
Java:サーバサイド(業務処理)
JavaScript:フロンドエンド(Webサイトの画面など)
サーバサイドとフロントエンドのイメージをつかんでもらうため、具体的な作業を分解します。例えば「商品情報を検索する」といった作業を行う場合、システムとしては以下のような作業に分解されます。
- WEBサイトで商品情報を入力
- 入力された情報で商品情報を検索
- 検索条件にヒットした商品情報をWEBサイトに返却
- 受領した商品情報をWEBサイトに表示
ここで、「フロントエンドは①④」となり「サーバサイドは②③」の作業を行います。簡単な例ですが、このように作業の住み分けが行われています。
ただ、Javaがフロントエンドで動かせないとか、JavaScriptがサーバサイドで動かせないというわけではありません。各プログラミング言語の特徴に合わせて作業を住み分けた方が効率いいというわけです。
まとめ
JavaとJavaScriptの違いについて紹介してきました。言葉自体はとても似ていますが、実際の中身は全然違っています。初心者の方は、JavaとJavaScriptというプログラミング言語は間違いやすいと思います。
というか、私も初心者のころは勘違いしていました。
今回の記事を読んでもらって、JavaとJavaScriptは別物だということを少しでも理解してもらえたらと思います。