伝統あるHelloWorldプログラムは、そのプログラミング言語においてソースコードの編集、コンパイル、リンク、実行という一連の作業を端的に例示します。すなわち、HelloWorldプログラムを実行することで、そのプログラミング言語を用いてプログラムを記述しプログラムを実行するまでの手順を会得することができます。
さて、Java言語で伝統あるHelloWorldを模擬すると以下のようなコードになるでしょう。
public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); } } |
これをエディタで編集し、Hello.java というファイル名で保存します。次に、コンパイラでコンパイルし、実行します。環境変数PATHの設定、ファイル名の大文字・小文字の違い、環境変数CLASSPATHの内容、といった諸問題を潜り抜ければ、以下のようにめでたく実行することができます。
H:\> javac Hello.java H:\> java Hello Hello, world! H:\>
※ Windowsにおける実行例
これでめでたしめでたし
でしょうか?
HelloWorldプログラムは、あまりに端的なサンプルゆえに、非常に単純なプログラムの作成手順を会得するという点以外にはいろいろと問題があります。単一ファイルの例なので、複数ファイルによる分割コンパイルを示していないとか、パッケージに対応していないとか、サンプルコードがmain関数のみのコードであるとか、昔のキャラクター端末時代のため端末への文字出力の例である(GUIじゃない)とか、Java時代にはそぐわないことが多くあります。
Javaでは、プログラム実行に関してはクラスファイルをファイルシステム上に置いて指定する方法、JARアーカイブ形式にして指定する方法、実行可能JAR形式にする方法などがあります。プログラム種類としても、スタンドアローン・プログラム以外に、サーブレット、EJB、アプレット、Java Web Startなどさまざまな形式があります。
伝統あるHelloWorld以外においても、書籍や雑誌、教育・研修等で目にするプログラムコードにはいろいろと問題が含まれていることが多いです。以下にいくつか例を挙げてみます。
このようなサンプルだけを見ても、本格的なプログラムを作ることなどできません。
そこで、伝統あるHelloWorldプログラムの本来の目的をJavaにおいて再現することと、Javaために、Hello Againプロジェクトが開始されました。
デスクトップ環境を想定した、GUIを持つウィンドウ・アプリケーションとして作成します。主要な機能は次のとおりです。
デスクトップ環境のウィンドウ・アプリケーションをJava Web Startを使用してダウンロード・インストール・バージョンアップする環境を整えます。主な機能は以下のとおりです。
TAKAHASHI, Toru