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.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,e0a59694a441eb7b X-Google-Thread: 103376,e0a59694a441eb7b X-Google-Thread: fac41,e0a59694a441eb7b X-Google-Thread: 1108a1,e0a59694a441eb7b X-Google-Attributes: gid109fba,gid103376,gidfac41,gid1108a1,public X-Google-ArrivalTime: 2004-04-23 17:10:21 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: stevenwurster@lycos.com (Steven Wurster) Newsgroups: comp.lang.c++,comp.lang.ada,comp.lang.eiffel,comp.object Subject: Re: OOP Language for OS Development Date: 23 Apr 2004 17:10:21 -0700 Organization: http://groups.google.com Message-ID: References: <95db0572.0404142153.431fd058@posting.google.com> <566e2bfb.0404181753.2844342f@posting.google.com> <4088D574.2020503@tele2.fr> <1082738747.300309@master.nyc.kbcfp.com> NNTP-Posting-Host: 69.137.136.237 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1082765421 13865 127.0.0.1 (24 Apr 2004 00:10:21 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sat, 24 Apr 2004 00:10:21 +0000 (UTC) Xref: archiver1.google.com comp.lang.c++:31357 comp.lang.ada:7441 comp.lang.eiffel:734 comp.object:11068 Date: 2004-04-23T17:10:21-07:00 List-Id: Hyman Rosen wrote in message news:<1082738747.300309@master.nyc.kbcfp.com>... > > It appears from my looking up what once functions do, > that arguments to the call are irrelevant for determining > whether it should be re-executed. If so, that's another > example of a hideous language design choice made by Eiffel. Explain why. Don't just say it's 'hideous' without giving rationale. > Speaking of hideous design decisions. This whole concept > of classes having fine-grained dictatorial control over > whom they allow access to their innards is more than a > little silly. Why? You need to provide your reason for your opinion. Selective exporting is way ahead of the public/protected/private of C++ and Java. A good example is the visitor design pattern, in which the visit routines should only be available to the accepting classes. This is easily done using selective exports in Eiffel. But in C++ one must either make the routines public, which violates encapsulation, or make *every* accepting class a friend, which violates information hiding and requires a lot of programmer bookkeeping. Steve