日本語さえわかればわかる!JavaとJavaScriptの違い

javaとjavascriptの違い
  • このエントリーをはてなブックマークに追加
  • Pocket

「弊社のシステムは使いやすい画面になっているのが特徴です」

「なるほど」

「Javaですごく使いやすい画面に仕上げているんですよ。Ajaxで、画面の遷移なく登録情報の変更などができます」

「Javaで?」

「はい、Javaで!」

「・・・」

このような話を先日来た新人営業マンさんが元気に語ってくれた。元気さはとてもいいのだが、JavaとJavaScriptを同じものとしてしまっているのは、やはり気になる。

JavaとJavaScriptはどちらもプログラミング言語だ。名前が似ているため、プログラミング未経験者や新人のIT営業マンは同じものとして覚えてしまいがちだ。

JavaとJavaScriptは違うものだ。では、どのような言語としての違いがあるか?

プログラミング初心者の方のために、なるべくわかりやすく解説した。

JavaとJavaScriptはまったく違う言語

JavaとJavaScriptはどれだけ違うか?

JavaとJavaScriptはまったく違うプログラミング言語だ。似ているのは名前だけと言っていい。

どれくらい違うかの例を挙げよう。

JavaとJavaScriptは、

  • インドとインドネシアくらい違う
  • オーストラリアとオーストリアくらい違う
  • メロンとメロンパンくらい違う
  • 中国と中国地方くらい違う
  • パンとパンダくらい違う
  • South KoreaとNorth Koreaくらい違う
  • もやしとヤシの木くらい違う
  • ココナッツとナッツくらい違う
  • 村上春樹と村上龍くらい違う

少なくとも、カレーとカレーパンくらいには違うものだと思っていい。(カレーパンはカレーが作れないといけないのでちょっと違うが、共通項はあるくらい)

エンジニアに「Javaできますよね?」と聞くのと「JavaScriptできますよね?」と聞くのは、

「メロンパン作れますか?」と聞くのと「メロン作れますか?」と聞くのと同じくらいの距離感がある。

プログラミングの本場アメリカでも間違われている

プログラミングの本場でも大喜利大会が行われている。人気どころ、は次の二つだ。

「カー(car)とカーペット(Carpet)くらいに違う」

「ハム(ham)とハムスター(hamster)くらい違う」

このような例えを作らないといけないくらい、アメリカでも、JavaとJavaScriptの違いを明確に理解していない人は多い。

プログラミングを勉強したことがなければ、わからないのも当然ということだ。

JavaとJavaScriptの違いとは?

それでは、JavaとJavaScriptの違いの細かいところを見ていこう。

Java言語とは?

まずはカンタンにJavaというプログラミング言語について知っておこう。

Javaは、1991年に開発されたプログラミング言語だ。Javaという言語は元々、Fax家電製品での使用を目的に開発されることを計画されていたプログラミング言語だった。実際ブルーレイプレイヤーを動かすのに、Javaが使われている。

言語としての良くできていたので、少しずつWebサービスの開発やネットワークサーバなどに色々な場所に用いられるようになってきた。

例えば、AndroidのスマホアプリなどはすべてJavaで作られている。Javaで作れるものは他にもたくさんある。下記でご紹介している。

Javaはプログラマーにとって、とても使い勝手の良いプログラミング言語である。現在プログラミング人気ランキングは、ほとんど1位だ。

詳しくは下記のページで解説している。

通常のプログラミングというのは、どこで動くかが決まっている。例えば、Windowsの上で動くExcelやWordはMacのPCに持っていくと動かない。

しかし、Javaは「一度書けばどこでも動く言語」という思想に基づいて作られている。そこが特徴的な言語だ。

Javaで書いたプログラムやWindowsでも動くし、Macでも動くし、Linuxというものの上でも動く。

細かいことはとりあえず置いておいていいが、Javaについては次の2点だけ覚えておこう。

・人気のプログラミング言語だ

・どこでも動くものが作れる

この2点だけ覚えておいて頂ければ、十分だ。

JavaScript言語とは? 

JavaScriptはWebページに動きをつけるためのプログラミング言語だ。Webページというのは止まっている状態が普通だ。Wikipediaのサイトのように動きがほとんどなく、クリックしたら別ページに飛ぶようなページが通常ということになる。

しかし、WebページやWebサービスを見ると、

  • メインの画像がスライドショーのようになっていたり
  • ボタンを押したら、「○○しました!」と表示が出てきたり
  • 背景の色が定期的に変わったり
  • カウントダウンタイマーがあったり

様々な動きを見ることができる。これができるのがJavaScriptという言語だ。

デザイン的な要素が強いので、少し前までWebデザインを担当しているデザイナー向けの言語だった。

しかし、今では「とにかくリッチでお客さんが使いやすいな画面」を作る必要が出てきており、プログラミング専門職のエンジニアが担当することが多くなっている。

JavaScriptは年々進化し続けていて、例えば次のようなページも作ることができる。ボールをクリックして、投げてみよう。

面白いユーザー体験を作るには、JavaScriptは欠かせないものになっている。使いやすいサイトやサービスには、JavaScriptがふんだんに盛り込まれていると言っていい。

JavaとJavaScriptの違いとは?

わかりやすい違いは次の通りだ。

  • Javaは色々なところで使われる
  • JavaScriptは画面に動きをつけて、ユーザーが使いやすくするためのもの

これだけ覚えておけば、まずは大丈夫だが、詳細もご紹介しておこう。

アプリケーション(システムやWebサービス)を作るためには?

Webの上で動く何かのシステムやサービスを作ろうと思ったら、次の二つの場所でプログラミングを動かす必要がある。

クライアントとサーバだ。

クライアントとサーバ

それほど難しく考える必要はない。あなたが今この記事を読むのに使っているインターネットエクスプローラーだったり、Chromeだったり、スマホのインターネット閲覧ツールだったり、がクライアントだ。

Javaはどこでも動くのでクライアントでも動いたときがあったが、今はまずやらない。基本的にクライアントで動くのはJavaScriptというプログラミング言語だけだ。

反対にJavaはサーバと呼ばれる裏側で動いている。ユーザーの情報を登録したり、削除したり、既読の管理をしたり、いいね!の数を保存したりするのにはJavaを利用している。

サーバ側で動くプログラミング言語はたくさんあるが、ここでは紹介しない。興味がある方は下記ページをチェックしてほしい。

5分で理解!Web開発初心者におすすめするプログラミング言語

このようにJavaとJavaScriptは動く場所すらも明確に違う。用途も使う目的も使われる場所も、全然違うプログラミング言語だというのがなんとなくお分かりになっただろうか?

なぜ名前が似ているのか?

ここまでまったく違う言語だというのを見てきた。では、JavaとJavaScriptの名前が似ているのは偶然かというと、そうではない。

JavaScriptは1995年にネットスケープコミュニケーションズによって開発された。Javaの4年後にできた言語だ。結構歴史が古い。

JavaScriptが開発された当時は、LiveScriptとという名前で呼ばれていた。こちらが本来の名前だ。

当時、少し前に開発されたJavaというプログラミング言語がかなり人気を持ち始めていた。そこで、LiveScriptの開発者たちは、「その勢いに乗させてもらおうじゃないか!」とJavaScriptという名前に変更した。

だが、JavaScriptとJavaは言語的には何にも関係性は無かった。ただ、勢いに乗りたかっただけだ。

現在でいうと「AKB48」の勢いにあやかった「乃木坂46」が全くなんの関係もない会社から出てきたイメージだろうか。

ここから非エンジニアの悲劇が始まっている。

名前が似ているのは偶然ではないが、まったく関係はない、というのはしっかり覚えておこう。

まとめ

このページでは、JavaとJavaScriptの違いについて解説をしてきた。

Javaというプログラミング言語と、JavaScriptというプログラミング言語が全く違うものだというのを理解していただければ幸いだ。

繰り返しになるが、

  • Webサービスや各種アプリケーションを開発するのならJava言語を使うべきだ
  • Web上の表現をより多彩にし、ユーザーのWeb体験をより良いものへと変貌させるならJavaScriptを使うべきだ

ぜひ、ITプロダクトの営業や、未経験からエンジニアを目指すのであればこれらの違いを説明できるようになっておこう。

「メロンパンとメロンくらいに違うのだ」。これだけの認識でもだいぶ違う。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメント

  1. js野郎 より:

    >「カレー作れますか?」「カレーパン作れますか?」
    カレーはカレーを作ることが出来れば良いが、カレーパンはカレーもパンも作ることが出来なければならない。ちょっと例えが似すぎていて当てはまらない。

    1. lastaff より:

      コメントありがとうございます。仰る通りですね。

      メロンとメロンパンの方がよりいい例ですね。ご指摘ありがとうございます。

  2. Sakef より:

    "Javaで作れるものまとめてみた"のリンクが切れている、もしくは間違っています。
    正:http://eng-entrance.com/java_javaproduct_summary
    誤:http://java/

    1. リナックスアカデミー より:

      ご指摘ありがとうございます。修正完了いたしました。

  3. gkrsnama より:

    初心者です

    ブラウザ上のプログラムですが、検索エンジンやリンク先の情報を収集・解析して再構成、ページを新たに作成表示するするなど、大規模・複雑なテキスト処理を考えています。スクリプト言語で足りるでしょうか?

    テキストエディタで長いコードを間違いなく書く自信がありません。スクリプト言語でIDEの支援(つづり間違い、無定義変数チェック、等)が得られるでしょうか。

    上記の目的のために、JAVAは有用でしょうか?IE限定でよければC#やVBでもいいでしょうか。

    1. リナックスアカデミー より:

      ご質問ありがとうございます。

      JavaScriptはそういった規模の処理は向いていないかと思います。中身がわからないのでなんとも言えませんが、ブラウザ上よりもサーバにて収集・解析するのがよいでしょう。その際にJavaを使うのは良いと思います。

      テキストエディタに関してはIDEを使えば、スペルミスや変数チェックなどはしてくれます。JSでもIDEはありますので、もしどうしてもJSで書きたいということであれば、調べてみることをオススメいたします。

  4. gkrsnama より:

    お答えありがとうございます。ちょっと長文ですが中身を。よろしかったら読んでアドバイスをください。

    想定する仕事

    1)電子学術雑誌(EJ)の目次を解析し、論文名等を抽出
    2)抽出したデータを整形し検索エンジンに投げる
    3)検索結果をフィルタリングし必要なリンクのみ抽出、元ページにリンクやヒット件数を加えたページを作成し別タブに表示する。

    いままで、オラクルサーバにローカル上のアクセスを接続して、両方のテーブルを関係づけて操作するソフトを書いていましたけれど(プログラムはローカルにある)、ブラウザではそういうことはできないのですか。サーバを立てろというアドバイスをくださる方もおられますが、こういう問題でどうやっていいかわかりません。

    //背景
    今、学術文献はほとんどEJになっています。特徴は次
    1)論文を集めている
    2)研究者の利用度によって点数で格付けされている(Nature27.4点、日本化学会誌0.4点という具合、研究者は論文掲載誌により持ち点を得られ、将来就けるポストが決まります)
    3)毎年7%値上げするビジネスモデル

     あるテーマについての論文は、疑似科学・卒論・修論など含め、世の中に大量に存在しています。その中で真に読まねばならないモノを選ばなければ時間が足りません。これについては、格付けの高いEJに掲載された論文を読むことで対応できます。ところが3の特徴のせいで、購読不能なケースが増えています。(私の大学でもEJ費用として年6億円を予算化していますが、ついに限界を超えてしまいました)

     そのため、各国政府は大学に予算を交付し所属機関サーバを立ち上げさせ、著作権の範囲内で自著論文を再投稿することが一般的になってきました。ところが、所属機関サーバは、世界中に所在しフォーマットがばらばらである上に、2の機能を持っていないので、それを利用しようとする者はゴミの山と戦わなければならないのです。

     そこで、無償公開されているEJの目次から、直接に再投稿分を探し出すソフトを書こうというものです。「ググる」を自動化し効率化しようとするものです。

  5. ICチップマン より:

    初めて知りました。就活の前にこのページを見ておけば恥をかかずに済んだのにっ!

    カラシとカラシニコフ、
    E.T.とETC、
    返り値と返り血、
    サレジオ学院と猿知恵学院、
    マチュピチュと日本のマチュピチュ、
    ギョウザとチャオズ

    くらい違うんですね!
    うっひゃあ

    1. ICチップマン より:

      カラテとカフェラテも追加で。
      はい、ふざける前に勉強します。

コメントを残す

*