[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/
------------------------------------------------------------