トピックス
ゲームプログラマーの必須知識 Java、JavaScriptとは
名前の似ている「Java」と「JavaScript」
「Java」と「JavaScript」って名前が似ていますよね。「似たような名前のプログラミング言語だから似たようなものでしょ?」と思いがちですが、じつはまったくの別物です。メロンとメロンパンくらいに全然違います。
「Java」と「JavaScript」の違いとは?
そもそもプログラミング言語とは、機械にしか理解できない機械語を、人間にも分かりやすく翻訳したものです。その翻訳の方法の違いが、プログラム言語の違いになります。同じアルファベットを使っていても、英語とフランス語では言語が異なるのと同じようなことですね。そのため、あらゆるプログラム言語は、個別の言語であると考えることができます。なかでも、JavaとJavaScriptは正反対といえるほど、まったく性質が異なります。ではどのような点が異なるのか、具体的に見ていきましょう。
1.主な活用の場 サーバー vs クライアント
JavaとJavaScriptでは、まず活用される場が異なります。Javaは主にサーバーで活用されるのに対して、JavaScriptは主にクライアントで活用されています(「主に」なので多少の例外はあります)。サーバーとは、webサイトのデータが収納されているサービス提供者のコンピュータのこと。データの送信やアップロードをしたときにデータが保管される場所です。いわゆるクラウドも、保管に特化したサーバーの一種です。クライアントとは、webサイト(=サーバーにあるデータの集合体)を見るために、私たちが使うコンピュータ(パソコンやスマホやタブレットなど)のことです。このページを見ているパソコンやスマホなどが、まさに「クライアント」です。
2.プログラムの中身 静的型付 vs 動的型付
Javaは、何かあるたびに「データ型」というものを指定しなければなりません。これを専門用語で「静的型付」といいます。一方のJavaScriptは、データの型を指定することはありません。これを「動的型付」といいます。まさに正反対の性質といえます。静的型付のプログラミング言語から学び始めた人は、動的型付のプログラミング言語が、あまりにも自由すぎて戸惑うことでしょう。逆に、動的型付のプログラミング言語から覚えた人は、静的型付をまだるっこしく感じるはずです。
3.オブジェクト指向 クラスベースvs プロトタイプベース
JavaもJavaScriptも「オブジェクト指向」というプログラミングの思想によって作られていますが、そのアプローチ方法がまったく異なりますJavaは、抽象的な枠組みから具体的なプログラムを作る「クラスベース」という考え方にもとづいてプログラミングしていきます。一方のJavaScript は、具体的なプログラムと関連のある具体的なプログラムを作る「プロトタイプベース」という考え方にもとづいています。まさに正反対のアプローチといえます。
開発言語ごとの違いを理解するのに役に立つ「Java」と「JavaScript」の違い
以上のように、JavaとJavaScriptには、共通点がほとんどありません。しかし、これらの違いは、他のプログラミング言語の性質を考えるときの目安になります。たとえば、C++には、Javaのような「クラス」という概念があります。一方、PHPは、JavaScriptのように「動的」に活用する言語です。というような違いを理解するのに役立つでしょう。
つまり、Javaは、JavaScriptよりもむしろC++に近いのです。一方、JavaScriptは(少なくともJavaよりは)PHPに近いと言えるでしょう。このことをしっかり理解しておくと、各開発言語を勉強しはじめた時に、取り掛かりやすくなります。しっかり押さえておきましょう。
【無料 資料請求】最短2日でお届け!まずはパンフレットを取り寄せよう!