この記事では、Javaの基本について始める前に知っておくべき基本事項をわかりやすくまとめています。
Javaという単語は聞いたことはあるでしょうが、具体的な概要を知ることでJavaに対する理解がさらに深まります。
Javaの概要について皆さんと一緒に見ていきましょう!!
Javaはプログラミング言語です。プログラミング言語とは、コンピュータに命令を伝えるための言語のことです。
私がコンピュータにこの処理をしろ!と命令を伝えます。この命令=プログラミングのことで、プログラミングの種類によって命令の出し方も違います。 この種類を言語として区別しています。プログラミング言語として一般的に知られているものは、C、C++、C#、Java、Javascript、Python、HTML、Rubyなどがあり、それぞれが強みや弱みを持っています。
これらの言語の比較は、他のプログラミング言語との比較で詳しく解説します。
開発者、ジェームズ・ゴスリンら、サン・マイクロシステムズのチームによって開発が始ました。
開発の目的は「プラットフォームに依存しないアプリを作りたい!」「安全で堅牢な言語が欲しい!」「簡潔で使いやすい文法を!」というものなどがありました。
「プラットフォームに依存しないアプリを作りたい!」というのは、すでに存在していたC/C++は速いけれどもOS依存が強く、ハードの違いに対応しづらかったという問題点がありました。 また、Javaは仮想マシン(コンピュータの中でソフトウェアを用いて作成された、もう一台のコンピュータ)上で動くことで、どこでも動くようにしました。
「安全で堅牢な言語が欲しい!」というのは、もともと家電製品向けのプログラミング言語を作ることが目的だったため、クラッシュしにくい、安全な言語を必要としたということです。
「簡潔で使いやすい文章を!」というのは、複雑であったC++を避け、オブジェクト指向をよりわかりやすく扱えるよう設計したということです。(オブジェクト指向については[Javaの特徴]にて詳しく説明します。)
Oracle社が引き継いで以来、Javaは定期的なアップデートを現在も続けています。業務では自分の使い慣れたバージョンを使う人もいます。しかし、アップデートでより使いやすくなっているので、常に知識を最新のものにしておいて損はありません。
さて、ここまではざっくりとした歴史について見ていきました。次に、Javaの特徴についてみていきましょう!
Javaは長年にわたって幅広く使われてきた、非常に人気の高いプログラミング言語です。Javaの特徴について知ることで、なぜこれほど人気なのかが見えるはずです。一緒にその秘密を探っていきましょう!!
特筆すべきなのが、オブジェクト指向です。オブジェクト指向とは、その名の通り、あるコードを「もの」として整理できるということです。C言語などの従来のプログラミングは全てを一つの長~いコードとして記述していました。 しかしオブジェクト指向では、できるだけ細分化されたコードを作り、それを組み立ててプログラミングをします。
例えると、従来のプログラミングは、機械をねじから一つ一つ組み立てていくのに対して、オブジェクト指向プログラミングでは、先ずは機械のパーツをつくり、それをくっつけて完成させるイメージです。
オブジェクト指向を軸としているプログラミング言語は、Java、C++、C#、Python、Rubyがあります。
では実際に、オブジェクト指向にどのようなメリットデメリットがあるのか見ていきましょう。
オブジェクト指向のメリットとして、再利用・修正がしやすいという点が挙げられます。
パーツごとに作るため、どのパーツで不具合が起きているのか非常にわかりやすく、修正も比較的容易にできるためとても便利です。また、プログラミングの追加も容易に行えるため、 大規模なプロジェクトや長期的な運用、そして完成品が複雑になればなるほど強みを発揮します。
しかし、もちろんメリットだけではありません。
オブジェクト指向のデメリットとしては、クラス、継承、ポリモーフィズムなど、初心者には概念が難しいということが挙げられます。
私自身も実際にJavaを学んでみてとても複雑に感じました。とにかくコードが長く、同じ動作にしても、他のプログラミング言語よりも手間がかかります。
ほかにも、 パフォーマンスの低下も挙げられます。
抽象化などによって実行速度が遅くなることがありますが、このことは後々触れようと思います。
ここまでは、Javaの特徴についてみていきましたが、実際にどの分野に強い、メジャーなのかをいき理解していきましょう。
・Androidで主流(しかし衰退気味)
JavaはAndroidのアプリ開発において主流でしたが、現在はKotlinが主流で、Javaは下火になっています。
実際に、KotlinはGoogle公式の推奨言語になっています。Javaを使ったアプリ開発というのは、保守やアップデートが主なタスクのアプリであったり、既存の大規模なJavaコードベースがあるプロジェクトである場合に使われます。
しかし、これからモバイル開発をする場合は、Kotlinでの開発がおすすめです。
・非常に強い
情報の取扱いなどのマネージメント開発は、Javaが非常にメジャーです。
銀行、保険、業務システムなど、情報にシビアな業界でよく使われています。
・限定的
Javaでのゲーム開発は少数派です。C++やUnityでのC#が主流です。しかし、javaで作った代表的なゲームとして、Minecraft(Javaedition)があります。
まぁ、Javaで開発するのはお勧めしませんけどね、、
・不向き
システムプログラミングとは、OS、ドライバ、組込み、低レイヤの開発などのことです。
なぜ不向きなのかというと、ハードウェア制御が困難、ネイティブコードとして直接実行されない(仮想マシン上で動作している)、リアルタイム性に弱いなど様々な面で不利です。
さて、Javaについての概要を理解できましたでしょうか?Javaは情報を扱う分野に強いため、未だに根強い人気、需要があるプログラミング言語です。
プログラミング言語としての敷居は高いですが、習得しておけば業務の効率化、また他の言語の習得も容易くなります。このような意味でも、ぜひ習得して仕事に生かしていきましょう!!