JavaからHello Worldお出力するまで 1
· 16分の読み時間
プログラミングの世界では、常に「Hello World」という文を出力することから始まります。それはまるで不文律のようです。
# hello.py
print("Hello World")
python hello.py
// Hello World
Python?素晴らしい。
// hello.js
console.log("Hello World");
node hello.js
// Hello World
JavaScript?悪くない。
public class VerboseLanguage {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
javac VerboseLanguage.java
java VerboseLanguage
// Hello World
しかし、Javaはまるで別の世界から来たように感じます。クラス名がファイル名と一致しなければならないことさえまだ触れていません。
public
とは何か、class
とは何か、static
とは何か、void
、main
、String[]
、そしてSystem.out.println
を経て、ようやく文字列「Hello World」にたどり着きます。さあ、別の言語を学びましょう。1
単に「Hello World」を出力するだけでも、Javaはかなりの背景知識を要求します。なぜJavaはこんなにも冗長なプロセスを必要とするのでしょうか?
このシリーズは3つの章に分かれています。目標は、2つの単語「Hello World」を出力するために裏で何が起こっているのかを詳しく探ることです。各章の具体的な内容は以下の通りです:
- 第1章では、Hello Worldを出発点とする理由を紹介します。
- 第2章では、コンパイルされたクラスファイルとコンピュータがJavaコードを解釈し実行する方法を検討します。
- 最後に、JVMが
public static void main
をロードして実行する方法とその動作原理を探ります。
3つの章の内容を組み合わせることで、ようやく「Hello World」の概念を理解することができます。かなり長い旅ですが、深呼吸して始めましょう。
第1章. なぜ?
JavaでHello Worldを出力する前に、いくつかの「なぜ」の瞬間を考慮する必要があります。