[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: Javaの開発生産




前橋です。

高橋徹さん:
>多分言語によって詳細設計作業に違いがあらわれるので、設計を含む/含まない
>を考慮にいれないとよい指針が得られないかもしれません。データ構造で有名な
>リンクリストやツリーなどのデータ構造を使った設計を実装するときに、C言語
>で1から作り込んでいくのと、Java 2で標準のCollection APIを利用するのと、
>大きな違いが生じます。利用できるクラスライブラリの豊富さが言語仕様以上に
>生産性に影響を及ぼすと思います。

いや全くその通りでして、リンクリストやツリーなどのCollection
ライブラリは、無駄な再実装を防ぐために是非とも欲しいものなの
ですが、

Objectしか格納できないJavaのCollectionライブラリは、実装とし
て不完全というか、使い物にならんというか...

現時点では、私なら、連結リストはともかくとして、配列なら
VectorではなくArrayを使います。要素数を増減させるときに、
かなり面倒なコーディングをしなければならない(しかも効率も落
ちそう)という対価を払ってもです。

ソースの中に、

    Vector hoge;

なんてもんが突然登場されても困ります。

Javaではgenericが予約語になっていたと思いますが、genericの実
装がいつになるかはともかくとして、それにしても、

「配列がヒープにしか取れない癖に、配列の要素数の変更ができない」

という、この「わけのわからない」仕様が、一体どこから降って湧
いたのか、どなたか教えていただけないでしょうか?

# おまけに、文字列のlength()はメソッドの癖に、配列のlengthは
# 変数で、だから代入すればリサイズできるのかと思いきや、代入
# するとコンパイラに怒られるという...
## さらに、昔のコンパイラだと、配列のlengthに代入すると、コ
## ンパイラが例外吐いてコケたなんて話も聞いてるんですが...

------------------------------------------------------------
  de 前橋和弥            maebashi@xxxxxxxxxx
                         http://member.nifty.ne.jp/maebashi/
------------------------------------------------------------