「Javaで作られています」と言われたら
システムの説明を受けているとき、「このシステムはJavaで作られています」と言われることがあります。多くの非エンジニアの方にとって、これは「英語で書かれた本です」と言われるのと同じくらいの情報量しかありません。何かの言語らしい、ということは分かる。でも、その言語で書かれているとどうなるのか、他の言語とどう違うのかは分からない。
この教材のゴールは、この一言から次のようなことが頭に浮かぶ状態になることです。
- 人が書いた「設計図(ソースコード)」を、JVMという通訳役が実行している(第2章)
- プログラムは「クラス」という単位で整理されていて、画面に出てきたらだいたい読める(第3〜6章)
- Springというよく使われる部品セットがあって、たぶんそれも使っている(第7章)
- 「バージョンを上げる必要がある」と言われたら、こういう事情がある(第7〜8章)
まずこの章では、Javaという存在の「立ち位置」をつかみましょう。
Javaとは何か:ひとことで言うと
Javaは、1995年に米国のサン・マイクロシステムズ社が公開したプログラミング言語です。生みの親はジェームズ・ゴスリンという技術者で、サン社は2010年にオラクル社に買収されたため、現在はオラクル社が中心となって開発を続けています。
ただし、Javaという言葉は実は2つの意味で使われます。ここを最初に区別しておくと、後の章がぐっと分かりやすくなります。
① プログラミング言語としてのJava
if(もし〜なら)、class(部品の設計図)② 実行基盤としてのJava(Javaプラットフォーム)
Javaはどこで使われているのか
Javaは「見えないところ」で大量に使われている言語です。スマートフォンの画面や、おしゃれなWebサイトの見た目を作る言語ではなく、その裏側で、たくさんのデータを間違いなく、長期間、安定して処理するところで力を発揮します。
| 分野 | 具体例 | なぜJavaが選ばれやすいか |
|---|---|---|
| 企業の業務システム | 会計システム、人事給与、販売管理、在庫管理、社内ポータル | 大人数で長期間開発・保守することに向いている。技術者の数が多い |
| 金融機関のシステム | 銀行の勘定系・情報系、証券取引、保険の契約管理 | 安定性と実績。障害時の情報やノウハウが豊富で、監査にも説明しやすい |
| Androidアプリ | スマートフォン向けアプリ(近年はKotlinという兄弟言語も併用) | Android自体がJavaの技術を土台に設計された |
| 大規模Webサービスの裏側 | ECサイトの注文処理、予約システム、決済基盤 | 多数のアクセスをさばく性能と、部品の豊富さ |
| データ処理基盤 | 大量データの集計・分析を行う仕組み(Hadoop、Kafka など) | 多くの基盤ソフトそのものがJavaで書かれている |
経理・管理部門から見ると
会計システムやERP(基幹業務システム)の多くは、Javaまたは同じ系統の技術で作られています。経費精算のWeb画面、仕訳データを取り込むバッチ処理、月次の締め処理などは、Javaが得意とする「決まった手順を正確に繰り返す」仕事そのものです。
なぜ30年近く使われ続けているのか
プログラミング言語は流行り廃りが激しく、10年で主役が入れ替わることも珍しくありません。その中でJavaが1995年の登場以来、企業システムの定番であり続けているのには理由があります。
理由1:どこでも動く(第2章で詳しく)
Javaのプログラムは、Windowsでも、Macでも、Linuxのサーバーでも、同じものがそのまま動きます。「JVM」という通訳役が間に入って、それぞれの環境の違いを吸収してくれるからです。会社のサーバーを入れ替えてもプログラムを書き直さなくてよい、というのは企業にとって大きな安心材料です。
理由2:技術者が多く、情報が多い
世界中に大量のJava技術者がいます。これは「作れる人が見つかる」「辞めた人の後任が見つかる」「困ったときに調べれば答えが出てくる」ということです。10年、20年と使い続けるシステムでは、この「人の確保しやすさ」が言語そのものの性能より重要になることがよくあります。
理由3:後方互換性を大事にしている
Javaは「昔書いたプログラムが、新しいバージョンでもなるべくそのまま動く」ことを重視して開発されてきました。これを後方互換性といいます。言語によっては大きなバージョンアップで古いプログラムが動かなくなることがありますが、Javaはそれを極力避けてきました。だから企業は安心して長期投資ができます。
理由4:部品(ライブラリ)とルールが整っている
データベースへの接続、Web画面の表示、帳票の出力、暗号化など、業務システムで必要になる機能のほとんどは、すでに誰かが「部品」として作って公開しています。特にSpring(スプリング)という部品セットは企業システムの事実上の標準で、これがあるおかげで「ゼロから作る」必要がほとんどありません(第7章)。
Javaの弱点・Javaが選ばれない場面
公平のために、Javaが向かない場面も知っておきましょう。打合せで「なぜJavaじゃないのか」と聞かれたときの理解にもつながります。
- 小さなものを素早く作るには重い。ちょっとした集計スクリプトや試作品には、PythonやJavaScriptのほうが手軽です。Javaは「お作法」が多く、Hello Worldを表示するだけでも5行必要です(第3章)。
- Webサイトの「見た目」は作れない。ブラウザの中で動く画面の動きはJavaScriptという別の言語の担当です。名前が似ていますが、JavaとJavaScriptは全く別の言語です(下のコラム)。
- データ分析・AI分野ではPythonが主流。統計や機械学習の部品はPythonに集中しています。
- メモリを多く使う。JVMという通訳役が間にいる分、小さな機器(組み込み機器など)では敬遠されることがあります。
よくある混同:JavaとJavaScript
名前は似ていますが、JavaとJavaScriptは別の言語です。「インドとインドネシア」くらい別物だ、とよく言われます。JavaScriptは主にWebブラウザの中で動き、画面の動きを作ります。Javaは主にサーバーの中で動き、データ処理を担当します。1995年当時、Javaの人気にあやかってJavaScriptという名前が付けられた、という歴史的な経緯があるだけです。
Javaの歴史をざっくりと
細かい年号を覚える必要はありません。「古いけれど、止まってはいない」という感覚だけ持ってください。
| 時期 | できごと | 意味 |
|---|---|---|
| 1995年 | サン・マイクロシステムズがJavaを公開 | 「どこでも動く」を掲げて登場 |
| 2000年前後 | 企業向けの仕様(J2EE、のちのJava EE)が整備される | 業務システムの標準に |
| 2010年 | オラクルがサンを買収 | 以後オラクルが開発を主導 |
| 2014年 | Java 8 公開 | 非常に長く使われ、今も現役のシステムが多い |
| 2018年〜 | 半年ごとに新バージョンを出す方式に変更 | 進化が速くなった。「LTS」という考え方が重要に(第7章) |
| 2021年・2023年・2025年 | Java 17、21、25(いずれもLTS)公開 | 現在の企業システムの移行先の候補 |
ここで覚えておきたいのは、Javaは「古い言語」であると同時に、今も半年ごとに進化している現役の言語だということです。だからこそ「どのバージョンを使うか」「いつ上げるか」が現場の論点になります。これは第7章で詳しく扱います。
この章のまとめ
- Javaは1995年生まれのプログラミング言語。「言語」と「実行基盤」の2つの意味で使われる
- 業務システム、金融、Android、大規模Webの裏側など、「見えないところで大量のデータを正確に処理する」場面で使われている
- 選ばれ続ける理由は、どこでも動く・技術者が多い・後方互換性・部品が豊富。つまり「長期投資のリスクが小さい」から
- JavaとJavaScriptは別物。小さなものを素早く作るのやデータ分析はPythonなどのほうが向く
確認クイズ
この章の内容を3問で確かめましょう。選ぶとすぐに解説が表示されます。
Q1. Javaが企業の業務システムで長く使われ続けている理由として、適切でないものはどれですか?
Q2. 「このサーバーにはJavaが入っていません」という会話での「Java」は、主にどちらの意味ですか?
Q3. JavaとJavaScriptの関係として正しいものはどれですか?