Javaとはプログラミング言語の一種で、現在世界でもっとも使われているものの一つだ。
このページではJavaについて具体的に「どういうもので」「何が作れて」「勉強するとどういう職業があるのか」についてまとめている。
Javaについてまったく知らないという方には参考になるだろう。
目次
Javaとは?
Javaは1991年にアメリカのSun Microsystems社によって開発が始まったプログラミング言語だ。
もともとは家電製品向けの新しい技術として研究開発されたプログラミング言語だが、家電製品向けの技術としてはあまり注目されていない技術だった。
しかし、1990年代の中ごろよりインターネットの技術が世界的に浸透してゆくにつれ、色々な動きが作れるWebページを作成することができるJavaが注目されるようになり、1995年に初めてJavaとして正式発表されてからはプログラミング言語として急速に普及していった。
ちなみに、Javaを開発したSun Microsystems社は現在存在しない。Sun Microsystems社は2010年にアメリカのオラクル社によって買収されており、現在はOracle社よりJavaが提供されている。
Javaの名前の由来って?
Javaの名前の由来については諸説ある。
Javaは最初からJavaという名前ではなく、家電製品向けに開発された当初の言語名前"Oak"だった。そのOakが正式リリースされるにあたり、いつもコーヒーカップを持っているJavaの開発者がいたから"Java"とされた説や、開発メンバーがよく通っていたカフェのメニューから命名したという説、開発メンバーの名前から命名したという説などさまざまだ。しかし名前の由来についての正式な発表はないため、どの説が正しいかは未だに謎とされている。
ちなみにカフェの名前という説が有力で、Javaのクラスファイルを見ると、最初の4バイトは’0xCAFEBABE’となっているという話は有名だ。
実際、Sun Microsystems社にいたリスキルテクノロジーの講師も、こう言っているので、これが正しいのだろう。
"Write once, run anywhere"
「Write once, run anywhere」
この言葉はJavaの最大の特徴を一言で表している。「一度プログラムを書けば、どこでも実行できる」という意味だ。
プログラム言語にはハードウェアやOSなど、実行できる環境が限られているものが多く存在するが、Javaは環境に依存することなく、PCやスマートフォン、家電製品など、どのような環境でも実行できるように開発されている。
どんな環境でも実行できる秘密は?
どのような環境でも実行できる秘密は"Java Virtual Machine(JVM)"にある。
JVMはJavaプログラムが実行される環境において、Javaのプログラム言語を実行環境の機械に命令を翻訳してくれる役割を持っている。
言わば、優れた通訳のようなもので、どのような環境でもJavaプログラムが実行できるのは、このJVMという通訳の存在があるからなのだ。
何だって作れる、何にだってなれる
Javaがどのような環境でも実行できるということは、Javaを学ぶことでどんなエンジニアにでもなれるということを意味している。例えば、PHPというプログラム言語はWeb系の開発言語として根強い人気を持っているが、開発できるシステムの種類はWeb系システムに限定されてしまう。
ところがJavaの場合は開発できるシステムの種類は非常に幅広い。もちろん、それぞれの種類に応じたプログラミング方法は存在するが、Java言語のプログラミングを習得することで、どんなアプリ、どんなシステムでも作れるチャンスが、そしてどんなエンジニアにでもなれるチャンスがあるのだ。
Javaで何が作れるの?
それでは、Javaでどんなものが作られるのかを見てみよう。
Androidアプリ
ほとんどのAndroidアプリはJavaで開発されている。最近ではJava以外の言語でもアプリの開発ができるようになっているが、大多数のエンジニアは開発実績の豊富なJavaでの開発を選んでいる。
業務系システム
システムの堅牢性が求められる企業業務システムにも、Javaによる開発を行っている企業は多い。楽天銀行や三菱東京UFJ銀行など、大手金融企業もJavaで開発されたシステムを採用している。金融系以外だと、顧客管理(CRM)や営業支援(SFA)システムを手がけているSalesforce.comもJavaを採用している。
Webサービス
TwitterやEVERNOTEはJavaで作られている。TwitterはもともとRubyという言語が採用されていたが、大統領選挙時の大量ツイートを処理するため、Javaに移行したという経緯がある。
Webサイト
Webサイトは様々な言語を組み合わせて構築されている。フロントエンドと呼ばれる、画面に表示されるのはHTMLやCSSなどが使用されているが、サーバー側で処理を行うバックエンドと呼ばれるプログラムにはPHPやRuby以外にもJavaが使われているケースは多い。
ネットショッピング大手の楽天、そして海外ネットショッピング大手のebayなどでもJavaが採用されている。
デスクトップアプリ
無償のオフィス系ソフトとして浸透しているOpenOffice、WebブラウザのFirefoxの一部にもJavaが採用されている。また、後ほど紹介する統合開発環境(IDE)のEclipseもJavaで作られている。
家電製品
冷蔵庫や洗濯機、テレビなど、多くの家電製品はJavaでプログラミングされている。他にも、全てのブルーレイディスクプレイヤーにはJavaが採用されており、また、カーナビゲーションシステムでの開発実績も多い。
ちなみに、家電製品のOSにはLinuxが使われるケースが非常に多いため、学習するならLinux+Javaの組み合わせの環境で学ぶのが良いだろう。
プログラミングに必要なソフトは買わなきゃだめ?
Javaによるプログラミングを行うにあたって、専用の開発ソフトを購入しないといけないのかと思うかも知れないが、Javaでプログラミングするにあたって有料のソフトを購入する必要は一切ない。Javaの開発にはJava Development Kit(JDK)と呼ばれるJavaの開発ツールが必要だが、これはオラクル社のホームページから無料でダウンロードできる。
Oracle
http://www.oracle.com/technetwork/jp/java/javase/downloads/index.html
また、開発には統合開発環境(IDE)と呼ばれる、開発者向けの機能を備えたエディタがあると便利だ。Javaの開発で代表的なIDEは"Eclipse"だが、以下のサイトから入手すればいい。もちろん無料でダウンロードすることができる。Eclipseは多くのエンジニアに利用されているIDEなので、早くから使い方に慣れておくといいだろう。
eclipse
Javaって難しくないの?
このようにその気になれば誰でも開発できる環境を整えてプログラミングできるJavaであるが、実際にプログラムを習得する難易度はどれくらいなのであろうか?
大ざっぱに言ってしまっても良いのであれば、あらゆるプログラミング言語の習得難易度と比較すると「やや難しい」と言えるだろう。
Javaは現在の開発手法の主流となっているオブジェクト指向型言語であるが、そのオブジェクト指向の理解や言語的な習得を考慮した場合、PHPやPerlといった比較的習得しやすい他の言語と比べると、難易度は少し高くなってしまう。
しかし難しいからと言って、習得するとこを敬遠してしまうのはあまりにも勿体ない。Javaを習得することで身につく技術、そして身につけたノウハウを活用できるフィールドも広いので、習得しておいて絶対に損はないと言える言語だろう。
まとめ
このページではJavaとは何かについてまとめてきた。ざっくりと何が作れるか? どういう言語か? がつかめただろうか?
一番初めにプログラミングを勉強するときに、Javaを選ぶのは率直に言って最適だ。基礎が身につくし、他の言語への移行もしやすい。もし興味を持ったら、Javaの勉強を開始してみて欲しい。
Linuxの学習方法を探しています。
いつも「エンジニアの入り口」をご愛読いただきありががとうございます。
Linuxの学習とのことで、独学の場合は是非、
参考書などで学習を進めていただき、
「エンジニアの入り口」をご参考にしていただけますと幸いです。
また、学校に通われる場合は、
下記より資料をご請求いただき、
学習のご検討をされてみてはいかがでしょうか。
https://www.linuxacademy.ne.jp/