JavaとJavaScriptは、全く違うものです。
いまだに違いを理解されていない方が、大勢いらっしゃると耳にしたので、どう違うのかをご説明いたしましょう!
※今回は、JavaとJavaScriptを組み合わせて何かシステムを作成する場合、
2つの言語をどのように使い分けるのかを例に挙げて、違いを説明していきます。

1.用途が違う。

JavaScriptの用途
JavaScriptは、ブラウザで表示したウェブページの見た目を変化させるのに用いられる。
例えば、ウェブページのど真ん中に画像でできた広告を表示させたり、その広告のすぐそばにあるXボタンを押したら広告が閉じるのも
JavaScriptだからこそできることです。
ウェブブラウザ側でのお仕事の一部分をお手伝いするのに用いられます。外面をよくするのに使う。
いわば受付嬢やお客様相談センターで電話応対してる人みたいなもんです。

Javaの用途
Javaは、サーバー側で、データーベースに問い合わせしたり、データーベースに書き込んだりするのに用いられる。
また、ウェブページでユーザーが入力したデータを実際に本格的に処理するのにも用いられます。
アプリやサーバーシステムのほとんどの処理はJavaで作れる。
ファストフードやってる会社で例えると、Javaは、会社そのものであって、
JavaScriptは、いわば、店頭に立つアルバイトの女の人のようなものです。
JavaScriptは、Javaがやることの一部で、特に見た目に関する仕事をお手伝いしているに過ぎないのです。

2.できないことがある。

■ブラウザに表示中のウェブページの作り替えが容易に実現できるかどうか
パソコンのウェブブラウザでツイッターを閲覧してるとき、下方向へスクロールすると、
ページをまるごとリロードしないまま、
次々と今まで表示されていなかった記事が次々と読み込まれて表示されるのを目撃したことはござませんでしょうか。
この仕組みを実現するには、JavaScriptの力を借りないと、事実上、無理、不可能です。
Javaではできません。いや、やろうと思えば、なんとかできる可能性はあるでしょうけど、
同様の効果をJavaで実現させようとしたら、かなりのお金と時間がかかるでしょう。
だったら、JavaScriptでやったほうが簡単にできるんですから、JavaScriptでできることであり、
Javaではできないことだと考えられます。

■マルチスレッドができるかどうか
JavaScriptだけでは、マルチスレッドで動作できません。
ほかのプログラミング言語の機能の力を借りて、なんとか実現できるようですが。
一方で、Javaだと、いとも簡単にマルチスレッドが実現できます。

■オブジェクトに後から変数を追加できるのかどうか
Javaだと、作成されたオブジェクトに、後から、変数を追加することができない。
例えば、
class Person{
private int age;
Person(int age){
this.age=age;
}
}

class Initiator{
public static void main(String[] args){
Person person = new Person(24);
person.name = "Saitow"; // ←これやるとエラーになる。バグる。
}
}

JavaScriptだと、いとも簡単にできる。
var person = {
age:24;
};

function append(){
person.name = "Saitow";// これをやってもエラーにならない。
}

■データーベースに問い合わせできるのかどうか
Javaはいとも簡単にデーターベースに問い合わせできます。
JavaScriptは、自分だけではできません。ほかのプログラミング言語に援助をしてもらえば、実現できますが。

ほかにもいろいろ違いはあるでしょう。
でも、長くなるので今回はこの辺でおしまい。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.