JavaとJavaScriptの違いのまとめ

JavaとJavaScriptの違いのまとめ

Posted at February 21,2014 2:34 AM
Tag:[Java, JavaScript]

JavaとJavaScriptの違いについてまとめました。

JavaとJavaScriptの違い

新人に「Java書けるんなら当然JavaScriptも書けるよね?さっさとやっておいて」と伝えたら…」の便乗記事です。

1.結論

はじめに結論ですが、JavaとJavaScriptはまったくの別物です。

いいたとえがみつかりませんが、JavaScriptしか書けない人に「Javaも書けるよね?」と言うのは、フランス料理の専門家に「和食も作れるよね?」と言うようなものでしょうか。

以下、いくつかの観点でJavaとJavaScriptを比較してみました(個人的に気がついた部分)。

認識が誤っている部分がありましたらどこかでつぶやいてください。

2.サンプル

まずソースコードの見た目です。

「Hello World!!」を表示する最小限のサンプルで比較してみました。

Java

public class HelloWorld {
    public static void main ( String[] args ) {
        System.out.println( "Hello World !!" );
    }
} 

JavaScript

<script>
console.log( "Hello World!!" );
</script>

ご覧のとおり、共通するのは「"Hello World !!"」の部分だけで、それ以外は全く異なります。

3.概略

Javaは、Sun Microsystems社が作ったプログラミング言語です(もう少し言えば「オブジェクト指向プログラミング言語」)。

JavaScriptは、Netscape Communications社によって開発されたスクリプト言語で、当時のブラウザ「Netscape Navigator 2.0」に初めて実装されました。

開発当初、JavaScriptは「LiveScript」と呼ばれていましたが、当時はJava言語が注目されており、Netscape Communications社とSun Microsystems社が業務提携していたこともあり、「JavaScript」という名前に変更したようです。

4.特徴

Javaはプラットフォームに依存しないことが特徴で、「Java VM」と呼ばれる実行環境をもつコンピュータであれば、ハードウェアやOSの違いがあってもプログラムの変更なしに動作させることができます(通常のプログラム言語ではハードウェアやOSが異なるとソースコードの改修が必要なケースがあります)。

JavaScriptは、静的な表現しか出来なかったウェブサイトに対し、文字サイズの変更といった動的なデザイン性をもたせることができるのが特徴です。

そういう意味で、それぞれの土俵がそもそも異なっています。

5.開発環境

Javaはソースコードのコンパイルが必要なため、Oracle Java SEのサイトからJDK(Java Development Kit)のインストールが必要です。

コンパイルについては後述します。

JavaScriptで最低限必要な開発環境はテキストエディタのみです。

6.動作環境

Javaでコンパイルしたコードを実行させるには、JRE(Java Runtime Environment)のインストールが必要です。JREはOracleのJavaダウンロードページからダウンロードできます。

JDKにはJREもバンドルされています。

JavaScriptは、サーバで動作させる場合には作成したファイルをサーバにアップロードする環境(FFFTP/WinSCP)があれば十分ですが、ローカルPCで動作させる場合にはApacheやIISなどのウェブサーバのインストールが必要です。

なお、JavaScriptはクライアント(ブラウザ)サイドで動作させるための言語でしたが、サーバサイドで動作可能なインタプリタ(Node.jsなど)も登場しています。

7.コンパイルについて

補足としてコンパイルについて説明しておきます。

Javaで必要な「コンパイル」とは、人間がプログラミング言語を用いて作成したソースコードを、コンピュータ上で実行可能な形式(オブジェクトコードまたはバイトコード)に変換することを指します。

言い換えると、ソースコードは人間が理解しやすい形式ですが、コンパイルされたコードはコンピュータが理解しやすい形式になるという訳です。

Javaの場合、javacコマンドでコンパイルを行うことで、Sample.classというクラスファイルが出力され、javaコマンドでこのファイルを実行します。

Windowsマシン上で実行する場合は次のようなイメージになります。

C:\>javac Sample.java
C:\>java Sample
Hello World!!

これに対し、JavaScriptはスクリプト言語はコンパイルという作業が不要です。

冒頭のサンプルをindex.htmlなどのファイル名で保存(またはアップロード)し、ブラウザに読み込ませれば実行可能な状態になる(あるいは即時実行される)という手軽さがあります。

よってプログラムを簡単に実行できるメリットがありますが、実行時にインタプリタ(コンピュータが実行できる形式に変換しながらプログラムを実行)を行うため、パフォーマンスが劣ると言われています。

8.参考サイト

参考サイトは以下です。ありがとうございました。

関連記事
zenback
人気エントリー
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)