5.Webアプリケ−ション '96〜 5-1. 目が離せない Java ジャバ (1) Java 言語について '96〜'98 * Java 言語の概要 95年5月に Sun World '95 conference で Java と HotJava が正式披露された。 96 年1月には Java の開発ツ−ル JDK-1.0( Java Development Kit )英語版がリリ−スされ、 開発環境が比較的整ってきた。このバ−ジョンで概ね仕様が固まったようである。それか らというものどど−どと Windows パソコンでの開発ソフトが発表され、 96年の8月頃 から、各種雑誌で頻繁にとり挙げられるようになった。 97年2月に入って JDK-1.1 英 語版がリリ−スされ、すぐさま4月には日本語版が出ている。 さらに JDK-1.2 リリ−ス では、インタ−ネット環境とイントラネット環境で、本格的なビジネスアプリケ−ション を書ける言語として、発展ばく進している。 当初 Java は Applet が全てで、WWWブラウザの中で動き回るアクセサリかと思ってい た。C++のような言語としての性格のアナウンスがあまりなかったせいもある。いきな り出てきた言語に対してあまり時間をさくわけにもいかず、漠然と JavaScript は勉強し てもいいかなという程度の認識だった。97年8月あらためて見直すと、これは何でもあ りの言語だなということがわかってきた。その間、Microsoft はすぐさま Java に対抗す べく VBScript( ActiveX Script も呼ばれる )や、 戦略としての ActiveX を出してきた。 Java と対比すると VBScript は JavaScript に、ActiveX Control は Java Applet とみ てよい。 ActiveX Control、 Java Applet はソフトウェア部品( コンポ−ネントとも呼ばれる )で あり、WWWブラウザにダウンロ−ドして使うことになる。 Applet の方は最初からそう 意図して作られたのたいし、ActiveX Control の方は、 Microsoft の OLE Control( OCX とも呼ばれる )をベ−スに、インタ−ネットで使えるように急遽軽くしたものである。64 や 128 Kbit/sec のネットワ−クでダウンロ−ドして使うには、OCX は重かったのだ。こ こら辺りの話を調べていると DCOM, Java RMI, CORBA 等の用語も出てくる。 これらはど れも、離れたコンピュ−タにあるソフトウェアをリモ−トで使う技術である。 企業ユ−ザでこれらの新技術をどう使いこなしていくか。少々難しいところである。簡単 な、それこそアクセサリ程度の Java Applet ぐらいは書けるだろう。 それにWWW画面 に花をもたせるため JavaScript も少しの勉強で書けるだろう。でも本格的な Java アプ リケ−ションは、もはや素人が手を出せるものではない。C++などのオブジェクト指向 を理解したパワ−ユ−ザにしか使いこなせない。先ずは JavaScript、Java アプリケ−シ ョン、Java Applet の違いを理解する必要がある。 JavaScript は Netscape Navigator ですぐ確かめることができる。 アプリケ−ションと Applet は最低 JDK がないとコンパ イル、実行できない。JDK はフリ−ソフトで Sun のサイトからとれる。 以下超簡単なプ ログラム例で、それぞれどんなものか見ていく。 * JavaScript について HTML の内部拡張版でプログラム作成対応と思えばいい。Netscape 社が LiveScript とい う名前で作成していたものである。 Java が出てきて Java の言語仕様と親和性をもたせ JavaScript とした。基本的にはスクリプト言語であり、Java や Java アプレットとは別 ものである。JavaScript は出た当初、Java アプレットの操作はできなかったが、その後 対応している。 大きな特徴は CGI ではできなかったインタラクティブな画面を作ること ができることである。CGI の動作はWWWサ−バ側で行うに対し JavaScript はブラウザ 側に HTML のコ−ドとしてダウンロ−ドして実行される。 xxx.html ------------------------------ | | | * Java アプリケ−ションについて CやC++のような独立したプログラミング言語である。中間コ−ドであるバイトコ−ド にコンパイルして、マシン上ではインタプリタにより稼働する。 当初は Sun と Windows マシンでしか開発環境がなかった。97年8月現在では JDK は、INDY を初め各種EWS に対応している。 Java 言語はC++によく似ているが、完全なオブジェクト指向言語で ある。次のサンプルプログラムが的確にそれを表わしている。 Java のプログラムを開発 するには、JDK をマシンにインスト−ルするのが本来だが次のURLを使えばコンパイル はできる。 http://www.innovation.ch/java/java.compile.htm 使い方は簡単。画面の下の方に "Browse" とある。ここをクリックしてロ−カルディスク のファイルを指定する。そして "Compile" をクリックすると、 画面が変わって結果がで る。エラ−メッセ−ジもでる。エラ−がなければ xxx.class と、 コンパイルされたバイ トコ−ドのファイル名が見えるはずだ。これを手元にダウンロ−ドすればいいというわけ だ。以下の例はこのやり方でコンパイルしてみた。Applet の方も全く同様にできる。 と りあえず Java がどんなものか試すにはちょうどいいだろう。 TEST.java << ファイル名とクラス名は合わせた方がいいみたい。 ----------------------------------------------- |class TEST { << メインクラス | public static void main() { | System.out.println( "hellow" ); | } |// コメントを入れる場合。 |} % javac TEST.java << TEST.class というのができる。これがバイトコ−ドである。 javac, java は JDK に入っている。 % java TEST << java がインタプリタである。TEST.class の指定でない。 * Java Applet について Netscape Navigator 2.0 などのWWWブラウザの中でのみ、振る舞うことができる Java 言語で書かれたオブジェクトである。HTML 中に xxx.class とあるのがバイトコ−ドにな ったオブジェクトであり、ブラウザはそれをダウンロ−ドしてきて実行する。 TEST.java << メインクラスの名前 TEST に合わせたファイル名にする。 ----------------------------------------------- |import java.awt.Graphics; 注:この例は雑誌、本でよく紹介されているものです。 | |public class TEST extends java.applet.Applet { | public void paint( Graphics g ){ | g.drawString( "hellow",50,50 ); | } |} % javac TEST.java << TEST.class というのができる。 ppp.html ------------------------------ | | | | % appletviewer ppp.html << アプレット部のみ表示実行する。 or % Netscape file://xxx/ppp.html << Netscape の中でアプレットを実行する。 * Java のプログラミング開発ツ−ル 品 名 | 作成会社など | 適用OSなど --------------|---------------------|---------------------------- JDK 1.x | JavaSoft (freesoft) | Windows と Solaris 2.x など Java WorkShop | JavaSoft | Solaris 2.x 確か数万円 Cosmo Code | Silicon Graphics | INDY コズモと呼ぶ Win Cafe | Symantec | Windows Visual J++ | Microsoft | Windows JBuilder | Borland | Windows teikade | (freesoft) | JDK と組合せて使う * 参考URL http://www.webcity.co.jp/info/andoh/java/ 気合いの入った情報源。 http://www.sun.co.jp/java.jp/docs/ ドキュメント。 http://www.sun.co.jp/smi.jp/tech/java/ ドキュメント。 http://java.sun.com/applets/js-applets.html アプレットのサンプル。 (2) Java 言語の特徴 '96〜'98 -------------------------------------------------------------------------------- 少々本章のタイトルから外れるような気もするが、 Java についてもう少し解説する必要 があるように思う。WWWはあらゆるコンピュ−タの操作環境プラットホ−ムである。ユ −ザからみればOSがなんであれ、そんなことは関係ないのである。 Java はWWWと密 接な関係があり、WWWとかOSと言った区別がつかなくなる方向もかいま見られる。こ こでは先ず、Java の言語としての特徴を純粋に見てみることにしよう。 -------------------------------------------------------------------------------- * 仮想マシン上で稼働する 多分 Java の特徴としてこれが一番大きい。 Java は特定のOSに依存しない環境で稼働 するのだ。各OSの上に Java を稼働させるエミュレ−タをかぶせている、そんな風に解 釈していいかと思う。この仮想マシンは Sun の HotJava であり、JDK の java インタプ リタや Netscape Navigator 2.0 以降にビルトインされたインタプリタである。単なるエ ミュレ−タと違うのは、 Java 仮想マシンは非常にコンパクトに設計されたということで ある。UNIXで Windows エミュレ−タを使ってみるとわかるが、メモリは食う、 遅い、 使いものにならない。 Applet を Netscape で動かしてもそんなに遅いという感じはない。 元々 Java は家電製品に組み込むコンパクトなOSの開発を経て生み出された。その結果 が Java 言語と仮想マシン、そして JavaOS である。 Java 言語と仮想マシンはインタ− ネットのWWWブラウザでの Java Applet として利用され、 一躍脚光を浴びるようにな った。JavaOS についてはあまりまだ情報がないが、 軽いOSとして古くなったパソコン をよみがえらせるとかいったことが話題になっている。やはりコンパクト、軽いというこ とが一番インパクトがある。 これまでUNIXも Windows も肥大化の一途を辿っていた。 特に Windows はひどい。32 Mbyte もメインメモリを必要とするようになった。UNIX では、GUIプログラミングは非常に複雑怪奇なものになってしまった。 UNIXも Windows も便利簡単にと意図したことが、 結果土台を積み重ねてまさに香港 の九龍城みたいになってしまった。Java は言語としてはC++の複雑さを排除し、 OS としてはGUIや先進機能も含め最初から設計し直された。 そして時を外さず登場した。 同じようなものは Smalltalk として既にだいぶ前からあった。しかし Smalltalk は現実 に即していなかったし、やはり出たのが早かった。 Java は今後注視していく必要がある。 MS-DOS から Windows にあっという間に変わったのと同じことが、 Java でも起きる可能 性がある。Microsoft は自身、パソコンは Word と Excel が動けば大方のユ−ザは、 そ れで構わないことを Windows 95 の時に立証してしまった。ユ−ザにとってOSは何であ ろうと関係なかったのである。 * 安全なオブジェクト指向言語である Java は出たばかりの言語ではあるが、C++の難解な所をうまく除き、 急速に整備され ようとしている。C++はいわばC言語から発展し、オブジェクトも扱えるよという言語 である。 一方 Java の方は、純粋なオブジェクト指向言語の Smalltalk とC++の中間 に位置する様な言語になっている。C++は今もって仕様は膨らんでおり、3年ぐらい前 にも template、name_space 機能などが追加されている。C++はただでさえとっつきに くいのに、ますます難解な言語へと成長しているといってよい。 ここら辺りが、Java に 大きな期待がかけられるゆえんにもなっている。 以下はC++にあって、Java にはない 機能である。ないが故に安全なオブジェクト指向プログラムが書けるのである。 a. ポインタ−が扱えない。 b. 構造体が扱えない。 c. 多重継承ができない。 d. template 機能がない。 e. 演算子オ−バ−ロ−ドができない。 "ポインタ−が扱えない"、これで複雑な関係をもったオブジェクトを作れるのかと最初疑 問だった。オブジェクト間の関係付けなんかは、ポインタ−がなければ表わすことができ ない。これはC++の参照型とは少し違うようだが、ともかく参照型というのが用意され ている。安全なポインタ−型だと思っていい。これで実装ができるようになっているらし い。"構造体が扱えない" はクラス定義できれば、 特に構造体の表現ができなくても問題 はない。クラス構造は構造体を包含している。 "多重継承ができない" のは別にできなく ても構わない。C++でも多重継承をどう扱うか常に議論になっている。Smalltalk では 最初から多重継承は許さないようになっている。template とオ−バロ−ド機能は、 便利 な機能でしかない。オブジェクト指向とは関係がない。 C++にはないが、Java に追加された機能としてガ−ベッジコレクションがある。 これ はメモリを確保して、必要がなくなったら自動的にメモリを解放する機能である。C言語 では malloc でメモリを確保して、free で解放する。free を書き忘れていきなり画面が ぐしゃぐしゃになったことを覚えている人も多いだろう。従来ガ−ベッジコレクションは、 あまり歓迎されていなかった。アプリケ−ションのいつの時点で、このゴミ整理が始まる か分からず、いったん始まってしまうと、相当な時間アプリケ−ションが使えなくなって しまうからである。 Lisp はガ−ベッジコレクションをする言語で、そうした話をよく目 にした。しかし今のマシンの速度は3ヵ月毎にあがっている。じきにごみそうじの負荷は 微々たるものになるだろう。Java は現実に合わせるのでなく、 少し先を予見して設計さ れているのだ。 * 何でもそろっている a. GUI部品 b. 各種ライブラリ c. 先進機能 [ GUI部品 ] 通常C言語などでGUIプログラミングをしようとすると、C言語とは関係のない Motif を、とたんに勉強するハメになった。それも、ただボタンを並べて喜んでいる内はいいが、 細かなイベント処理をしようとすると、Motif の下部構成である Xlib と XToolkit も勉 強しなければならなくなった。これらはC言語で無理にオブジェクト指向的に作られてい るので、理解するのは本当大変だった。 Java のGUIは最初から Java の一つの体系として設計された。 このGUIはEWSな らベ−スは Motif を使い、Windows はまた違うベ−スを使うことになる。このため Java のGUIで表現できることは、これらGUI機能の最大公約数的なものになっている。し かしこのことが、初期の段階で簡単にGUIアプリケ−ションが作成できることにもなっ たと思われる。 JDK 1.0 代でおもちゃ程度、1.1 でまあまあ。 97年夏に予定されている 1.2 で本格的 なGUIになるらしい。 Java のGUI部品は AWT( Abstract Window Toolkit ) と呼ば れている。これに Netscape 社の IFC( Internet Foundation Classes ) というのを加え て、JFC( Java Foundation Classes ) というものにするということだ。 [ 各種ライブラリ ] Java の場合は正確にはライブラリでなく、パッケ−ジという。 CやC++でいうところ のライブラリである。パソコン用の言語ソフトには、いろいろなライブラリが付属してい るようだが、EWS用になるとまるで何もない。ライブラリは別途購入するか、80万円 ぐらいする統合化開発ソフトを買わないとついてこない。Java には JDK の中に最初から java.io、java.net、java.math、java.awt など様々なものが含まれている。 java.awt は上記のGUI部品である。java.net は TCP/IP ネットワ−クのプログラミン グのためのパッケ−ジである。裸の RPC コ−ルを用いてプログラミングするより、 だい ぶ簡単になるだろう。ここでは java.io パッケ−ジに焦点をあてたい。 これにはオブジ ェクトをシリアライズする機能がある。シリアライズとはポインタによる複雑なデ−タベ −スの構造を、ファイル化することである。この機能がなくては、オブジェクト指向言語 とはいえない。しかしこれまでのC++コンパイラには、ほとんどといっていい程シリア ライズ機能は入っていなかったのである。 [ 先進機能 ] 先進的なパッケ−ジとして java.security、java.sql、java.rmi、java.corba などがあ る。java.security は認証や暗号化技術のパッケ−ジである。Java.sql は RDB のSQL アクセスのためのものである。この中には、Microsoft が決めた ODBC 対応のデ−タベ− ス接続インタ−フェ−スの( JDBC と呼ばれる )もあるようだ。java.rmi はネットワ−ク を通して Java 同士で通信する機能である。この他マルチスレッドへの対応、ディレクト リサ−ビス( JNDI と呼ばれる )、 Beans という Java ベ−スのソフトウェア部品などが ある。Beans を組み合わせて Java の Applet やアプリケ−ションを作成するというよう に使う。Beans の開発には JDK のほかに BDK というのも必要ということだ。 java.corba とは一体何だ。数年前から CORBA という用語をみかける。CORBA はクライア ント/サ−バの間にブロ−カをおくという話と思ってよい。ブロ−カは代理デ−モンであ り、ネットワ−ク上のサ−ビスを仲介するというわけだ。しかもコンピュ−タは何でも構 わないようにしようと決められた業界標準である。 CORBA のブロ−カは ORB と呼ばれて いる。Apollo コンピュ−タには実は10年前からこの機能はあり、glbd と llbd という デ−モンが稼働している。例として Apollo のプリント環境を紹介する。 Apollo ではリ モ−トプリンタを指定するのに printcap を使わない。ブロ−カ・デ−モンが、リモ−ト プリンタの情報を獲得し、管理しているのである。 略語 : RMI( Remote Method Invocation ) JNDI( Java Naming and Directory Interfaces ) ODBC( Open Database Connectivity ) BDK( Beans Development Kit ) CORBA( Common Object Request Broker Architecture ) (3) Java の開発環境 `02/01〜 * java を試してみる 98年の終わり頃出た TurboLinux 3.0 をインスト−ルした、DOS/V マシンで java を試 してみた。jdk 1.1.6 が入っていた。ともかく定石通り hellow が出る一番シンプルなプ ログラムを書いて、javac でコンパイルかけてみた。エラ−が出てしまう。いろいろ調べ てどうやら $CLASSPATH 変数というのが関係していると分かった。 Java のプログラミン グは初めてなのだ。こんなことも分からないという。結局 TurboLinux 3.0 には、2つの java の処理系が入り混じっていることが分かった。Linux への java の実装は、 Sun は これまでやらなかった。http://www.blackdown.org/ が主に作成していた。これが純正に 近いということで、マシンには javac で入っている。この javac に対応する CLASSPATH は /usr/share/jdk-1.1.6v2/lib/classes.zip である。 それが、 デフォルトでは $CLASSPATH 変数が /usr/share/guavac/classes.zip になって いた。これに対応する Java のコンパイラは /usr/bin/guavac であり、guavac でコンパ イルするとエラ−は出なくなった。guavac による他のプログラムは、 逆アセンブラとお ぼしき /usr/bin/guavad というのがあったが、他にはないようだった。 一方 blackdown の方は /usr/share/jdk-1.1.6v2 以下に全部展開されていた。ここでは、こっちの javac 系を使うことにする。guavac のは、あまたあるフリ−な Java の実装の一つである。 雑 誌をめくって見ると kaffe, JUMP, teikade などたくさんある。 Java は先に仕様を発表 するので、それに基づいて実装するところがたくさん現れるわけである。 /root/.bashrc ----------------------------------------------- | | |export PATH=.:/sbin:$PATH |export CLASSPATH=.:/usr/share/jdk-1.1.6v2/lib/classes.zip ]# which javac /usr/share/jdk-1.1.6v2/bin/javac << デフォルトでこのパスも通っていた。 Hellow.java << Java のプログラム。拡張子は .java です。 ----------------------------------------------- |import java.lang.*; |class Hellow { | public static void main( String args[] ) { | System.out.println("katou kun desu"); | } |} ]# javac Hellow.java << コンパイル。Hellow.class というファイルができる。Java バイトコ−ド。クラスファイルともいう。 ]# java Hellow katou kun desu << 実行する。java は仮想マシンの Java VM 環境下で、バイト コ−ドをネイティブコ−ドに変換するインタ−プリタ−。 [ マシンのスペックの確認 ] ]# ls -l /lib/libc* << glib 2.0.7 ということ。 lrwxrwxrwx 1 root root 13 Mar 5 1999 libc.so.6 -> libc-2.0.7.so* ]# java -fullversion java full version "Linux_JDK_1.1.6_v2" << # java -version もあり。 ]# uname -r << Linux のカ−ネル。 2.0.35 [ JDK 1.1.6v2 のインスト−ル内容 ] /usr/share/jdk-1.1.6v2/ |- index.html README LICENSE src.zip ( 1747603 byte ) |- CHANGES README.linux COPYRIGHT README.linux.src |- [include] | |- [bin] | appletviewer@ java@ javac@ rmic@ rmiregistry@ | i386@ javac_g@ javakey@ javaverify@ native2ascii@ | i486@ java-rmi.cgi* javah@ javaverify_g@ serialver@ | i586/ java_g@ javah_g@ jre* jre_g@ | i686@ jar@ javadoc@ jdb@ javap@ | ↑ ↑ |- [lib] デバッガ− 逆アセンブラ | classes.zip security/ | appletviewer.properties psfont.properties.ja | awt.properties rmic.properties | content-types.properties serialver.properties | i386@ i486@ i686@ i586/ font.propertiesなんとか一杯 | |- [docs] |- index.html installation.html api/ images/ tooldocs/ relnotes/ | |- [guide] awt/ io/ math/ reflection/ beans/ jar/ misc/ serialization/ innerclasses/ jdbc/ net/ intl/ jni/ performance/ security/ rmi/ * Java の本家本元 `02/02/24 Java は変化が激しい。 エンジニアは自分で http://java.sun.com/ にいって最新情報を ゲットした方がいい。昔の雑誌やらインタ−ネットでの日経関係のアナウンスやら、みて いてもよく分からない。かえって情報が錯乱し、分かりにくくなる。 実際 Sun のサイト にアクセスして、Java をダウンロ−ドし、 どうなっているか見た方が早いし確実である。 また、市販の Java 開発ツ−ルがいろいろ出ているが、Sun 自体よりも早く実装している ものもあったり、独自にツ−ルを追加したりとこれまた分かりにくい。先ずは Java の基 本的な開発ツ−ルの JDK を使って、簡単な Java Applet や Java アプリケ−ションを作 ることから始め、その後 Servlet や JSP、それに EJB がどうなっているか見ていくこと をお勧めする。 Java の本家本元の開発ツ−ルは、これまで JDK 1.1.x、 それから JDK 1.2 beta とバ− ジョンが上がってきた。 98年12月に JDK 1.2 は Java 2 という名称にかわっている。 そして更に Java 2 は ME( Micro Edition )、SE( Standard Edition )、EE( Enterprise Edition ) という3つに別れた。SE というのがこれまでの JDK 1.x の系列になる。つま り JDK 1.1.x --> JDK 1.2 --> Java 2 SDK SE ということである。ME は我々には関係し ないだろう。EE は SE に Servlet、EJB、JSP を加えたものである。これら略して Java2 の SE は J2SE、EE は J2EE とも呼んでいる。それに単に J2SE、J2EE といった場合は仕 様であり、その Sun の実装品には SDK を冠するようになっている。しかしこれら呼び名 は混乱していて Java 2 SDK, SE をただ J2SE と呼んだり、 まだ JDK 1.2 と呼んだりし ている場合もある。 ともかく Java 2 SDK SE をダウンロ−ドしてみる。 それには先ず JDC( Java Developer Connection ) にユ−ザ登録する。http://java.sun.com/jdc/ で required のところだけ とりあえず記入すればいい。UserID と Password それにメ−ルアドレスなどである。 登 録はすぐ有効になる。WWWブラウザの Cookie を受け付けるに設定しておかないと、登 録後ロッグインできないので注意されたい。パスワ−ドを忘れた時は、メ−ルアドレスを 入れる画面があり Submit すると、 すぐ登録パスワ−ドが jdc-webmaster@java.sun.com からメ−ルでかえってくる。ユ−ザ登録それにダウンロ−ドはただ。JDK のソ−スコ−ド をいじって、それをバイナリにして売る場合にライセンス料が発生する。 http://java.sun.com/jdc/ << ユ−ザ登録する。 http://java.sun.com/products/jdk/1.2/ja/index.html << ダウンロ−ドする。 http://developer.java.sun.com/ << 開発支援の情報がある。 2000年2月時点での開発環境の安定版は 1.2.2 である。Windows 用、Solaris 用 そ れに Linux 用も加わっている。三者、中身は皆同じみたいである。 日本語のドキュメン トも整備されてきている。JDK 1.2 はかつて、1年程前まではかなり不安定で、 JDK 1.1 と併用して開発するといった話がよくあった。しかしこの 1.2.2バ−ジョンあたりで、だ いぶ安定したようである。Sun も Java 2 の発表で、技術の話しからそろそろビジネスの 話をしようと言っている。安定版の他、開発版もある。 こちらは Eary Access と呼ばれ ている。最新は J2SE v 1.3.0 RC1( Release Candicate 1 )である。 Linux 用の Java 開発環境は、これまで Blackdown Java-Linux ポ−ティング・チ−ムと いうところが開発していた。Java 2 の正式配布版からは Sun も開発、配布を始めている。 開発にあたっては、Red Hat Linux 6.0 でテストしたとある。 カ−ネル v 2.2.5、glibc v 2.1。16ビットカラ−モ−ドである。glibc とは GNU のC言語ライブラリで、2.1 は ノ−マルなC言語ライブラリの libc6 に相当する。一つ前は libc5 で、 Java 2 では対 応してない。TurboLinux 3.0 では Java 2、 つまり JDK 1.2 はインスト−ルしてもだめ ということになる。 2000/02/11 Java 2 SDK, Standard Edition Version 1.2.2 (J2SE) 約 21 Mbyte ダウンロ−ド:jdk 1_2_2-linux-i386.tar.gz、21,580,986 bytes。 * 各種開発ソフト [ Inprise JBuilder 3.0 ] 旧 Borland 社の製品で Java 2(JDK 1.2)対応、'99/06/24 から出荷されている。Windows 95/98/NT、Solaris で稼働する。Linux 版も出してくるもよう。標準インスト−ルで 160 MB。Local InterBase という RDBMS も付属する。Professional 版を見たところrmic.exe, rmiregistry.exe、それに IIOP の tnameserv.exe が入っていた。 ということは Sun か ら idltojava コマンドを取ってくれば Enterprise 版でなくても、IIOP のプログラムを 作ることができるかも。おまけ、JBuilder 2 は JDK 1.1(.6) 対応だった。 Standard 版 2.98 万円、JavaBeans 作成可。 Professional 版 6.8 万円、加えて Servlet と RMI 作成可。 Enterprise 版 36 万円、加えて EJB と CORBA/IIOP 作成可。 JBuilder 3.5 が `02/05 発売になった。Windows 版に加え Linux, Solaris 版も出てい る。値段は Standard 版というのが Foundation 版となり、ただとなった。他のは値段同 じである。JBuilder 3.0 Professional 版では JSP が未サポ−ト、 Servlet の開発も機 能不足、デバッグも不十分だったのが改善され、Servlet 対応のWWWサ−バも組み込ま れた。それに Servlet や EJB の開発も Inprise Application Server と連携がとれるよ うになったとのことである。Inprise 社は今度はカナダの Corel 社に買収されてた。 [ IRIX 用は 6.2〜6.5 ] http://www.sgi.com/Products/Evaluation/ に製品、フリ−ソフト共に一覧がある。 5.3 用はなし。Java の出始めの頃から Silicon Graphics 社は、Cosmo Code という Java の 開発環境を市販していた。どうも最近は Netscape のクライアントにサ−バも、新しいの が出ないし、Java への対応も今一つという感じである。 Cosmo Code 2.3.1 Free License JDK 1.1 対応 '98/09/23 > ただになっているが、これ以後新しいのは出ていない。 Java Software Development Kit v.1.2.1 (JDK 1.2.1) '99/11/29 > This release is conformant with Sun's Java2 SDK, v 1.2.1 [ Linux 用 ] Sun のサイトから他のマシンへの移植で Linux を見ていくと、 Blackdown のサイトに行 く。そして配布のミラ−で、日本では KDD の FTP サイトにたどりつく。最新バ−ジョン は jdk 1.2.2 RC4( Release Candicate 4 ) である。Linux カ−ネル 2.1.2、 glibc 2.2 対応になっている。RC3 とか pre-v2 とか、何かいろいろんなバ−ジョンがある。pre-v2 はただ v2 と言っている場合もあるようだ。新しいバ−ジョンへの順は v1 -> v2 -> RC1 -> RC2 ->RC3、とこんな具合になっている。jdk 1.2.2 RC4 という意味は、jdk 1.2.2 の 正式配布の候補で、その4ということか。となると Sun が配布しているのは、RC がつい てないから、正式配布というわけで Blackdown のより新しいということか。 << Blackdown の配布経緯 >> % ftp ftp.lab.kdd.co.jp ( http://www.blackdown.org/java-linux/ ) ftp> cd Linx/java-linux drwxr-xr-x .. 512 Aug 12 1999 JDK-1.0.2 drwxr-xr-x .. 512 Aug 17 1998 JDK-1.1.1 << 1.1.1, 1.1.2, 1.1.3, 1.1.5 drwxr-xr-x .. 512 Aug 12 1999 JDK-1.1.8 1.1.6, 1.1.7 もあり。 drwxr-xr-x .. 512 Jul 5 1999 JDK-1.2 drwxr-xr-x .. 512 Feb 9 02:07 JDK-1.2.2 ftp> cd JDK-1.2.2 drwxr-xr-x .. 512 Jan 30 06:36 i386 drwxr-xr-x .. 512 Feb 9 02:07 ppc drwxr-xr-x .. 512 Jan 30 02:02 sparc ftp> cd i386/rc4 << rc3 というのもあった。 ftp> ls rc4 -r--r--r-- .. 13281093 Jan 28 JavaPlugIn_1.2.2.px.sh ※ jdk には jre -r--r--r-- .. 5135 Jan 28 README が入っている。 -r--r--r-- .. 528 Jan 28 jdk-1.2.2-RC4-glibc-2.1.2.md5 -r--r--r-- .. 22485129 Jan 28 jdk-1.2.2-RC4-linux-i386-glibc-2.1.2.sh -r--r--r-- .. 20197084 Jan 28 jdk-1.2.2-RC4-linux-i386-glibc-2.1.2.tar.bz2 -r--r--r-- .. 5237951 Jan 28 jdk-debug-1.2.2-RC4-linux-i386-glibc-2.1.2.sh -r--r--r-- .. 4183550 Jan 28 jdk-debug-1.2.2-RC4-linux-i386-glibc-2.1.2.tar. -r--r--r-- .. 12586740 Jan 28 jre-1.2.2-RC4-linux-i386-glibc-2.1.2.sh bz2 -r--r--r-- .. 11473712 Jan 28 jre-1.2.2-RC4-linux-i386-glibc-2.1.2.tar.bz2 (4) 分けのわからん Java -------------------------------------------------------------------------------- Java は Sun Microsystems, Inc. が開発していたがオラクル社に買収された。`2b/09/28 -------------------------------------------------------------------------------- * GUIの開発 当初から AWT というパッケ−ジ java.awt が JDK には用意されていた。これは Java の Applet やアプリケ−ションの画面作成用、画面のみてくれ用である。X Window の Motif みたいなものである。その後 Swing というのもあらたに作られた。これからは Swing を 使っていくということらしい。JFC というのも出てきたが、これはグラフィックスの描画 関数などの Java 2D などを含み、Swing も含むというものである。 JFC はパッケ−ジの 名称ではない、ただの概念みたいなものか。 * JavaBeans の開発 JavaBeans は単に Bean と呼んでいる場合もある。同じものであるので注意したい。Java には Swing というGUI画面を構成するボタン等の部品がある。 この大半が JavaBeans でできているということである。JavaBeans は何かのベ−スクラスを元に作成するわけで ない。いわば仕様で、たとえばメソッドなら getXXX、setXXX と言う名前で作るとかいう 決まりにのっとった Java の部品である。メソッドの他にはプロパティとイベントについ ても決まりがある。 その他、class ファイルを jar ファイルにしてから使うとかいう決 まりもあるようだ。ただしこれは未確認だが。 JavaBeans の開発には BDK( Beans Development Kit ) を使うということだが、BDK はな くても作成はできる。開発を楽にするためのツ−ル BeanBox というが BDK に入っている。 JavaBeans はあくまでもコンポ−ネント、つまり部品なわけで、単体でテストができない。 それができるようにするのが BeanBox である。実際 BeanBox を動かすには、 JDK 1.1.4 以降が必要とか。BDK 1.1 だと Java 2 Standard Edition 1.2 以上が必要とか、 いろい ろ注意しなければならない。 それに BDK は JavaSoft のサイトから無料でダウンロ−ド できるが、Solaris と Windows 用しかないことにも注意したい。Linux 用はなかった。 * Servlet の開発 Servlet は Java のベ−スクラスを元にして作成する Java プログラムで、WWWサ−バ で CGI のようにして使う。CGI ではプログラムの起動、 終了のオ−バヘッドが問題だと よく言われる。Servlet はWWWサ−バに常駐し一体となって動き、オ−バヘッドが少な いとされる。それにマルチスレッドにも対応するなど、 これまでの CGI に取って変わる 技術とよく紹介されている。Servlet の技術は Sun から96年頃発表されているが、 注 目され出したのは最近のことで、 アプリケ−ションサ−バの EJB との連携が言われるよ うになってからである。 先ずはフリ−ソフトでの開発、実行環境について述べたい。 Sun からは JDK とは別に開 発キットがいろいろ出た。先ず JSDK というのがある。 これは Servlet API と簡単なテ スト用 Servlet Engine が入っていた。Servlet Engine というのは Servlet を稼働させ る Java VM 環境である。JSDK 2.1 では Servlet Engine 搭載のWWWサ−バ( JWS によ く似たものらしい )も追加されている。 JSDK は一時 JDK の 1.2 beta2 に含まれたとい うことだが、1.2 beta4 からは取られている。そして、JSP も含めた JSDK の後継という ことで、JWSDK というのが出た。 http://java.sun.com/products/jsp/download.html << JWSDK がある所。 The JSWDK contains a Web container that runs JSP files and Java Servlets. The Web container has a servlet engine for developing and testing servlets, a simple HTTP Web server, and a JSP engine. 上記サイトの説明抜粋 JWSDK の最新バ−ジョンは '99/10/01 リリ−スの 1.0.1 である。JSP 1.0.1 に Servlet API(2.1)、それに簡単なWWWサ−バが入っている。上記サイトを見ると、JWSDK の対応 JDK は 1.1.8 か 1.2.2、Linux では Red Hat Linux 6.0 対応とある。 Apache 用の話も このサイトにあり、Tomcat というソフトを Apache と Sun が共同で開発している。ソフ トは Jakarta Project というサイトからダウンロ−ドする。JSP 1.1、Servlets 2.2対応 とある。Apache には Tomcat より前から、Apache JServ というモジュ−ルが開発されて いたが、今後は Tomcat を使えばいいと思われる。 フリ−ソフトでなく市販のソフトも Servlet の開発に対応してきている `02/05。例えば JBuilder 3.5 の Professional 版、6.8 万円はどうか。 Servlet 対応の簡易WWWサ− バも組み込まれているので Servlet を作って、すぐ確認できる。 こりゃ開発環境を整え たパソコン側で Servlet なんか開発して、そのコ−ドやイメ−ジを Linux なんかにその まま持ってきて使うというのがいいかも知れない。 略語 JSWDK : Java Server Web Development Kit( これからは、これが残っていく ) JSDK : Java Servlet Development Kit( 初期の開発キット ) JDK : Java Development Kit( Servlet、JSP を稼働させるベ−スで必要 ) JWS : Java Web Server( Servlet Engine を載せた最初のWWWサ−バ、295 $ ) JSP : Java Server Pages( Microsoft の ASP に似たもの ) JRE : Java Runtime Environment( 開発環境なしの実行環境だけ ) [ JSP についても少し ] 99年になってでてきた Java の技術。 Microsoft IIS の ASP( Active Server Pages ) と同じような機能である。Java のコ−ドを HTML ファイルに記述することができる。 コ −ドが初めてロ−ドされる時に、コンパイルされて Java のプログラム、つまり Servlet になるという。いったん Servlet になるとそのまま常駐することになる。 JSP の実装は いろいろあって、中には独自拡張したり互換性が低かったりするのもあるらしい。要注意 である。 JSP xxx.jsp <% ... %> 拡張子の色々 ASP xxx.asp <% ... %> PHP3 xxx.php3 ところで、ASP のコ−ドってどうなっているのかな。 VBScript や JScript(JavaScript) を使って記述するらしいが、テキストとコンパイルされたバイナリがあるのかな。友人が 買い物かごを作ったので画面見てと、xxx.asp ファイルをメ−ル添付してきた。 IE で開 けて見てとあった。ファイルはテキストだった。 ASP のプログラム開発は IIS がなくて もできるように、テキストモ−ドとかあるのかな。しかし中身よく見たら JavaScript で、 xxx.html とかえたら Netscape でもちゃんと表示した。 どうやってプログラム作ったの と聞いたら Microsoft の FrontPage でやったと言ってたけど。 * Java RMI と CORBA/IIOP の開発 RMI は JDK 1.1.6 ですでに開発、実行ができる。 CORBA は JDK 1.2 beta 2 からしか使 えない。JDK 1.2 は CORBA を実行するための Java IDL パッケ−ジ org.omg.* が入って いるし、ネ−ミングサ−ビスのサ−バ tnameserv もある。 しかし CORBA/IIOP を開発す るための idltojava コマンドは入っていない。これは Sun のサイトからダウンロ−ドす るようになっている。http://java.sun.com/products/ から見ていくこと。Sun としては 試用ソフトという位置付けらしい。無料だが、先の登録は必要である。 idltojava-ea-solaris.bin 331,281 byte idltojava-ea-win32.exe 290,663 byte 問題は Solaris と Windows 用しかないことである。Linux や IRIX 用はまた探さなくて はならない。あるのかどうかも分からない。Linux のポ−ティングサイト blackdown.org には見当たらなかった。 * Java 言語メモ ・オブジェクトを永続化するシリアライズ機能が JDK 1.1 から入った。 java.io パッケ −ジの Object Input/Output Stream でシリアライゼ−ションする。 ・Java の歴史。JDK 1.0 '96/01、JDK 1.02 '96/05、JDK 1.1 '97/02、JDK 1.2 正式版発 表 '98/12。すぐ Java 1.2 と名前を変えた。 ・]# javac -verbose Hellow.java おしゃべりモ−ドのコンパイル。]# java -versionで バ−ジョン表示。Classic VM (build JDK-1.2.1, green threads, mipsjit) てな具合。 ・Java 実行の高速化。JIT( Just-In-Time )コンパイラ。 Java バイトコ−ドをネイティ ブ言語へ変換する。HotSpot という方がもっと速い。当初 JDK 1.2 で出る予定だった。 ・Java Developer Conference 99 Tokyo、7万8千円だと。'99/07/13〜15。Java はただ でも Sun は結構こういうことでビジネスになっているのかな。 ・ベ−スクラスのことはス−パクラスという様だ。サブクラスの派生は extends。C++ には無かった、共通メソッドを追加する implements。 カンマで区切って幾つでも定義 ができる。implements はインタ−フェ−スという名前の機能である。 ・class 定義に abstract をつけると抽象クラスになる。そのクラスではインスタンスは 生成できない。サブクラスを定義して、それのインスタンスを使う。final とするとサ ブクラスを作れなくなる。いわば打ち止め。 ・サブクラスからス−パクラスのコンストラクタを呼び出す super() メソッド。 これは C++にはなかった機能だが、分かりやすくてよろしい。 ・変数やメソッドのキ−ワ−ド。 private, protected, public, static, final, native, volatile, transient, abstract, synchronized といったのがある。 ・パッケ−ジ import と変数やメソッドをアクセスできるスコ−プが関係している。同じ パッケ−ジならアクセスできるとか。C++には無かった概念だ。 ・java にはリンカ−がない。 同じディレクトリにプログラムのコンパイル・モジュ−ル があれば勝手に呼び出す。まさに仮想マシンたるゆえんである。違うディレクトリにあ るモジュ−ルは、パッケ−ジで指定する。import xxx.xxx.* ; というような記述。 ・JDK 1.2 でのコンパイル&実行。クラスパスの扱いが変更されている。なんやセキュリ ティの扱いも変わったらしい。 (5) その後の Java について * Java 開発環境のメモ EJB を配置するための XML ベ−スの DD( Deployment Descriptor ) EJB サ−バ、オ−プンソ−ス www.ejboss.org。jBoss 1.0 は J@SE 1.2.2 対応 2.0 は IBMの JDK1.3 対応。 「Software Design」'20/08,岩谷宏,"Linuxの上で本格的なJavaエンタ−プライズ開発を"。 Sun J2EE、Servlet も EJB 関係も API がそろっている。 2000/06、J2EE for Linux 日本語版リリ−ス。 JBuilder 7 Personal、Java 学習向け。 Eclips はIBM開発のフリ−ソフト。有償版は WebSphere Studio。 Visual Studio .NET のよく似たフリ−ソフトが SharpDevelop。 Java には PDF を作るモジュ−ルもある。 環境 Sun Java 2 Runtime Environment (JRE)。 HTML --> Ajax --> RIA( Rich Internet Application )。 Java Beans 仕様、Tomcat、Struts、NetBeans、GlassFish、JBoss AS、Struts。 月間「Java World」2007年2月号が最終。2006年7月頃に隔月になった模様。 * Sun Solaris 用の Java Sun WorkShop が Forte Developer 6 と名前を変えた。C、C++、Fortran など7つの 種類がある。2001年3月試用版をもらった。Solaris 2.6、Solaris 7、Solaris 8 用。 因みに C++ Enterprise Personal Edition 6 には Tools.h++ クラスライブラリが入って いる。Sun ONE Studio 4 Community Edition、EJB なし、JSP と Servlet あり。 Tomcat が組み込まれている。Forte for Java 2.0 は Sun、2001/02、EJBは対応しない。Sun ONE 製品?。これら最初から入っている。 Sun ONE Directory Server、Sun ONE Application Server、Platform Edition、J2EE ベ−スのソフト。 * Sun Java Enterprise System サンマイクロシステムズ社は2003年10月に新ブランド "Sun Java System"を発表し た。ソフトウェア製品の名称を "Sun ONE" から "Sun Java System" に変更した。以下は 90日間評価版の様子を見たところ。 多分 Sun のマシン V210 Solaris 9 を買った際に 付いてきたメディアの DVD-ROM の中身を見たのだと思う。 preinstall does not entitle warranty support, it is for evaluation purpose only. Sun Java System ... となる Directory Server 5.2 Identity Server 6.1 Directory Proxy Server 5.2 Application Server 7 Update 1, Platform Edition Application Server 7 Update 1, Standard Edition Message Queue 3.0.1 Service Pack 2, Platform Edition Message Queue 3.0.1 Service Pack 2, Standard Edition Web Server 6.1 Portal Server 6.2 Portal Server 6.2, Secure Remote Access 6.2 Messaging Server 6.0 Calendar Server 6.0 Instant Messaging 6.1 Cluster 3.1 Cluster Agents for Sun ONE Services Sun ONE Directory Server プロセス slapd << 因にこれは20万件までのエントリ | を無償で利用できる。無償提供版。 以下ずっとアプリケ−ションが続く。 V210 にバンドル、いや Solaris 9 にバンドルされているソフトといった方が正しいかも。 Sun ONE Web Server(Trial Version)、 Sun ONE Application Server(Platform Edition)、 Sun ONE Messaging Server、Sun ONE Directory Server、Sun ONE Studio他。これらソフ トの説明は http://jp.sun.com/javasystem/ に簡単な製品概要がある。 * 最小限の JavaBeans のプログラム 「C MAGAZINE」1998/03, P.66〜67 によれば、Bean の最低条件は public なクラス、引き 数のないコンストラクタを持っていること。Serializable の派生クラスであること。 import java.io.Serializable; public class TinyBean implements Serializable { public TinyBean() { System.out.println( "OK" ); } } * パソコンに JRE を入れてみた `24/11 Windows 2000 Professional に JRE をいれた。 SSL-VPN 装置の A-Gate の設定で入れる ことになった。 [Administration]->[Remote Administration]->[via Browser CLI] の右 側画面の {Command Line Interface} をクリックすると、 Java の実行環境を Java のサ イトに取りに行って、そのままソフトは展開された。ブラウザの中で telnet 画面が出て A-Gate にアクセスできるような感じである、実際は HTTPS で A-Gate とやりとりしてい る。telnet 画面みたいなのは、アプレットで de/mnd/jta/Applet started とブラウザの 画面下に出ていた。JRE 環境はすぐに有効になった。 ・Java Plug-in 1.4.2 06 インスト−ルして実行しますか。30秒位。 ・次に Java のサイトにファイルをダウンロ−ドしにいった。数分で。 ・Java 2 Runtime Environment, SE v1.4.2_06 ライセンス ・"Java Web Start" と言うアイコンが画面にできた、画面右下にも。 ・"アプリケ−ションの追加と削除" に Java 130MB が入っていた。 ・C:\Program Files\Java\j2re1.4.2_06\bin, \lib, \javaws。 ・C:\Program Files\Common_Files\Java\Update にも何かできていた。 * Java の開発環境とツ−ル `28/12 知り合いのお店の人が顧客管理のプログラムをだいぶ前から作っている。 ずっと Visual Basic で作っていた。ここ数年は Windows 2000 のパソコンに Java の Eclips を入れて 開発しているとのこと。すごく使いやすいと話していた。国内大手の電機メ−カの人の話、 SAP相当のソフトを3人ぐらいで作っている。結構、無謀な挑戦なんだけどといいなが ら、Eclips で開発していてすごく使いやすいといっていた。 GUIはWebベ−スで開 発環境は Eclips というのがデファクトな感じである。 Eclips の使い方なんかも書いてみたい。本を1年ぐらい前に買っておいてある。 8歳の 女の子が書いたという Eclips の本である。仮想マシンにも Eclips での開発環境をセッ トアップしてみるか。Eclipse 自体がでかい複雑なソフトウェアだ。とりあえずC言語で hellow と出すのを、Eclipse 操作の基本としてやってみるかだ。 昔昔、会社入ってすぐ ぐらいの時の Borland 社の TurboC とかすごく使いやすかったのだが、 まだ MS-DOS の 時代でマウスがなかったパソコンでの開発環境でのことである。。 その他、国産フリ−ソフトの Ruby というのはどうかな。開発環境のツ−ルでなくプログ ラミング言語そのものだと思う。Ruby を開発環境で使うのかな。Ruby の評価は今いかに、 Curl で企業の情報システムの画面?を作ることも多い。 ブラウザのプラグイン上で動作 させる。ランタイム上でデスクトップ・アプリケ−ションとして動作させる。 Curl の参 考で「日経SYSTEMS」 2009/05, P.54〜59, "特集3:業務アプリで RIA を使おう"。 米Curl社の Curl Ver 6.0、2007年11月出荷、150万円(20ユ−ザ)から。 * Windows 7 での Java について `2f/04/M パソコンを起動すると、画面下にでかいアイコンがあって "Java Auto Updater がアクセ スの許可を求めています"、と点滅。N と答えていると、毎度出てくる。 何じゃこれはと 書いたことがある。ずっと N を押しているので、半年以上経っても出てくる。 重い腰を 上げて調べてみた。SSL-VPN のクライアントソフトをインスト−ルするのに Java の環境 が必要で、インスト−ルできないパソコンがでてきた。それで Java のバ−ジョンを 8に してみたりして触っていた。インスト−ルして動作できているのは Java 7 で、手元の自 分のパソコン2台がそうである。1台はノ−トパソコンで、こちらを Java 8 にしてみた が問題なかった。 そんなことで Windows 7 に入れた Java の状況を以下のメニュ−画面 で見たりした。バ−ジョン位は[コントロ−ルパネル]の[プログラムのアンインスト−ル] を見れば "Java 7 Update 45" とか出てくる。 Windows 7 のメインのメニュ−で [すべてのプログラム] で Java というフォルダがある。 そこに About Java, Check For Updates, Configure Java, Get Help, Visit Java.com。 Configure Java ----------------------------------------------------------- |Javaコントロ−ルパネル |---------------------------------------------------------- ※ Java を使うアプ | 一般 | 更新 | Java | セキュリティ | 詳細 | リケ−ション、Java | ---------------------------------------------------- の環境を使うプログ | バ−ジョン情報 ラムはプログラム実 | | 行の内部状態をJava | ネットワ−ク設定 は保持するような記 | | 述があった。これは | インタ−ネット一時ファイル 注意しないといけな | Javaアプリケ−ションで使用されたファイルは、次回すばや い。プログラムがお | く実行できるように特別なフォルダ内に格納されます。... かしくなって使えな | [ 設定 ] [ 表示 ] いとか、インスト− | ブラウザのJavaが有効になっています。 ルができないとか。 Check For Updates ----------------------------------------------------------- |Javaコントロ−ルパネル |---------------------------------------------------------- ※{詳細}メニュ−の | 一般 | 更新 | Java | セキュリティ | 詳細 | 中身を初めて見てみ |------- --------------------------------------------- た。Javaをインスト | ------ −ルしたままの、こ | | § | 〆更新を自動的にチェック [拡張] の細かなオプション | | | の指定状態でいいの | ------ Java Updateは少なくとも週に一度、日曜日の20:00 に かと思ってしまう。 | 最新版を確認します。 * Java の本質について かつてメモしていたことを `2h/09/s に追記した Java もいい加減うんちくたれるのやめないと、嫌われるぞ。 何を言っているのか理解で きない。別にオブジェクト間通信は Java だけでない、CORBA ならCでもFORTRAN でも何でもいいわけだし。 Java のメリットは基本的には他のマシンへの乗り換えが楽で ある。それしかないんじゃないか。上のことを書く前に CORBA を調べていた。 ついでに そのことも。まあ CORBA のうんちくはいいぞ。 うんちくばかり垂れているので実際の普 及が遅れたのだ。いつから CORBA ってある?。十年以上前からあるぞ、1996年当時。 しかし異機種分散までにしておけばよかったものの。FORTRANやC言語といったオ ブジェクト指向言語でもないものまで対象にしてしまった。これはかなり無理があるよう に思う。FORTRANやC言語では、別プログラムのただの関数を本当使わせてもらう だけである。C++であれば、クラス定義されたちゃんとしたオブジェクトを使うことが できる。Java でもそうだが。 JavaをC++で用語を置き換えたらどうなる。斬新さはたちどころに色あせるのでないか。 Java VM の代わりに C++ VM というのがあったらどうだ。この場合の Java のメリットは 尚あるというのか。サ−バ側で Java を動かすような使い方になってきているが、その場 合 Java VM の優位性はいかに。VM はどんなマシンでも Java が動くと言うのが最大のメ リットだ。サ−バは概ねUNIXマシンである。C言語でコンパイルする手間がそんなに 大きいものか。毎週違うUNIXマシンをもってきて使うわけでもあるまいに。 JDK とか何とかいう Java の開発環境はどこからダウンロ−ドするんだ?。http://java. sun.com/ にあるとか書いてあるが見てもちっともわからん。 だいたい英語のサイトは細 かい字でだらだらかいてあって、非常にみにくい。一発でココとわかるようにしてもらえ んだろうか。そういやイギリスへいったとき、銀行も病院もディスコも皆同じ建物だった。 めりはりがないというか、なんというか。まあアメリカは違うんだろうが。 だいたい英語の本、ドキュメントは日本のようにカラフルでない。それこそだ−と文字を 並べているだけ。日本語であれば象形文字がベ−スなのでイメ−ジである程度理解できる し、斜め読みもできるのだが。ちょっとばかり Java 関係やっていて腹がたったので、文 句を言ってみた。そうだなオブジェクト間通信は和製の HORB だな、これで決まり。結局 のところ Java ではプログラミングをすることはなかった。 Java 以外でもプログラミン グする事はなかった。HORB は動作を確認してなかなか面白いと思った。そこまでだった。 * 参考 http://www.webcity.co.jp/info/andoh/java/ > Java の気合いの入った情報源。 「C MAGAZINE」'97/05, P.24〜, "特集1 JDK 1.1 変貌を遂げた最新Java 開発環境を解く" > この雑誌はC言語だけ取り上げている訳でない。実践的なプログラミング雑誌である。 「bit」'97/08, P.25〜, "CORBAの仕組みとプログラミング前編", 河込和宏。 > この雑誌は、勘を掴むのによい。目を通しておくことをお勧めする。 「bit」'96/05, P.4〜, "Java:新しい風!?", 大野とし朗。 > P.8〜 からは "Java:インタ−ネット向けプログラミング言語の新しい波(前編)" 「UNIX MAGAZINE」'98/06, P.80〜89, "CORBA とJava によるネットワ−ク構築 from。 > UNIX REVIEW"、P.57〜71 "Java のサ−バ技術 Servlet"。 「テクインフォ」'98/01/31, Vol.11, P.5〜17,"CORBA と Java 分散環境プログラミング" http://www.caelum.co.jp/~gougi/Corba-FAQ-J/ > May 12, 1997。この人ケ−ラム99年にやめてしまったぞ。どこへ行った。 「分散オブジェクト指向技術CORBA」 '96/04、4,078 円、SRA。 > CORBA 2.0 の初めての本。小野沢博文著、訳本ではない。買ってません。 「インスタントCORBA」 '98/08 3500 円、トッパン。 > 丸善に並べられていて、分かりやすそうな感じがしたので買ったけど難しかった。 http://www.orl.co.uk/omniORB/ 雑誌見ていたら、こんなのがあった。 > Omni-ORB2、フリ−の CORBA 実装、C++サポ−ト。