quote:Original post by PlayGGY
Sorru Fruny, I didn't see your reply. Actually, I just thought of something in C++ that I don't really understand... the v-table. Crap. Oh well, that something I really need to learn.
Get "Inside the C++ Object Model". It will most certainly satisfy your interest in the innards of C++.
quote:And Fruny, how on earth do you know all of that!?
I learned . Honestly, I bought (quite) a few books ("The C++ programming language", "The C++ Standard Library" ... I have thousands of dollars worths of computer books covering a variety of topics) and tried to figure out *why* the language was done that way, instead of simply memorizing how things were. Being a computer science graduate student also probably helped a lot - I'm *meant* to be interested in that kind of crap.
And you know, what I was getting at is, since all languages are built on the same bricks, there are not that many ways you can do, say, a loop or a function call, at the metal level. You can make it easier for the programmer to express complex ideas, but the more (high-level) languages you learn, the more you start to see the similarities - and it helps you understanding how to use them.
quote:And by the way, I know I haven't come close to learning "how to write" in C++, I was more reffereing to "whenever I see any code, I can tell what it is doing".
You should try to look at "Template Metaprogramming". It's strictly C++ code, and yet, it will completely blow your mind, especially if you've not been exposed to functional programming.
Or go have a look at Lisp macros, which let you do outrageous things, and then cry at how inadequate C macros are.
Once you understand that, you can come back with your bold claims
edit: What Xai and Zahlman say.
“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” — Brian W. Kernighan (C programming language co-inventor)
[edited by - Fruny on January 15, 2004 2:01:25 AM]