Path: news.daimi.aau.dk!not-for-mail From: Peter von der Ahe Newsgroups: comp.lang.beta Subject: Re: Inconsistency in the Mjoelner implementation? Date: 14 Feb 1998 00:56:49 +0100 Organization: DAIMI, Computer Science Dept. at Aarhus University Lines: 56 Sender: pahe@ufleku.daimi.aau.dk Message-ID: References: <6c1hga$39h@nx2.HRZ.Uni-Dortmund.DE> <6c293c$980@nx2.HRZ.Uni-Dortmund.DE> NNTP-Posting-Host: ufleku.daimi.aau.dk Mime-Version: 1.0 (generated by tm-edit 7.106) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Attribution: Ahe X-Newsreader: Gnus v5.5/Emacs 20.2 Xref: news.daimi.aau.dk comp.lang.beta:11400 >>>>> "MN" == Mark Nowiasz writes: MN> - Critics of C++ have pointed out that it isn't necessary anymore for MN> the programmer to support the compiler to produce optimized code MN> (e.G. inline, register, etc.). Now, the use of inserted items MN> to support the compiler is exactly the same behaviour. I think MN> it's rather easy for a compiler to decide if it should generate MN> lots of object or just one "inserted" object But it's not easy: Normally all variables in BETA is initialized with a default value: integers with zero, booleans with false and references with NONE. It would make sense only to initialize variables in an inserted item when the surrounding object is allocated, where as the variables in a dynamic object is initialized each time the object is allocated. Most experienced BETA programmers use the knowledge that variables are initialized. This makes it possible to program a lot of patterns which don't need to be initialized other than by the defaults. Returning to the problem of letting the compiler determine if an inserted item should be generated: L: (# var: @integer do var + 1 -> var; (if var <> 2 then restart L if) #) Its easy to see that it is difficult if not impossible to determine if the programmer want "var" initialized on each iteration or not (he probably doesn't in this case). MN> - In my opinion (being used to C++ and Objective C [which I consider MN> to be superior to C++ and BETA]) I haven't programmed in Objective C, but my guess is that it does not support: Patterns Inner classes Concurrency At least not as transparently and easy as BETA does. /Peter -- o============o Sending unsolicited commercial e-mail (UCE) to this address Legal Notice is indication of your consent to pay me $120/hour for 1 hour o============o minimum for professional proofreading & technical assessment. Peter von der Ahé · pahe@daimi.aau.dk ·