Path: ccsf.homeunix.org!norn-news!CALA-MUZIK!ie.u-ryukyu.ac.jp!not-for-mail From: kono@ie.u-ryukyu.ac.jp (Shinji KONO) Newsgroups: fj.comp.lang.java Subject: Java Date: Fri, 18 May 2007 02:00:27 +0900 Organization: Information Engineering, University of the Ryukyus Lines: 52 Message-ID: <3993570news.pl@leo.ie.u-ryukyu.ac.jp> References: <1173408799.067953.89530@30g2000cwc.googlegroups.com> <070309124116.M1200468@XP.doga.jp> <1173446801.647540.113770@64g2000cwx.googlegroups.com> NNTP-Posting-Host: news.ie.u-ryukyu.ac.jp Mime-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit X-Trace: naha.ie.u-ryukyu.ac.jp 1179421284 12393 133.13.48.6 (17 May 2007 17:01:24 GMT) X-Complaints-To: news-admin@ie.u-ryukyu.ac.jp NNTP-Posting-Date: Thu, 17 May 2007 17:01:24 +0000 (UTC) X-Image-URL: http://www.ie.u-ryukyu.ac.jp/~kono/skono.gif Fcc: send X-Newsreader: news.pl 1.17 2005/05/10 01:26:04 Content-ID: <679.1179421282.1@leo.cr.ie.u-ryukyu.ac.jp> Xref: ccsf.homeunix.org fj.comp.lang.java:551 河野真治 @ 琉球大学情報工学です。 というわけで、プログラミング言語シリーズ。 James Gosling と言えば、実は、Gosling Emacs という、Stallman のではないEmacs で有名な人だった。で、「C++ の騒ぎが収まっ た後に、いまさら、オブジェクト指向言語? 」というのが最初の 印象です。最初は組込みとかの用途だったらしいのだが、売り込 みに失敗して汎用言語/WWW用の言語として売り出したらしい。 最初の印象は極めて悪いです。配列にはキャストして入れるのか よ? で、配列に入っているオブジェクトのクラスがわからなくな るから、new Interger(n) とかするの? 正気ですか? 自分の言語 のターゲットして、Java VMが使えるかと思って調べてみたら、Bloc k begin, Block end っていうコードがある。そういうものは仮想 マシンコードとは言いません。そういうのは、構文木を表すコー ドっていうの。処理系も遅かったしね。AWT も出来悪かったし。 しかも、ソースコード出さないわけ? おかげで、Kaffe とかいう 実装にはまったりしましたが。 IOが使いにくい。Byteとchar/string の扱いが面倒。Multi Thread が、良く考えられてなくって、synchronized ばかりになってしま う。そんなこんなで、一太郎ARKが、Pure Java で出たときは、ち ょっと驚きました。「そんなものが書ける言語だったのか?」みた いな感じ。Cで書いたUser level transport layer をJavaで書く ってのをやって、すごく苦労したし(学生が...)。その時点で、オ ブジェクトのリンクを工夫してnew をけちって再利用したりする と、GCの関係で遅くなるなんて話も聞きました。「それじゃReal- timeに使えないだろ」と思った。結局、GCされないメモリ領域と かがReal-time Java では用意されたらしい... もっとも、JITと、Interface は、良いアイデアだったと思う。ど っちも借り物だけどね。Applet が流行らなかったのは残念だった が。流行らなかった理由は、Applet で使えるJavaのエンジンのversion が、ちっとも新しくならなかったから。例のMicrosoft の問題も あったし。 なんだけど、1.5 になってから、ぐっと良くなった。Java のGeneric は、配列のキャストのsyntax suger であって、型にしか付かない ので理解しやすい。Iterator もまとも。nio は、ぐっとUnix寄り になっていて使いやすい。Thread と Lock も整理されたし。 Java の仕事をちょっとしたこともあって、OSの課題の大半をJava でも書きました。Ecli pse との相性はいいしね。Eclipse のdebuger は、ちょっと使いにくいけど。Perl/Tk で書いた自分用のソリテ アをJavaに書きなおすってのをやりたいのだが、微妙に暇が見付 けられず。なんでだろ。もっとも、Java で、それほど大きなアプ リケーションを書いたことはありません。 --- Shinji KONO @ Information Engineering, University of the Ryukyus 河野真治 @ 琉球大学工学部情報工学科