D and Programming Theory (Suggestions?)

Brad Roberts braddr at puremagic.com
Wed Oct 12 14:52:35 PDT 2011


One really good book I read ages ago that takes the magic away from c++ 
and talks about how it's translated into an underlying implementation is 
"Inside the C++ Object Model" by Stanley Lippman.  While it's written with 
c++ in mind, it's details can be abstracted to just about any object 
oriented language.  Unfortunatly it doesn't get into some of the 
interesting (to me) lower level details like function prolog/epilogs, 
argument passing, etc.  Those details vary quite a bit between platforms 
(both os and cpus) since they're among the lowest level details.

Another good book that talks about how applications go from bits on disk 
to running in memory is "Linkers and Loaders" by John Levine.

Neither of those really get into the guts of how computers work.  I'll 
leave that one for Walter to point you to.. I'm sure he's got a favorite 
'how x86 works from the inside out' kind of book.

If you're particularly interested in the HOW part of how they work, some 
digital logic classes plus a cpu architecture class would fit the bill 
nicely.  The latter was one of my favorite college courses... designing on 
paper a simple cpu (address decoders, alu, registers, etc).

None of these topics are really 'for dummies' though.  I highly suggest 
gaining some level of comfort working at the high level of writing code 
before diving deep into the how it works parts.  Starting at the bottom 
could well mean you never get to the point of writing code out of sheer
enormity of the details.

Later,
Brad

On Wed, 12 Oct 2011, Louis wrote:

> Dear Friends,
> 
> Here is the QUESTION:
> 
> Does anyone know of any good books that talk about how computers work
> abstractly enough to be a solid cross language foundation?
> 
> To put this question another way, I REALLY want to actually understand "The D
> Programming Language" by Andrei Alexandrescu.  I understand enough of it to be
> really excited about D, but not enough to start really programming with it.
> 
> EXPLANATION:
> 
> I'm new to systems language programming, although I have attempted to
> self-learn C++ a few times.
> 
> I had been looking over C, C++ and C#, and there is a tremendous amount of
> information about those languages available, but on a whim I decided to search
> and see if there was actually a "D" programming language.
> 
> Not only did I find "D", but I also found out that it's a relatively new
> language, and it appears to be cutting edge.  From what little knowledge I
> have about C++ programming, I can already see some serious advantages of
> putting time and effort into learning D because I think in the long run, it
> will be worth the effort.  Not to mention that "D" appears to have "fixed"
> some really complex, and potentially dangerous issues with C++ - issues that
> are over my head at the moment - but clearly stated enough that even a noob
> like me can see some ugly problems coming at me with C++ over the long haul.
> (Yes, I have crashed windows with bad C++ before).
> 
> I bought "The D Programming Language" and have been fascinated by it even
> though a lot of it is way over my head.
> 
> As I am pouring over my C++ books and my D book it has become painfully
> obvious to me that while the syntax of language(s) are unique and important,
> what is far more important is understanding the computer theories underlying
> the code.  Things like understanding linear programming, OOP, functional
> programming etc.  Also, things like understanding how a computer works
> internally and how that relates to language (and compilation...).
> 
> I have made the mistake of trying to understand how a language works through
> learning its syntax as defining function rather than understanding how
> function dictates syntax.  With a new language like D with few books written
> on it (actually 2 as far as I can see) it's difficult for a newcomer like me
> just to jump in.
> 
> There is no "Beginning D" or "D For Dummies" yet.
> 
> I'm a quick study if I can find a few good books, and that's what I am looking
> for.
> 
> Thanks!
> 
> 
> 


More information about the Digitalmars-d-learn mailing list