【はじめてのJava】Javaとは【環境構築編】
はじめてのJava
このシリーズでは、初めてJavaやプログラミングを勉強する方向けに、Javaによるプログラミングの基礎を説明していきます。
目標レベルは、Javaの資格試験の一つである「Oracle Certified Java Programmer, Silver」(通称Java Silver)に合格できる程度の知識の習得です。
はじめてJavaやプログラムに触れる方にもできるだけわかりやすい解説を心がけていきます。
環境構築編
まず初めは、環境構築編です。環境構築とは「必要な準備を行う」ことです。
環境構築編では、「Javaとは何なのか」についての説明と「Javaのプログラムを作成するために必要な準備」を行います。
Windows環境で説明していますが、MACやLinux環境でも大まかな流れは一緒です。
この記事では「Javaとは何なのか」について説明していきます。
環境構築から進めたい方はこちらの記事へお進みください。
Javaとは
この記事では「プログラム」や「プログラミング」、「Java」とは一体何なのかを説明していきます。
目次
プログラミングとは
Javaについて触れる前に、まずはプログラムやプログラミングについて見ていきましょう。
プログラムとは
「プログラム」とは「コンピュータ上で実行する命令の塊」のことです。例えるなら「プログラム」は「台本」です。コンピュータ上で何かのプログラムを実行した場合、コンピュータはそのプログラムに書かれている内容に忠実に処理を行います。プログラムに書かれていない処理は行いません。コンピュータは、トラブルでプログラムが停止しない限りプログラムに書かれている内容に忠実に処理を実行します。
プログラミングとは
「プログラミング」とは「プログラムを作成すること」です。プログラムが「台本」だとすると、プログラミングは「台本を作成する作業」です。
プログラミングにはルールがあります。ルールに違反した作り方をすると、プログラムが動かなかったり、意図した動きにならなかったりします。
プログラミング言語とは
「プログラミング言語」とは、プログラムを作成する際に人間が用いる言語のことです。プログラミング言語にはいくつか種類があります。代表例は「C言語」「Python」「Java」などです。それぞれの言語ごとに特徴や記述方法、得意な処理が異なっています。プログラミングする際には、自分の知識やプログラムの用途に合わせて使用するプログラミング言語を選びます。
ポイント
「プログラミング」とはコンピュータ上で実行する命令である「プログラム」の作成を行うことです。
「プログラム」を作成する際には「プログラミング言語」が利用されます。
Javaとは
「Java」とは「プログラミング言語の一種」です。Javaは20年以上前に登場し、プログラミング言語の中では比較的長い歴史を持っています。
Javaでプログラミングを始める前にJavaの背景や特徴を簡単に見ていきましょう。
Javaの背景
Javaは1996年1月に初めて正式リリースされました。その時にリリースされたのが「JDK 1.0」です。
Javaが発表された際に、Javaには「Write once, run anywhere(一度書けばどこでも実行できる)」というスローガンが掲げられました。
現代のコンピュータでは技術の発達によりプログラムの移植がかなり行いやすくなりましたが、そもそもコンピュータは、たとえWindowsを利用しているコンピュータ同士でも、機種が違えばプログラムをそのまま移植することはできません。
Javaがリリースされた頃に作られていたプログラムは「動いているプログラムを異なる機種ののコンピュータにそのまま移植しても動作しない」ことが当たり前でした。
Javaはそのような常識の中で、「一度作成したプログラムは異なる機種のコンピュータにそのまま移植しても動作する」ことを謳っていました。これは極端に言えば、Windowsで動いているJavaのプログラムをMacやLinuxにそのまま移植しても同じ動作をするということであり、Javaが登場した当時は非常に画期的でした。この動作を可能にしているのはJVM(Java Virtual Machine)というものです。(JVMについては別の記事で詳しく紹介予定です。)
実際にはWindowsとMac、Linuxなどの内部の動作や構造の違いから、プログラムをそのまま移植しても100%同じ動作をするとは言えませんが、それでも移植の時の作業量は大きく軽減されました。
Javaの利用場面
Javaは登場以来、様々な場面で利用されています。例えば現代では、以下のような用途でも利用されています。
Javaの利用場面 | 具体例 | 関連技術など(例) |
---|---|---|
Webアプリケーション | ログイン機能、商品検索機能、ショッピング機能など | JSP/サーブレット |
スマートフォンアプリケーション | メッセージツール、ゲームなど | Androidプログラミング |
ゲーム | Minecraft | Spigot |
上記に挙げているほかにもJavaのプログラムには様々な用途がありますが、どの用途で利用する場合も基本部分は変わりません。
Javaの特徴
他のプログラミング言語と比較した際のJavaの特徴は以下の点です。
- オブジェクト指向である
- コンパイラ言語である
- 異なる環境のPC上でも動作が変わりにくい
「オブジェクト指向」というのはJavaの最大の特徴の一つです。ただし、全容を理解するためには後半の章で扱う内容が必要になります。前半の章の内容にはあまりかかわってこないため、「オブジェクト指向という特徴があるらしい」と覚えておけば問題ありません。
「コンパイラ言語」というのはプログラムを作成したり動かしたりする際の特徴です。「Java」や「C言語」は「コンパイラ言語」です。それに対して「Python」や「Ruby」は「インタプリタ言語」という分類になります。詳しい説明は後程行いますので、「Javaはコンパイラ言語である」ということを覚えておいてください。
「異なる環境のPC上でも動作が変わりにくい」というのはJavaの最大の特徴です。「Write once, run anywhere(一度書けばどこでも実行できる)」というスローガンがある通り、Javaで作成したプログラムは異なるコンピュータに移植しても同じように動作しやすくなっています。こちらも詳しい仕組みは後程扱いますので、「Javaは異なるコンピュータにも移植しやすい」ということを覚えておいてください。
ポイント
「Java」は20年以上の歴史がある歴史の長い言語です。「Webアプリケーション」「スマートフォンアプリケーション」「ゲーム」など、いろいろな用途で利用されています。
「オブジェクト指向」「コンパイラ言語」「Write once, run anywhere」という特徴があります。
次回の内容
次回は実際にJavaでプログラムを作成するために必要な環境構築を行います。
はじめてのJavaシリーズの記事一覧はこちら
シリーズ全記事一覧
環境構築編