こんにちは!
システムエンジニアのShioです。
突然ですが、あなたはプログラミング言語の「Java」って聞いたことがありますか?
「Java」に興味がある人の中には、
- プログラミングって興味があるけど、なんか難しそう・・・。
- 「Java言語」を勉強してみたいけど、何から始めたらいいの?
って人も、けっこう多いと思います。
そこで今回は、プログラミング初心者の方にも「Javaってどんな言語なの?」と知ってもらえるように、「Java言語の入門知識」をご紹介していきます。
この記事では、
- Java言語って、どのくらい前に開発された言語なの?
- Java言語はどんな特徴があって、どんなシステムに使われているの?
といった疑問にお答えしています。
この記事のポイント
この記事のポイントは、以下のとおりです。
・「Java言語の基礎知識」を知りたい人
・Java言語の「歴史」や「特徴」、「どんなシステムに使われているか」が分かる
この記事を読むことで、Java言語の開発された歴史や、プログラミングの特徴、どんなシステムに使われているのかといった、「Java言語の基礎」について知ることができます。
「Java言語に興味があるけど、どんな特徴があるんだろう?」と興味がある人は、参考にどうぞ。
「Java」ってどんなプログラミング言語なの?
それでは、「Java」がどんなプログラミング言語なのかご紹介していきます。
ここでは、
- 「Java」の歴史
- 「Java言語」の特徴
- どんなシステムに使われているか?
という、3つのポイントに分けてご紹介していきます。
①「Java言語」の歴史
まずは「Java言語」の歴史から見ていきましょう。
「Java言語」は、アメリカの「サンマイクロシステムズ社」が開発したプログラミング言語です。
もともとは「家電製品に組み込むためのプログラミング言語」として開発されていましたが、いまでは家電にかぎらず、幅広い用途で活躍しています。
公開されたのは1995年とけっこう昔のことになります。公開されてから20年以上もたっているので、プログラミング言語としては古い部類に入ります。
しかし、現在もバージョンアップが繰り返されていて、世界中のシステム開発で利用されています。
「信頼性が高く、安定して動作するシステムが構築できる」ところに人気があり、「GitHab」が毎年公開している「世界の人気プログラミングランキング」でも、毎年上位にランクインしています。
※GitHubの人気のプログラミングランキングについては、以下の記事で解説しています。
「Java」とよく似た名前のもので、「JavaScript」という言語があります。
僕もよく、プログラミング初心者からの質問で「同じ言語なの?」と聞かれることが多いのですが。
この2つは別の言語なので注意しましょう。(笑)
「JavaScript」はもともとは別の名前だったらしいですが。
当時人気だった「Java」にあやかって、名称を変更したのが名前が似ている原因なんだとか・・・。
言語の成り立ちが違うことからも、プログラムの構文や得意とする分野もぜんぜん違います。
名前が似ているだけで全くの別物なので、これからプログラミングを勉強する人は、「Java」と「JavaScript」は別物、と覚えておきましょう。
②「Java言語」の特徴
つづいて、「Java言語」の特徴についてです。
便利なポイントはいろいろとありますが、ここでは代表的な特徴をいくつかピックアップしてご紹介していきます。
【特徴①】どこでも実行できる(OS非依存)
「Java言語」の特徴のひとつめは、「どこでも実行できる」ことです。
※ちょっと専門的な言い方をすると、「OS非依存なプログラミング言語」という表現になります。
どういう意味なのか分からない人も多いかもしれませんが・・・。
「Java言語」が登場する前までは、動かすパソコンの環境やOSによって、別々のプログラミングをする必要がありました。
そんな中で、「Java言語」は「Write Once Run Anywhere(一度書けばどこでも動く)」というキャッチフレーズを掲げて、どんな環境でも動くことを目的に開発されました。
このキャッチフレーズのとおりに、WindowsやMac、Linuxなどのパソコンやサーバー、家電製品など、「Java言語」は環境を気にしなくても動作するのが大きな特徴となっています。
【特徴②】「オブジェクト指向型」の言語
特徴の2つ目は、「オブジェクト指向型」の言語ということです。
「Java言語」は、C言語やC++など、C系の言語の影響を受けて作られています。
このため、C系の言語によく似たプログラムの構文を取り込みつつ、クラスやポリモーフィズム、継承といった、「オブジェクト指向」の技術が利用できるようになっています。
初心者の人がはじめて「オブジェクト指向」を理解するのはちょっと難しいかもしれませんが・・・。
簡単に言うと、
「むずかしいプログラムの構文を、きれいに整理して書けて、あとで修正しやすい」
というのが、オブジェクト指向のプログラミングの特徴だと思います。
簡単なプログラムを書くときはあまり効果を発揮しないかもしれませんが、「大規模で複雑なシステムを作る時に、便利なプログラムの書き方」、というイメージを持っておくといいかもしれません。
【特徴③】ガベージコレクション(メモリの自動開放機能)
特徴の3つ目は、「ガベージコレクション」と呼ばれる、「メモリの自動開放機能」が備わっていることです。
通常、プログラムが動くときは、パソコンのメモリを必要な分だけ確保して、利用が終わったら開放する必要があります。
これまでのC言語やC++などでは、このメモリの確保や解放の処理は、プログラマが自分でおこなう必要がありました。
メモリの容量は限りがあるので、メモリの解放をし忘れるとプログラムが強制終了してしまう不良につながることが多かったのですが・・・。
「Java言語」では、使われなくなったメモリ領域を自動で解放してくれるため、プログラムを組む際に、メモリの管理に頭を悩ませる必要がなくなりました。
「Java言語」は、こういった便利な機能が標準で備わっているので、安全性の高いプログラミング言語と言われています。
③どんなシステムに使われているか?
「Java言語」の特徴は何となく分かったけど、具体的にどんなシステムに使われているの?
と聞きたくなる人も多いと思います。
さっきも少し説明しましたが、「Java言語」はもともとは、家電製品に組み込むためのプログラミング言語として開発をされました。
しかし、どんな環境でも動作することや、言語の安定性や信頼性の高さから、いまでは以下のような、いろいろなシステムの開発に利用されています。
- 業務システム
- 組み込みシステム
- スマホアプリ
- WEBシステム
もうすこし具体的なイメージで言うと・・・。
冷蔵庫やエアコンなどの家庭用の電化製品や、SNSサイト、銀行や交通システムなどの公共インフラなど。
私生活に関わる小さなものから、社会を支える大規模なシステムに至るまで、「Java言語」が利用されています。
身近な例でいうと、AndroidスマートフォンのOSはJavaで作られています。
OSだけでなく、AndroidのアプリもJavaで出来ているので、Androidのゲームを自分で作ってみたい!
という人には、特におすすめの言語です。
まとめ
今回は、「Javaってどんな言語なの?」という、「Java言語の入門知識」についてご紹介しました。
「Java言語」は、スマートフォンから公共インフラのシステムまで、大小さまざまなシステム開発で利用されているので、「こんなものまでJavaで出来ているの!?」と思うくらい、いろいろなものが「Java言語」で作られています。
企業の大規模なシステム開発でも良く使われる言語で、進路に困ったときにつぶしが効くところも、おすすめなプログラミング言語だと思います。
将来スマホのアプリを作ってみたい人や、大規模なシステムを開発してみたい人は、「Java言語」をぜひいちど勉強してみてはいかがでしょうか?
※Javaの学習におすすめの本は、以下の記事で詳しくまとめています。