\r\n\r\n
GitHubを見ると、JavaとJavaScriptは世界で最も人気のあるプログラミング言語であり、Python、PHP、Rubyがそれに続く。
常識的に考えて、JavaScriptはJavaをより軽く、よりシンプルに、より簡単にしたものであるべきです。しかし、常識は間違っている。この2つの言語には共通点もあるが、似ていることよりも違うことの方がはるかに多い。
今回は、その違いをいくつかご紹介し、お客様のニーズに応じて、どちらを学ぶかを決めていただきたいと思います。このように、2つの言語が同じ用途で使われることはほとんどありません。
Javaはもともと「Oak」「Green」という名前で開発され、1995年5月に発売された。多くの人が、C/C++の後継あるいは進化版と考えている。同じ構文の多くを借りながら、より安全で簡単なコーディングを可能にする新しい概念を導入しているからである。
Javaの基本原則は、プログラマーが「一度書けばどこでも実行できる」ことであり、現在もそうである。異なるターゲットプラットフォーム用に実行ファイルをコンパイルするのではなく、Javaコードは単一のJARファイルにコンパイルされ、Javaをサポートするあらゆるシステムで実行できる。
これは、Java固有の命令を集めたJARファイルを読み込み、実行時にプラットフォーム固有の命令にコンパイルし、アプリケーションを実行するJavaバーチャルマシン(JVM)によって実現される。このプロセスは、ジャストインタイム・コンパイルと名づけられるにふさわしい。詳しくは、JVMの概要でご確認ください。
では、実際の現場では、Javaはどのように使われているのだろうか。
JavaScriptは、HTMLの大きな制約から生まれたものです。よりダイナミックなWebの必要性を予見したNetscape Communicati***は、HTMLに直接書き込める新しい言語を作り出した。この言語はLiveScriptと名付けられ、わずか10日間で試作されました**。
LiveScriptとJavaはもともと補完関係にあり、そのためJavaScriptと名前が変わり、そのため2つの言語の構文が似ているのです。しかし、これはあくまで類似点であり、JavaはWebで普及せず、両言語はすぐに別々の道を歩むことになった。HTML、CSSと並んでWeb開発の三本柱の一つであるJavaScript。
コンパイルされたJavaとは異なり、JavaScriptはインタプリタ方式です。JavaScriptを使用しているサイトにアクセスすると、ブラウザはJavaScriptのソースコード全体を受け取り、JavaScriptエンジンを使って動的に解釈します。V8(Chrome)、SpiderMonkey(Firefox)、Chakra(Edge)など、ブラウザによって使用するエンジンが異なります。
つまり、JavaScriptはもはや単なるブラウザサイドのWeb言語ではないのだ。この10年で、世界で最も柔軟性のある言語のひとつとなり、それが最も人気のある理由にもなっている。では、実際の現場では、JavaScriptはどのように使われているのでしょうか。
JavaとJavaScriptの本当の違いは、アプリケーションのパフォーマンスと開発時間という2つの主要な指標に集約されます。
Javaは長大な言語であり、多くの制約があります。一般に、JavaアプリケーションはJavaScriptアプリケーションに比べて重大なエラーが発生しにくく、パフォーマンスも高いが、開発に時間がかかる。 JavaScriptは自由度が高く、ショートカットが可能なので、迅速な開発には向いているが、実行速度が遅く、コードが乱れ、デバッグが難しいという欠点がある。
デスクトップやモバイルでは、どちらも有効ですが、大規模で複雑なアプリケーションでは、デバッグやコードベース管理がしやすいJavaをお勧めします。それ以外は、JavaScript。
画像引用元:Melpomene via Shutterstock.com ウェブサイト