--------------000706030907060301040809
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Eleanor McHugh wrote:
>> All system-level engines are written in C, not C++. C has been a 
>> Standard for much longer, and has more compliant compilers. So any 
>> engine that wants to run on the widest number of platforms must use C. 
>> It compiles for everything from wristwatches to Mars Rovers.
> 
> It may well compile for them, but there are systems where even diet libc 
> would be too heavy a runtime requirement which is why many embedded 
> applications still use assembly language.

There's also another light-weight libc -- I forget the name, but there 
is a whole "buildroot" toolchain as well for embedded systems. Then, of 
course, there's Forth, which usually has an assembler built in.

> The point of OOP is that it cleanly encapsulates code and data to form 
> discrete black boxes. This makes it easier to design complex systems and 
> ideally reduces the volume of code which has to be remembered. This can 
> have the added benefit of enabling rapid code changes, but it's by no 
> means the main advantage.
> 
> The slow uptake of C++ for system-level coding owes much to the historic 
> poor performance of compilers in optimising virtual function calls and 
> the memory footprint of the runtime. In recent years both considerations 
> have become less important, but in the embedded sector there is still a 
> preference for assembly language and imperative languages such as C or 
> BASIC.

There actually was a time when even the use of C was in doubt for 
embedded systems. An awful lot of Forth, Pascal, PL/M and assembler code 
was written before C compilers were good enough. Now, of course, the C 
compilers are good enough to build a high-performance Forth environment 
in C. :)
-- 
M. Edward (Ed) Borasky
http://ruby-perspectives.blogspot.com/

"A mathematician is a machine for turning coffee into theorems." -- 
Alfréd Rényi via Paul Erds

--------------000706030907060301040809
Content-Type: text/x-vcard; charset=utf-8;
 namenmeb.vcf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filenamenmeb.vcf"

YmVnaW46dmNhcmQNCmZuOk0uIEVkd2FyZCAoRWQpIEJvcmFza3kNCm46O00uIEVkd2FyZCAo
RWQpIEJvcmFza3kNCmVtYWlsO2ludGVybmV0OnpubWViQGNlc21haWwubmV0DQp4LW1vemls
bGEtaHRtbDpGQUxTRQ0KdmVyc2lvbjoyLjENCmVuZDp2Y2FyZA0KDQo--------------000706030907060301040809--