UNIX板の最近のレベル低下について
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNG考察するスレ。
0390名無しさん@お腹いっぱい。
NGNGC++のコンパイラは信用できないがJavaのコンパイラは信用できる。
配列のバッファオーバーフローもArrayIndexOutOfBoundsException例外が
throwしてくれる。nullなオブジェクトがメソッドを呼び出そうとするとぬるぽ(NullPointerException)を投げてくれる。
グローバル変数もグローバル関数も使用禁止なのでその分デバッグが楽である。
多重継承も禁止している。メモリリークの危険性も減った。うっかりミスもかなり減る。
コンパイラが足りない分はeXtrepme Programmingのテストファーストを実践する
ことでほとんど解決できる。C++をやっているならCppUnitは使っているだろう?
Javaの場合はJUnitを使うのだ。さらにJavaServletのユニットテストをする場合は
ApacheのサブプロジェクトであるJakarta ProjectのJakarta Cactusを使う。
Webプログラミングによって作ったB2BサイトをテストするときはSourceForgeに
あるHttpUnitを使う。
0391390
NGNGセキュリティモデルもかなり優れ、JavaCompilerもJavaVirtual Machineも
信頼と実績を積んでいるおかげかかなり信用できる。
これによりちまちましたメモリ管理やポインタ演算などにとらわれない
巨大規模なプログラミングが可能となる。
デザインパターン然り、アーキテクチャーパターンにこだわった高度なプログラ
ミングができる。クラスばかり作っていると遅くなるという者がまだいる。
それはクラスの設計次第で不満にならないほど速くすることはできる。
例えば、デザインパターンのひとつ、ProxyパターンやFlyWeightパターンを使う
ことで高速化できる。クラスを使うと遅くなるはずがかえって速くなることもある。
JavaがC言語より高速になることはありえないと誰もが思うかもしれない。
だがC言語より速くなる例がすでにでている。(クイックソートがあればいらないじ
ゃないかと思うかもしれないが) バブルソートのプログラムをJavaでコーディン
グし -serverオプションをつけて実行すると同じアルゴリズムのC言語のそれ
を見事に超えたサンプルがある。
もはや、「Javaは遅い」というには5年遅い。
ムーアの法則がJavaを速くした。
そして量子コンピュータが登場する。これが実用化すればJavaの理想は
確実に現実のものとなるだろう。そしてJavaの基本理念をベースにした
新たな言語が登場するのだ。
■ このスレッドは過去ログ倉庫に格納されています