JavaとJavaScriptって似てるけど違うの?

先日広告代理店さんと話をしたのですが、JavaとJavaScriptを同じものとして話すもんで最初の30分くらい意味が分かりませんでした。

エンジニアで無い方は間違っても仕方ないかもしれないですし、僕も組み取れればよかったですが混乱しちゃいました。

 

JavaとJavaScriptって似てますよね。

どちらもプログラミング言語なんですが、親戚かなんかかな?と思う人は多いと思います。

しかし、結論から言うと全く別人です。

田辺さんと渡辺さんくらい別人です。

田辺さんと渡辺さんを同じ人のように話したら誰でも混乱しますよね?笑

 

これら二つの言語の違いについて説明します。

Javaというプログラミング言語

生みの親

Java言語はサン・マイクロシステムズという会社で開発されたものです。

今はデータベースで有名なオラクルという会社が買収し管理しています。

用途

元々は冷蔵庫や電子レンジのプログラム開発用に作られたそうです。

インターネットが発展してきた頃にWEB開発で使えると評価されいっきに広まりました。

なのでJavaはWEB開発の言語という認識が一般的には多いのではないかと思います。

実際JavaはWEBで多く用いられ僕がプログラマーになった2005年にはJavaの需要がかなり高く、そして2018年現在でもまだまだJavaで開発されることは多いです。

WEBに特化したJavaのことをサーバーサイドJavaと呼ばれます。

 

セキュリティが非常に高く会社内で使う業務システムで使うことが多いように感じます。

求人サイトを作ったりといったことにはあまり使われないです。

ちなみに、Eclipseという開発ツールがあるのですが、このツール自体Javaで作られています。

WEBで用いられることが多いですが、実はWEB以外でもかなり使えます。

動作環境

JavaはOS上にJVMという仮想環境を作りそこで動作します。

なのでOSに依存する部分はJVMが吸収してくれてOSを意識しないで開発が出来る特徴があります。

 

WEBで使う場合は、WEBブラウザより受け取ったリクエストに対し情報を処理しDBを更新するといった使われ方をします。

特徴(言語種別)

Javaはオブジェクト指向の言語です。オブジェクトは物という意味です。

Cや昔のPHPは手続き型言語と言われ、言い方が悪いですがただ上から順番に実行する言語でした。

オブジェクト指向は、現実世界と同様に処理とデータを物として定義し、まるで車のエンジンを組み立てるように開発します。

 

「ネジ」というオブジェクトには「長さ」や「太さ」などのデータを持ち、「固定する」という処理を持つ。

「温度センサー」というオブジェクトには「現在の温度」や「最高温度」などのデータを持ち、「最高温度に達したら停止する」などの処理を持つ。

ピンと来ないかもしれませんが、指向というのはすぐに理解出来るものではありません。

しかし、ピンときたらこっちのもんです!

JavaScriptというプログラミング言語

生みの親

JavaScriptは、ネットスケープコミュニケーションズという会社が開発しました。

用途

HTMLやCSSでは出来ない動作を補うために用います。

最近はJavaScriptを直接書かないでJQeryというものを使って開発することが多いです。

 

例えば、スライドショーを作成したり、FacebookやTwitterのような無限スクロールも作成出来ます。

Googleのメール(gmail)を使ったことがあるでしょうか?gmailは、WEBブラウザで開いた場合メールの受信をするときに一々画面の更新ボタンを押したりしません。

メールを開くときにもページの読み込み動作がありません。

それらは非同期通信と言って、JQeryを使って実装します。

他にもたくさんありますが、主にWEBブラウザ上で画面に高度な動きをつけるための言語です。

動作環境

WEBブラウザ上で動作し、HTMLドキュメント内で読み込まれます。

URLを入力しサーバーにリクエストしたときには、サーバーで処理後、構築されたHTMLとCSSと同時にJavaScriptも受け取り画面を表示します。

そのためプログラムコードが見放題になりセキュリティは低いと言えます。

 

サーバー上で動かすことも出来るらしいですが、僕は今まで色々な開発現場に行きましたがそういう使い方をしているところは見たことはありません。

特徴(言語種別)

JavaScriptもオブジェクト指向のプログラミング言語です。

と言っても僕はあまりオブジェクト指向を意識して使っていませんが。

というのも、JQeryというのは「少ないコードで多くの動きを」をコンセプトに作られています。

なので言語の種別を意識するというより、JQery開発チームの指向に近づいて利用したほうが使いやすいからです。

依存しすぎるのも危険ですが、JQery開発チームのほうが僕より優秀なはずです。

まとめ

ちなみにJavaというのはコーヒー豆って意味やったかな?なんかそんなやつです。

JavaとJavaScriptはまったく別物で用途も違う。

Javaは主にサーバーサイド言語であり、JavaScriptは画面上でHTMLと共に動作する言語。

もちろんそれ以外にも使い方はあるだろうが、一般的にWEBでは上記のように使われます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA