Warning: Trying to access array offset on value of type bool in /home/willcom7/will-kishin.com/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
こんにちは、プログラミング勉強中のきしんです。
先週まで習っていたHTML、CSS、JavaScriptは一段落して、今週からJavaの勉強に入りました。
今週はJavaって何なの?みたいな入門の内容でしたが、そこでへえ〜と思ったのが、Javaの優位性です。
そもそもはAndroidアプリはJavaで開発できると聞いてJavaの勉強を始めたのですが、
その通り、Javaは開発環境のOSと動作環境のOSを別々にできるのが強みなんです。
つまりWindowsで開発し、Androidで動かす他に、iOS、Linux、ガラケーなど様々な環境で動作させることができます。
それはインタープリタ型のマシン語への翻訳をしているからなんです。
マシン語というのは本当に0と1の世界で、プログラミング言語(例えばJavaで、 System.out.println…などの記述)とは異なります。
もっと言えば、マシン語を人間が触れるようわかりやすくしたのがプログラミング言語なんですね。
そして、その「プログラミング言語→マシン語」の翻訳の方法にはコンパイラ型とインタープリタ型があります。
コンパイラ型は全部を一気に翻訳するやり方で、速いけどOSを固定するので、別のOSで動かなくなります。
逆にインタープリタ型は一行ずつ翻訳するやり方で、遅いけど、OSを自由に変えられます。
だから、インタープリタ型は融通が効くんですね。
ここからが味噌なのですが、
この説明ではJavaはインタープリタ型と思われると思いますが、違います。
実はコンパイラ型とインタープリタ型の両方を少しずつ合わせて使っているんです。
つまり、OSを変えられるギリギリまではコンパイラ型のやり方をして、OSを変える最終部分だけインタープリタ型のやり方を取り入れる事で、OSの可変性と動作の速さの両方を実現しているんですね。
Javaすごい!
ちなみに他の言語はどちらかだけだったりするので、下記のようなベン図になります。
Javaすごい!!!
Java Scriptとの違いは?
ちなみに、よく混同されるのがJava Scriptとの違いなんですが、
本当に全く、全く関係ありません。
実はJSはもともとLive Scriptという名前だったんです。
しかし、その当時、ちょうどJavaが大ブームを巻き起こしました。
そして、Live Scriptの開発者は考えたんです。
Javaって名前つけたらバズりそうだな…
というわけで、Java Scriptに改名したんです。
無理矢理感が半端ないですよね。
ちなみに、別会社のサービスですよ?
何なら海賊版?って感じじゃないですか。
ただ、2社間で業務提携など、関係性はあったようです。
面白いもんですねえ。
これを習ったリナックスアカデミーでは無料の個別カウンセリングを実施しています。
興味がある方はぜひまずは足を運んでみましょう!
コメントを残す