Javaのソースコードはコンパイラとインタプリタにより機械語に翻訳され実行されます


さて


さきほど

人にもわかりやすい?文字で記述されたソースコード

👇

/**

*

*/

package project1;


/**

* @author solarplexuss

*

*/

public class Sample001 {


/**

* @param args

*/

public static void main(String[] args) {

// TODO 自動生成されたメソッド・スタブ

System.out.println("Hello World!");

}


}


}



0と1のみで表される


機械語に翻訳されて


コンピュータに命令が伝えられ


コンソール画面に


Hello World!


が表示されました


このとき


まず


ソースコードは


コンパイラというプログラムによって


中間バイトコードというものに変換されます


その後


中間バイトコードがインタープリタというプログラムによって機械語に翻訳されます



統合開発環境EclipseにはJava仮想マシン(JVM)(Java Virtual Machine)というものが用意されており


そのJava仮想マシン(JVM)に中間バイトコードを読み込ませると


Java仮想マシン(JVM)が


中間バイトコードを機械語に変換してコンピュータに命令を与えてくれるのです



みなさんは


OSってご存じでしょうか?


OSとはコンピュータを操作するソフトなのです


Windows10で知られるWindowsもOSなのですが


他にも


MacOS

Linux

Android


などがあります。


そして


Windows10で動作するソフト(プログラム)は


他のOS

MacOS

Linux

Android


では動かないのです


プログラムが動作する環境をプラットフォームといいますが


OSが違えば


プログラムが動作する環境、プラットフォームが違うというわけです


(おまけ 

PS4とNintendo Switchでは

プログラムが動作する環境、プラットフォームが違いますので

PS4のソフトはNintendo Switchでは動作しません)




ところが


Javaでプログラム(ソースコード)を作製すると


Java仮想マシンが


中間バイトコードをそれぞれのOSでも動作するように


プログラムを機械語に変換してくれます


ですので どのOSでも


Javaで記述されたプログラムを実行する、コンピュータに命令をあたえることができるのです


このJavaのようなどのOSでも動作するプログラミング言語を


インタプリタ型言語といいます



インタプリタ型の言語には


Python

BASIC

Perl

C#

等があります


最近Googleが使用しているのでPythonというプログラミング言語は有名ですね


逆に


プログラム(ソースコード)を作製して機械語に翻訳した際


1つのOSでしか動かない言語を


コンパイラ型言語といいます


C

C++

FORTRUN

COBOL

などがそうです


1つのOSでしか動かないので


他のOSでプログラムを動かそうと思ったなら


そのOSにあわせてプログラムを変更する必要があります








  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る