From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ef86287aa487b07a X-Google-Attributes: gid103376,public From: Robert A Duff Subject: Re: Pb with use of redefined "=" operator Date: 1998/11/10 Message-ID: #1/1 X-Deja-AN: 410471623 Sender: bobduff@world.std.com (Robert A Duff) References: <363F62F3.3FF7@club-internet.fr> <3640B520.D7BEEE72@elca-matrix.ch> <3641D551.CCA4379C@elca-matrix.ch> Organization: The World Public Access UNIX, Brookline, MA Newsgroups: comp.lang.ada Date: 1998-11-10T00:00:00+00:00 List-Id: Brian Rogoff writes: > I agree that certain "small" data types are best not tagged, but I would > think that a collection in general is not such a type. ... I'm not so sure. Suppose you give me a package that implements a reusable "list of things" type. And suppose I'm writing a compiler, and I want to use that type to represent the parameter lists of function calls in the parse tree. Well, I need to be able to deal with fairly long lists, and write all my algorithms to deal with any length, but I suspect the *average* list length in this case would be about 1.2 items (just my guess!). So adding an extra word of storage for a bogus tag field is a lot, if I don't need it. So in that case, I don't want to use the "reusable" code. > Unfortunately, it has many, many flaws. Indeed. They all do. But this field is still pretty young. >... The real pity is that I don't > think that there are really any better languages out there in the same > language design space. Maybe one day someone will design a successor to > Ada unencumbered by backwards compatibility (*). Backwards compatibility was indeed the most difficult design constraint on Ada 9X. I've heard similar comments from Stroustrup about C and C++. But backwards compatibility is what everybody wants. Even Java has a form of backwards compatibility -- it sort of looks like C, on the surface. > (*) No, Eiffel isn't even close, IMO. But it has some good ideas in it, too. - Bob -- Change robert to bob to get my real email address. Sorry.