SSI

SSIが動かない… なぜだ。

追記)
Optionsで +Includes していないだけだった… がく。

KisoJava 6

改訂版 基礎 Java を執筆するにあたって意識した事 その6

KisoJavaをキーワードとして、Google検索をすると本サイトがトップになることに気がつきました。稀少なキーワードとはいえ、トップというのは、なかなか凄い事ではないか、と勝手に思う事にしたいと思います。

KisoJava 5」では文字や数値の表現について取り上げた理由を述べました。今回は、ファイルの入出力について、取り上げた理由についてです。

プログラミングの基礎という観点からすると、実はファイル入出力というのはできてもできなくても、それほど重要ではありません。メモリにあるデータを扱うプログラムの方が、データをプログラム中で用意できるので、実装するべきプログラムの処理をどうすればいいのかを考えることに集中できます。最近はやっているJUnitでも、テストデータはテストクラスに持たせて、そのクラス内でテスト用のデータを初期化したりするのが普通でしょう。これは、ちょっとしたプログラムを作成するなら、そのままプログラム内でデータを用意する方が手っ取り早いからです。そう考えてみると、ファイル入出力については説明しなくてもプログラミングの基礎を学ぶ事は十分可能なのです。

では、なぜわざわざファイル入出力のサンプルプログラムを採用したのかというと、まずは、プログラムの処理結果を補助記憶装置へ保存するためには必要な機能だということが挙げられます。こういった実用的な機能は是非一度は見ておくべきですし、電気を切ったら計算結果が消えてしまうプログラムしか作成できないというのは、ちょっと寂しいと思いました。

また、コンソール画面を使った対話的な処理を実装するためには、標準入出力を利用するプログラムが必要です。GUIアプリケーションの作成についてはあきらめましたが、CUIアプリケーションの作成についてはきちんとできるようなJavaプログラマに読者にはなってもらいたいと考えたので、採用したのです。

標準入出力などというのは、UNIXやWindowsなどのOSを勉強したことがないと、わかりにくいものかもしれませんが、CUIアプリケーションを作成するためには避けて通ることはできません。クラスやメソッドなどについて、Part 1ではまともに説明していないため、難易度的にはかなり高いような気がしますが、できるだけ、プログラミングが初めての人でも理解できるような説明を心がけたつもりです。

ところで、ファイル入出力用のプログラムを解説するにあたって、ここでもBeanShellを使っていて良かったことがあります。それは、BeanShellを使っていると、例外については基本的に考える必要がないという点でした。Javaプログラムでファイル入出力について話をしようとすると、かならず例外がつきまとうので、それについて簡単に説明するとか、throws Exceptionをメソッドへつけてtry文がでてこないようにして文法の説明を後回しにしたりする対応が必要でした。ところが、BeanShellではそういった説明は必要なく、とにかくファイル入出力用プログラムを作成するために重要だと考えられる点だけ説明をすれば済むので、初心者にはわかりやすいと思っています。もちろん、内容の難易度としては難しいので、簡単だとは言えませんが、例外などについて考える必要がない分、Part 1の内容を勉強する人にとっては負荷が低いはずです。

Walking

普段、歩いているので、たまに自転車に乗ると忘れてしまいます。ちょっと遠くまで行く用事があったので、自転車で出かけたのですが、帰りに職場に寄ってきたら、そこからは徒歩で帰ってきてしまいました。すっかり自転車を忘れてしまっていました。消費カロリーが増える事は良い事なのですが、自転車なんていう大きなものを忘れてしまうのは、さすがにちょっといかんなぁと思いました。

Clean up

掃除をしました。片付ける先からなぜか散らかっていくという不条理な世界に済んでいるせいで、なかなかきれいにならないのですが、それでも今日は頑張ってかなり片付いたと思います。この状態を維持していきたいのですが、いつまで続く事やら。

Tsukuba

つくば。エクスプレスに初めて乗りました。速いですねぇ。ターミナル付近はけっこう賑わっていて、楽しそうでした。時間もほとんどなく、あまり見る事もできませんでしたけど。

筑波大学構内は迷路というか、なんというか、迷いました。建物の配置などが、わかりにくいような気がするのは、気のせいでしょうか。けっこう余計に距離を歩いたような気がします。

とりあえず、無事帰って来れてめでたし。