プログラミング言語はたくさんある。
PHP、Ruby、Python、Swift、C、C#など挙げていったらキリがない。しかし、そんな中でもJavaはNo.1と言っていいほど、高い人気を誇っている言語だ。
このページではJavaの特徴について初心者の方でもすぐにわかるようにまとめてみた。読めば、Javaが選ばれている理由もわかるはずだ。
目次
Javaの一般的な特徴
Javaのプログラミング言語としての特徴も後ほど解説するが、まずは一般的な特徴についてお伝えしよう。
特徴1. どこでも動く
Javaを開発したサン・マイクロシステムズがつけたJavaのスローガンは「Write once, run anywhere」という言葉である。
直訳すると「一度書けば、どこでも実行できる」だ。
Javaが登場する前は、実行するコンピュータやOSごとに別々のプログラミング言語でプログラムを書かなければならなかったが、Javaは様々な環境で動くように設計されているため、WindowsのパソコンでもMacのパソコンでも、LinuxなどのWebサーバでも洗濯機などの組み込みコンピュータでもJavaで作ったプログラムが動く。
これが一般的に一番有名なJavaの特徴だろう。実際に、そのように使われているかは置いておいて、エンジニアとしては知っておかなければいけない言葉だ。
特徴2.大企業のシステムで採用されている
Javaは様々なところで利用されているプログラミング言語であるが、特に銀行や証券などの大きな企業のシステムでは圧倒的に利用されている。
銀行などのシステムはとにかく巨大で、何百人から何千人ものエンジニアが何年もの時間をかけて構築するようなものだ。
そういったシステムに必要なのは「予想通りに動くこと」や「セキュリティ」、「大人数で作成しても壊れないシステム構造」など安定性が最重要になってくる。
Javaはプログラミング言語の中でも、とても安定した技術であり、セキュリティなどの面でも他の言語に比べて秀でている。
特徴3.大規模開発
上でもお伝えしたが、Javaは大規模な開発に向いている。
大規模開発とは、多くの人数で一つのシステムを作り上げる作業である。
Javaは後ほど紹介するオブジェクト指向が確立されたプログラミング言語で、プログラムを細かな機能の部品に分解して作業できる。
そのため、大人数で同時に開発を行い、その部品を組み立てることで大規模システムを築き上げることができる。Javaが大企業のシステムで利用される理由の一つにもなっている。
特徴4.学びやすさ
Javaは難しい言語のように思われがちだが、Javaはとても学びやすい言語でもある。
多くのシーンで利用され、多くのエンジニアが利用する言語ということもあり、書籍やネット上の情報などが豊富だ。
Javaのコミュニティーサイトなども様々あるので、独学で学ぶことも可能である。また、動的なWebシステムを簡単に作れたりするので、C言語などを学ぶよりも、実際に自分で作ったプログラムが動くのを見ながら楽しく学べる。
特徴5.需要の多さ
Javaは様々なシーンで利用されるプログラミング言語のため、Javaのエンジニアは需要がある。
求人サイトや情報系サイトの調査結果などの人気のプログラミング言語をみると常にトップはJavaである。近年ではAndroidのスマートフォンやタブレット用のアプリの開発するためのプログラミング言語にJavaが採用されているため、Javaは将来性のあるプログラミング言語だ。
特徴6.潰しがきく
Javaを学ぶことで他のプログラミング言語をマスターするのも容易になる。それはJavaがJava以前のC言語やC++などから多くを継承したものであること、C#やRubyなどJava以後のプログラミング言語はJavaの影響を大きく受けている点だ。
Javaさえ習得しておけば、PHPでもRubyでも何でも大抵のプログラミング言語はすぐに使えるようになるだろう。
特徴7.Android
Javaが現在一番注目されている利用シーンはAndroidだ。AndroidはGoogleが開発したスマートフォン用のOSであり、OSのシェアでは世界で最大である。
Androidスマートフォン用のアプリを作るためのプログラミング言語がJavaだ。
AndroidのアプリはGoogleが開発するための便利ツールやライブラリなどを提供しているため、簡単なアプリであればすぐに作ることができる。
Androidのスマートフォンやタブレットを持っているなら、そこに自分で作ったアプリをインストールすることができるので、プログラミングの楽しさを実感しやすい。
さらに、Googleのサイトで開発者登録をすれば、自分で作ったアプリを配信することができ、世界中の人にインストールして使ってもらうこともできる。Androidに関する書籍やネットの情報もまた豊富にあるので、独学でAndroidアプリを作って配信することも十分可能だ。
Javaのプログラミング言語としての特徴
続いて、プログラミング言語としてJavaがどのような特徴を持っているのかを見ていこう。
プログラミング言語が様々ある理由はその特徴によって利用される場面が異なってくるためでもある。だからこそ、Javaのプログラミング言語としての特徴を理解することは重要だ。
プログラミング初心者の方には少々難しい部分もあるが、わかる範囲で確認してほしい。
特徴8.オブジェクト指向
Javaはアメリカのサン・マイクロシステムズが開発し、1996年にリリースされたプログラミング言語だ。
それまで多くの場面で利用されていたC言語やC++などから文法的には多く引き継ぎ、それらのプログラミング言語の欠点を克服するように改良されて設計されている。その改良点の一つがオブジェクト指向だ。
オブジェクト指向は現在利用される多くのプログラミング言語で取り入れられているものであるが、Javaはその代表的なプログラミン言語といえるだろう。Javaを学ぶ上でオブジェクト指向プログラミングはとても重要なことである。
Javaでオブジェクト指向プログラミングを理解すれば、その他のオブジェクト指向型のプログラミング言語を学ぶ際にも大変役にたつだろう。
オブジェクト指向とは何かを説明するのは難しいが、ものすごく簡単にいうと、プログラムのすべてをモノとして扱うということだ。
プログラムを車に例えてみよう。車にはシャシー、ハンドル、タイヤ、エンジンなど様々なパーツがある。そして、それぞれは別々の部品であり、モノである。車はタイヤがパンクしても別のタイヤを付けたり、雪道で滑らないように冬用のタイヤを付けたりと、車自体には変更を加えなくても、部品を変えたり、直すことで車の機能を維持できるように作られている。
プログラムも車と同じように、システム全体に手を加えなくても、一部の部品を変更や修正することでアップデートや機能追加できるようにしようというのがオブジェクト指向だ。オブジェクト指向は下のページで詳しく解説している。
特徴9.ガベージコレクション
Javaにはガベージコレクションという機能がある。
これは、C言語やC++などにはなかった機能だ。それまでのプログラミング言語は自分でメモリの管理をしなければならないという難点があった。
例えば、Xという変数を作り、その変数に「あ」という文字を入れたとする。そうするとXという変数にメモリが使用され、その変数の中身をクリアしないと、使用しなくなっても、ずっと「あ」という文字が残ってしまう。ガベージコレクションはこの使用しなくなったメモリを自動で消してくれるので、プログラマは不要なメモリの消し忘れをきにする必要がない。ガベージコレクションは直訳すると「ゴミ収集」である。
特徴10.処理速度が速い
Javaはコンパイラ型言語だ。
プログラミング言語にはインタプリタ型言語とコンパイラ型言語の2種類がある。プログラムは実行するときにコンピュータが処理できるような言語に変換してあげなければならない。それをコンパイルという。
インタプリタ型言語はコンピュータが処理を実行するときにコンパイルを行う。一方でコンパイラ型言語はコンパイルを行ったものをあらかじめ用意しておくので、コンピュータが処理を実行するときにはコンパイルを行う必要がない。インタプリタ型言語はプログラムを書いた時点ではコンパイルをする必要がないので、面倒な手続きが一つ省けるが、コンピュータの処理速度ということでいえば、コンパイラ型言語の方が高速だ。
特徴11.豊富なライブラリ
プログラミング言語のほとんどにライブラリというものが存在している。ライブラリとは直訳すると「図書館」であり、プログラムを再利用可能な形で提供するものである。
誰が作るかというと企業や個人、有志の集まりだったりするが、ほとんどの場合、ライブラリは無償で提供されている。そのため、ライブラリが提供している機能をわざわざ開発することなく、その機能を自分のプログラムに組み込むことができる。Javaにはこのライブラリが豊富に存在するため、開発を容易にしてくれている。
まとめ
このページでは、Java言語の特徴をまとめてみた。
- 安定性
- 豊富な使い道
- プログラミング言語としての優秀さ
これらがJavaの最たる特徴だろう。本文中にも出てきたが、Javaはプログラミング言語ランキングでたいてい1位を獲得している。(下記で詳しく解説している。)
エンジニアになることを目指しているのであれば、Javaを学んでみてはいかがだろうか?
「Write once, run anywhere」
いつもご愛読いただきありがとうございます。
他の記事にもあった誤記ですが、修正いたしました。
今後とも、ご愛読のほどよろしくお願いいたします。