注目度が高まっているからか、プログラミングを学習してエンジニアになる方が急増していますね
プログラミングに興味を持つとみなさんいろいろと調べると思いますが、一番目にする頻度が多い言語はJavaではないでしょうか。
この記事では無数にある言語の中から、Javaで何ができるのか紹介します。
Javaってなに?
Javaでどんなことができるのかを知る前に、Javaの背景に少し触れますね。Javaはさまざまなプログラミング言語のもとになっている、優れた言語です
Javaは、1991年に家電などの組込みシステムのために開発が開始されました。
実は、当初はあまり注目されていませんでした。でも、90年代中頃よりインターネット技術が世界的に浸透してゆくにつれ、柔軟な動くWEBページを作れるJavaが注目され始めました。
1995年にJava1.0として正式に発表されてからは、プログラミング言語として急速に普及していきました。
どこでも実行できる
「Write once,run anuwhere」これがJavaを表す最適な言葉です。
Javaは一度プログラムを書けば、ハードやOSが変わってもどこでも実行できます
実は、他のプログラミング言語の中には、ハードウェアやOSなど実行できる環境が限られているものも多く存在しているんです。
Javaが人気であるのは、基本的にはどんな環境でも依存することなくPCやスマートフォン、家電製品などどのような環境でも実行できる魅力があるからでしょうね。
システム開発、WEB開発、アプリケーション開発と、使える場面が多岐にわたり様々な開発に利用されています。
大規模開発向けのプログラミング言語
Javaは万能な言語でありますが、最も力を発揮できるのは銀行や証券などの大きな企業のシステムです。
銀行などのシステムはとにかく巨大で、何百人から何千人ものエンジニアが何年もの時間をかけて構築するようなものです。
そういったシステムに必要なのは、予想通りに動くことやセキュリティの高さ、大人数で開発しても壊れない構造など、安定性が最重要。
Javaはとても安定した技術であり、セキュリティなどの面でも他とは一線を画しています
何千人もの人が一つのシステムに対して一斉に作業をするのが可能なのは、Javaがオブジェクト指向言語であることに起因しています。
プログラムを細かく機能の部品に分解して作業できるので、最終的にみんなでそれぞれ作った部品を組み立てて大規模なシステムが出来上がります。
Javaでなにができる?できない?
ここまででJava誕生の背景や特徴を述べてきました。では、万能な言語であるJavaを使えば、どんなことができるのでしょうか。具体的な実例を踏まえて紹介していきます
javaでできること1:業務システム開発
Javaで制作できるアプリの代表的なものに業務システムがあります。
オンラインで動作するもので、企業の効率化派を図る企業システム(運送会社の配送システム等)や、銀行をはじめとする金融機関の会計システムなどもJavaで作られています。
企業は堅牢度や保守性を重視して、確実に稼働を続けるシステムを採用したいと考えるためJavaが最適であるからです。
実際には、楽天や三菱東京UFJ銀行などが採用しています。
javaでできること2:Androidアプリ開発
Googleが提供するAndroidそのものがJavaで動いており、Androidアプリを作る時にもJavaを使います。
現在200万を超えるアプリが登録されています。iPhoneユーザーは確かに多いですが、
世界的なシェアはAndroidが高い傾向にあるので、アプリ開発エンジニアの需要は十分にあります。
javaでできること3:WEBアプリ開発
業務システムのような組織内のシステムだけでなく、WEBサービスを支えるアプリ開発もできます。
TwitterやEvernoteのような大規模なWEBサービスなども開発できます。
Twitterに関しては、もともとRubyで開発されていましたが、その当時はアクセスが集中すると処理が間に合わず、エラー画面が表示されていました
そのため、開発にJavaを起用し、多数のアクセスを処理できるようになり、エラー画面が出ることはなくなりました。
そのおかげで爆発的にツイート数が増えた2012年の米国大統領選挙を乗り切ったともいわれています。
Javaは開発に時間がかかる言語なので、小規模なWEBアプリ開発には向いていません。しかし、Twitterのような大規模な開発にはうってつけなのです。
javaでできること4:WEBサイト開発
WEBサイトを介した様々なWEBサービスは、私たちの暮らしにはなくてはならない存在です。
様々な言語を組み合わせて構築されており、ユーザーが目にするフロント部分に表示されるのは、HTMLやCSSといった言語が使われていますが、処理を行うサーバー側のプログラムにはPHPやRuby、Javaが使われていることが多くあります。
身近なものでは、楽天やebayといったECサイトや紀伊国屋書店WEBサイトが挙げられます。
javaでできること5:ゲーム開発
Javaはゲームも作れます。
人気のMinecraftは代表作です。ゲーム開発にはC#が主流ですが、Javaでもクオリティの高いゲームが作れるため優秀なプログラミング言語といえます。
javaでできること6:家電などの組み込みシステム開発
Javaは多くの家電製品に組み込まれるシステムにも使われています。
ブルーレイディスクプレーヤーやカーナビシステム、洗濯機や冷蔵庫、テレビなど多くの家電で採用されています。
私たちの身の回りのあらゆるものがインターネットにつながるIoT化もJavaの活躍が大きいです。
javaの苦手分野
ここまではJavaでできることを、実用例を交えながら紹介してきました。基本的にJavaには全くできない分野はほとんどありません。でも苦手分野はあるので、今度は苦手分野をみていきましょう
javaではできないこと1:機械学習
近年ホットな技術となっているAI(人工知能)や機械学習、IоT、ロボット開発にもJavaは実際使われています。
しかし、統計分析に実用的なライブラリや機能が十分に備わっていません。
Pythonなどのようにその分野に特化した言語が存在している以上、わざわざJavaを選定する可能性は低いといえます。
javaではできないこと2:WEB開発
WEB開発についても同様です。規模にもよりますが、PHPやRubyが使われることが多くなっています。
まとめ:javaは学ぶ価値のあるプログラミング言語
以上述べてきたように、Javaは昔から全世界で様々な企業のサービス/システム開発に採用される人気のプログラミング言語であり、もちろん短所と長所の両側面を持ち合わせています。
基本的にはできることの方が圧倒的に多いですが、デメリットも踏まえたうえでこれから作りたいものに対して最適な言語を選択することが重要です。