検索
連載

Javaとは? 主な用途、他の言語との違いを分かりやすく解説

Javaの特長を知るために、Javaの用途や歴史を紹介します。また、Javaとの関係が深い他の言語との比較を行います。

Share
Tweet
LINE
Hatena

※本稿は、SBクリエイティブ発行の書籍『Java[完全]入門(2024年3月9日発行)』の中から、アイティメディアが出版社の許可を得て一部編集の上、転載したものです。

 Javaの特長を知るために、Javaの用途や歴史を紹介します。また、Javaとの関係が深い他の言語との比較を行います。さまざまな角度からの情報をヒントに、Javaとはどのような言語なのかをイメージしてみてください。

Javaとは? できることは?

 これからJavaを学ぶ皆さんは、「仕事・研究・学業・趣味などにJavaを活用したい」という希望をお持ちかと思います。Javaが何に使えるのかを知っておくと、より楽しくJavaを学ぶことができるでしょう。次のように、Javaはいろいろな目的に使えるプログラミング言語です。

オブジェクト指向プログラミングの学習

 Javaはプログラミングの学習に使えます。特に、オブジェクト指向プログラミングを学ぶのに向いています。

 オブジェクト指向プログラミングは、広く使われているプログラミング手法の1つで、大規模なプログラムの開発で威力を発揮します。Javaのように、オブジェクト指向プログラミングに対応したプログラミング言語のことを、オブジェクト指向プログラミング言語と呼びます。

デスクトップアプリケーションの開発

 Javaはパソコンにインストールして利用する、デスクトップアプリケーションの開発に使えます。Javaには、同じプログラムがいろいろな環境で動くという特長があります。そのため、Windows/macOS/Linuxといった異なるOSに対応したアプリケーションを、比較的容易に開発できます。

 Javaで開発されたデスクトップアプリケーションの例としては、開発環境のEclipse(エクリプス)、WebコンテナのTomcat(トムキャット)、ゲームのMinecraft(マインクラフト)などが有名です。

Webアプリケーションの開発

 JavaはWebアプリケーションの開発に使えます。Webアプリケーションとは、Webを基盤にしたアプリケーションソフトウェアのことで、主にWebブラウザを介して利用します。

 掲示板・ブログ・メール・ウィキ・SNS・ショッピング・銀行・オークションなど、Webアプリケーションには多くの種類があります。Javaは、Webアプリケーションに必要なサーバやデータベースとの連携機能や、開発を支援する各種のライブラリやフレームワークを備えています。

Androidアプリの開発

 Javaはスマートフォンやタブレットなどで動作する、Androidアプリの開発に使えます。Androidアプリを開発するためのプログラミング言語としては、Javaとの連携が可能なKotlin(コトリン)も広く使われています。Javaを学んでおけば、もしKotlinを使いたくなったときにも、スムーズに開発が始められます。

 ここでは、Javaがいろいろな目的に使えることを学びました。次はJavaの歴史を学びましょう。

Javaの歴史

 Javaは、サン・マイクロシステムズ(Sun Microsystems)社のジェームズ・ゴスリン(James Gosling)氏らによって、1990年代に開発されました。Javaの開発環境であるJDK(Java Development Kit、Java開発キット)の正式版が、最初に公開されたのは1996年です。その後、2010年にオラクル(Oracle)社がサン・マイクロシステムズ社を買収したため、現在はオラクル社がJavaの商標を保持しています。

 次のようにJavaは、何度もバージョンアップを重ねてきました。その過程で、呼称がJDKからJ2SE(Java 2 Platform, Standard Edition)、Java SE(Java Platform, Standard Edition)のように変化しています。

photo
Javaのバージョン

 J2SEやJava SEの「SE」は、Javaの標準エディション(Standard Edition)を表します。他のエディションには、Webアプリケーション向けのJakarta EE(旧称はJava EE)や、組み込みシステム向けのJava ME、ICカード向けのJava Cardがあります。

 ここでは、Javaには30年近くの歴史があることを学びました。次はJavaと他の言語を比較してみましょう。

Javaと他の言語の違い

 Javaとの関係が深い、いくつかのプログラミング言語について、Javaとの比較を行います。他の言語と比較することで、Javaの特長をより理解することが目的です。

 Javaの知識は、他の言語を学ぶ際にも生かせる場合があります。逆に、他の言語を学んだことがある方は、その言語の知識をJavaの学習に生かせる場合があります。

C/C++(シー/シー・プラス・プラス)

 Cは1972年、C++は1983年に登場した言語です。CとC++を合わせてC/C++とも表記します。

 C/C++の特長は、高速なプログラムが書けることと、ハードウェアの制御に適していることです。C++はCを拡張した言語で、オブジェクト指向プログラミングが可能です。C/C++はOSからアプリケーションソフトウェアまで、さまざまなプログラムの開発に使われています。

 Javaの文法は、C/C++に似ています。C/C++を学んだことがあると、Javaの文法を覚えるのが容易になるでしょう。逆にJavaを学んだ後には、C/C++を習得するのも楽になります。特にC++は難解なので、Javaでオブジェクト指向プログラミングを学んでからC++に進むと理解しやすくなります。

JavaScript(ジャバ・スクリプト)

 Javaと同時期の1995年に登場した言語です。当初はLiveScript(ライブスクリプト)という名称でしたが、Javaが話題を集めていたためJavaScriptに改称されました。JavaScriptはWebブラウザ上やWebサーバ上で動作する言語で、Webアプリケーションの開発に広く使われています。

 JavaScriptは、言語の名称には「Java」が入っていますが、文法はJavaとは異なります。一方、Javaで学んだオブジェクト指向プログラミングの知識は、JavaScriptでも役立ちます。

Kotlin(コトリン)

 2011年に登場した言語です。KotlinはJVM(Java Virtual Machine、Java仮想マシン)と呼ばれる、Javaと共通の実行環境で動作します。KotlinはJavaと同様に、Androidアプリの開発に使えます。また、KotlinのプログラムはJavaScriptに変換できるので、Webアプリケーションの開発も可能です。

 KotlinはJavaよりも簡潔にプログラムを書くことを狙って設計されています。Javaとは文法が異なりますが、Javaで学んだオブジェクト指向プログラミングの知識は生かせます。また、KotlinからJavaの機能を呼び出せるので、Kotlinに先立ってJavaを学んでおいても損はありません。

Scala(スカラ)

 2004年に登場した言語です。Scalaの特長は、Javaと同様にオブジェクト指向プログラミングが可能な一方で、関数型プログラミングと呼ばれる手法も使えることです。Kotlinと同様に、ScalaはJVM上で動作し、Javaの機能を呼び出せます。また、ScalaからJavaScriptへの変換も可能です。

 Scalaが持つ関数型プログラミングの機能を使うと、大量のデータに対する処理などを簡潔なプログラムで書いたり、効率良く実行したりできます。実はJava SE 8(2014年)以降は、Javaでも似た機能が使えるようになりました。

Python(パイソン)

 1991年に登場した言語です。Pythonは流行の言語なので、学んだことがある方や、興味を持っている方も多いでしょう。大学の講義などでも、以前はCやJavaを学ぶことが多かったのですが、現在ではPythonを学ぶことも増えています。

 Pythonはいろいろな開発に使われますが、近年は特にAI(人工知能)の分野で注目されています。

 Pythonの文法はJavaとは異なりますが、Javaと同様にC/C++には似ています。また、Javaで学んだオブジェクト指向プログラミングの知識は、Pythonでも役立ちます。Pythonのプログラムは、内部ではJavaに似た方式で実行され、速度もJavaのプログラムに比較的近いと言えます。

書籍紹介

Java[完全]入門

Java[完全]入門

松浦健一郎/司ゆき 著

SBクリエイティブ 2,948円


[完全]入門シリーズに「Java」が登場!

開発環境の導入からはじめて、Java言語の基礎をしっかりと丁寧に解説するので、知識ゼロからでも安心して学習を行うことができます。

はじめてプログラミングに挑戦する人から、実務レベルの知識を求める人まで、幅広い層ぼ要求を満たしてくれる入門書です。


購入ページはこちら



Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る