In article <4dc29cdd$0$29991$c3e8da3$54964...@news.astraweb.com>, Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote:
> C is better described as a high-level assembler, or a low-level language. > It is too close to the hardware to describe it as high-level, it has no > memory management, few data abstractions, and little protection. +1 I (and most people who really know C and the specific hardware architecture they're working on) should be able to look at a C program and (modulo optimization) pretty much be able to write down the generated assembler by hand. In fact, I used to do exactly that. I was once working on M-6800 hardware (8/16-bit microprocessor). I used to write out procedures in C, then hand-compile it into assembler code (and leave the C code as a comment). I wasn't a true masochist, however. I did let an assembler convert it to hex for me before I keyed it in :-) On the other hand, trying to do that for something like C++ is damn near impossible. There's too much stuff that happens by magic. Creation (and destruction) of temporary objects. Exception handling. RTTI. Not to mention truly black magic like template expansion. -- http://mail.python.org/mailman/listinfo/python-list