教室のコンピュータには Debian/GNU Linux 用のJava開発キットがインストールされています。Java SE 6 です。Windows用などで自分で用意するには(注1)参照。
Debian では SUN が Java をオープンソースにすると表明するまえに,オープンソースの Java を作ろうとしました。gcj とか GNUjava などと呼ばれています。まだGUIの方が未完成です。
これからJavaの勉強を進めるとたくさんのファイルができます。整理のためにユーザーホームの中に java というフォルダを作りることにします。もちろんプログラムごとに別のフォルダに保存してもいいのですが,授業課題はここに保存することで提出されたことになります。
また,以下で説明する環境については ユーザーホームにjavaフォルダがないと説明したとおりにはなりません。
本校のシステムではメニューの中にJavaを加えています。でもJDKでプログラムを作るにはJDKを実行するわけではありません。
JDKを使うために2つの別のソフトウェアを用意します。
Gnomeのメニューから,[アプリケーション]-[プログラミング]-[Java] と選択します。
この操作で2つのウィンドウが出てきます。エディタとコマンドライン端末です。
具体的にはgeditという名前のエディタです。テキストファイルが作れるなら他のエディタでもよいのです。これはJavaに含まれない道具です。
[アプリケーション]-[アクセサリ]-[テキスト・エディタ]で出てくるものと同じですが,保存先やファイルを開く時のデフォルトの場所が javaフォルダになっています。
具体的にはgnome-terminalという名前のソフトです。ターミナルという言葉を日本語に訳したものが「端末」です。シェルを使ってコンピュータを操作するソフト,つまりキーボードから入力するコマンドで操作をするものです。(注2)
[アプリケーション]-[アクセサリ]-[端末]で出てくるものと同じですが,カレントディレクトリが java になっています。
タイトルバーには hoge@vine41:/home/hoge/java とありますが,hogeの部分はユーザー名が入ります。vine41はコンピュータの名前(ホスト名)です。/home/hoge/java は現在作業中の場所でカレントディレクトリと呼ばれます。
メニューバーの下には, hoge@vine41:~/java$ とありますがこれはプロンプトと呼ばれます。$ が出ているとコンピュータは入力を受け付けるという状態になっているということです。~ は /home/hoge の短縮形です。$ の後にコマンドを入力して[Enter]を打つとコンピュータから反応があります。(注3)
たとえば,date というコマンドを入力すると,日時を教えてくれます。
hoge@vine41:~/java$ date
dateの部分がキーボードからの入力です。は[Enter]キーを打つことを表しました。実際には見えません。hoge@vine41:~/java$はプロンプト。実際は色の区別はありません。
hoge@vine41:~/java$ date 2009年 2月 12日 木曜日 13:34:26 JST hoge@vine41:~/java$
反応がありました。日時を表示した後,再びプロンプトを出してコマンドを受け付けることを示しています。
環境によっては英語ででるかもしれません。
hoge@vine41:~/java$ date Thu Feb 12 13:34:48 JST 2009 hoge@vine41:~/java$
自分が誰か聞いてみましょう
hoge@vine41:~/java$ whoami hoge hoge@vine41:~/java$
ここでは hoge と書きましたが現在ログイン中のユーザー名が出ます。
今月のカレンダーも出せます。
hoge@vine41:~/java$ cal 2月 2009 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 hoge@vine41:~/java$
実際にはコマンドライン端末の表示は次々と下の行に出ていきます。上記の操作例は実際には次のようにつながって出ます。一番下まで行くと上の方から隠れていきますが,スクロールバーのマウス操作でスクロールできます。
hoge@vine41:~/java$ date 2009年 2月 12日 木曜日 13:34:26 JST hoge@vine41:~/java$ whoami hoge hoge@vine41:~/java$ cal 2月 2009 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 hoge@vine41:~/java$
カーソルキーを使って上の行へ移ることはできません。その代わり[↑]で昔入力したコマンドを現在の位置に表示し,もう一度実行したり,[←][→][BackSpace]などで編集して実行したりできます。
プロンプトに何を表示するかは設定により変更できます。そこで特に重要な時以外は,簡単のためにプロンプトは $ だけを書くことにします(注3)。こんな具合です。
$ date 2009年 2月 12日 木曜日 13:34:26 JST $ whoami hoge $ cal 2月 2009 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 $
Linuxの場合はそれぞれのディストリビューションでカスタマイズしたものを配布しているので、その中から選択するのがいいでしょう。ただし管理者としての権限が必要です。Windowsの場合はSunで無料で配布しているインストーラーを実行すれば簡単に入れることができます。これも管理者としての権限が必要ですが一般用に売られているWindowsでは管理者としてインストールするんだという確認だけでできるようになってきています。
自分でインストールする場合は JRE(Java Runtime Environment) との区別が必用です。SunのサイトでもJREの方はすぐ見つかるのですがJDK(開発キット)の方を見つけるのはちょっと難しいのです。この区別は以前はJREとJ2SEとされていますがJava2といわずに Java SE と呼ぶようになっていたりするのでこの判断も面倒です。
2009年2月にはhttp://java.sun.com/javase/ja/6/download.htmlよりダウンロードできました。でも変わっていくでしょう。ここからのダウンロードにはいくつかの選択肢がありました。
JRE | Java SE Runtime Environment (JRE) 6 Update 12 | これはプログラムしない人向け |
JDK | Java SE Development Kit (JDK) 6 Update 12 | これはプログラムする人向け |
NetBeans付き | JDK 6 Update 11 with NetBeans 6.5 | 総合開発環境を含む |
総合開発環境は開発時の便利な道具をいろいろ提供してくれますが、その分その使い方も覚えなければなりません。JDKに慣れてきたら挑戦するのもいいでしょう。より有名で、JavaでもC言語でも汎用に使えるEclipseという総合開発環境とSunの提供するNetBeansという総合開発環境とどちらにするかは研究の余地があります。
上記のURLがつかえなくなったら次を参考にさがしてください。
http://java.com | JRE配布用サイト |
http://java.sun.com/j2se | JDK配布用サイト |
昔からUNIXというOSは1台のコンピュータに対して複数の操作卓があって一つ一つを端末と呼んでいました。コンピュータは大型で,その末端から操作をするという感覚だったのでしょう。
操作卓はテレタイプというタイプライターのようなものとキーボードからなっていました。キーボードからの入力と出力は長い紙に1行ずつ書かれていきました。その装置一式をコンソールといいました。その後テレタイプはディスプレイに変わりました。でも今のようにウインドウでなく,画面全体が紙でした。スクロールという機能は長い紙を表現するためのものでした。
その操作はキーボードからコマンド(命令)を文字で打って最後に改行キーを打ってコンピュータに送ると,答えが次の行に出てくるというものでした。コマンドを行(ライン)単位で打つのでコマンドラインという言葉が生まれました。
この時に操作をしやすくするための工夫がされたり,何度もする入力を記憶して繰り返してくれる工夫があり,何種類かのソフトウェアが作られました。この手のソフトウェアをシェルといいます。キーボードからの入力を手助けし,コンピュータとの仲を取り持ってくれるソフトウェアです。語源は貝殻。コンピュータを扱いやすいようにくるむイメージだったのでしょう。
ディスプレイに書かれたウィンドウをマウスで操作するGUIの時代になっても文字による操作の方が便利な分野がありますので,この端末(のディスプレイ部分)を一つのウインドウで仮想的に表現するソフトウェアが作られました。仮想端末とかターミナルエミュレータとよばれます。でディスプレイをウインドウで表現し,シェルを走らせるものです。
このウインドウのコンピュータシステム内の位置から「端末」と呼べるし,模している形状から「コンソール」でもあるし,操作方法から「コマンドライン」でもあるわけです。
ただし,形状は端末ですが,それを使ってコンピュータの操作をする方法はシェルのコマンドですから,シェルコマンドなどというキーワードで調べる必要があります。
Windowsでも同様のものがあり,「DOSプロンプト」とか「コマンドプロンプト」などと呼ばれています。ただし操作性は数段劣ります。
この場合のプロンプトは C:\My Document\java> などとなり,Linuxの $ に当たるものは > です。
MS-DOSプロンプトはスタートメニューから、[スタート]-[プログラム]-[アクセサリ]-[MS-DOS(コマンド)プロンプト]で出すことができます。