Why It Fits
選ぶ理由
- 成熟・安定・巨大なエコシステム
- JVM で移植性と高い実行性能
- 大規模・長期保守に強い
Language Profile
James Gosling(Sun Microsystems) / 1995年登場
“Write Once, Run Anywhere” の JVM 言語。成熟・安定し、エンタープライズの基幹システムや(従来の)Android で根強い。
Specifications
Introducing
Decision Guide
採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。
Why It Fits
Trade-offs
Best Fit
Deep Dive
Java は 1995 年に Sun Microsystems が公開した言語で、現在は Oracle が中心となって開発しています。掲げたスローガンは "Write Once, Run Anywhere"。ソースコードをバイトコードにコンパイルし、それを JVM(Java 仮想マシン)が各 OS 上で実行するため、環境を選ばず同じプログラムが動きます。
この「JVM の上で動く」という設計が Java の核心です。OS ごとの違いを JVM が吸収し、長期間にわたる後方互換性も重視されてきました。結果として、何年も前のコードが今でも動き続けるという安定性が、企業システムで強く支持されています。
サーバーサイドの基幹システムのように、長く安定して動かす大規模開発が得意分野です。従来の Android アプリ開発でも長く主役でした。一方で記述は冗長になりがちで、いわゆるボイラープレートが多くなります。JVM の起動にも時間がかかるため、短時間で立ち上げて終わる用途には不向きです。
// クラスとメソッドの宣言が必須で、記述量が多くなりがち
public class Hello {
public static void main(String[] args) {
// 文字列の連結ひとつにも型が絡む
System.out.println("Hello, World");
}
}
null の扱い。参照が空のまま操作すると実行時に例外が起きる。Language Decision
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
エンタープライズ・基幹システム
型付け: 静的・強い型付け / 実行方式: JVM(バイトコード + JIT) / パラダイム: オブジェクト指向
JVM で移植性と高い実行性能
構文が冗長(ボイラープレート)
First Step
class Main {
public static void main(String[] a) {
System.out.println("Hello, World!");
}
}公式ドキュメント