DMD 0.149 release
Niko Korhonen
niktheblak at hotmail.com
Fri Mar 10 02:03:46 PST 2006
Georg Wrede wrote:
> A language that purports to be "to-the-metal" just has to take
> into consideration the fundamentals of [digital] life. And processor
> physics. (Wanna abstract away that? Then go to Java or whatever.)
You abstract away vast majority of the "fundamentals" and "processor
physics" if you program in C instead of binary machine language or a
specialized assembler. Actually I daresay that unless you have a PhD in
physics and work at Intel or AMD you probably have already abstracted
away most of processor physics, which use the word 'quantum' a lot.
Let's do an example: just how closely C's standard IO facilities
corresponds with implementations of actual file systems in operating
systems? Not very closely at all. Indeed, they are nothing alike. C's IO
system is a very high-level abstraction, even if it seems low-level
because of it's design. All recent operating systems have a much more
modern and "high-level" API for IO than C, even when they are of lower
abstraction level, and therefore actually more low-level than C's. Do
not confuse low-level with poor language design, that's what K&R and
Stroustrup did.
Furthermore, processor instruction sets have evolved way beyond C; do
you have anything equivalent to vectorization, pareller execution or
hardware threads in standard C? C may have had some resemblance to
instruction sets and operating fundamentals of some specific computer
architecture in the 1970's, but it hasn't had that in decades. Face it,
even C is a high-level abstraction built on abstraction (which chooses
to represent boolean values as integers). Every high level language is.
Again, do not confuse poor design with efficiency and "low-levelism".
--
Niko Korhonen
SW Developer
More information about the Digitalmars-d-announce
mailing list