Right. There always might be exceptions though, but it's not typical that 16000 functions are called at the same time, unless you did something very wrong.Originally Posted by kohlrak
That's where standards and APIs and drivers come in. They just do the stuff, so you should't have to care about how it's done. It's just done, somehow.Originally Posted by kohlrak
Get gcc then, it's open source. Meaning that anyone that found anything that was worth improving, did so. Resulting in great speed/stability/reliability/whatever. Also, not all APIs are Visual C++ only. OpenGL and glut (things I used for graphics and input) both work perfectly well under Linux, too. But I agree, there are far too many Win-only stuff.Originally Posted by kohlrak
Yes, ASM is direct processor code. What does that have to do with how large memory blocks are assigned to an individual variable type? Nothing.Originally Posted by kohlrak
Yeah, optimizing. If something seems slow, code your version of it, to see if it's faster. If it IS, use it, if not, revert. However...Originally Posted by kohlrak
Have you ever checked out Cassini, the "Open Source" Saturn Emulator? Those fools just disassembled the code, and put the ~2MB of assembler into a text file. See if you can improve it in a hundred million years.
Truly, ASM is not pleasant to the eye in the case of larger programs. It is good for making a select few functions smaller/faster, though, but you don't need a disassembler for that.
Object orientation is an approach to programming, a programming method itself, alternative to structured programming, it has nothing to do with the actual datatypes themselves.Originally Posted by kohlrak
In structured programming, you make loops and functions to handle the data.
In object oriented programming, you make objects that are autonomous in some way, and have them go at it. The thing is that here the data is contained in the objects themselves, and is not manipulated from the outside. The objects re-assign their inner variables according to various instructions you may give them, and then behave accordingly. So, you could have a Player object, with a Jump method, that would make it jump, without you having to care about the exact details (collision, velocity, animation).
BTW, the difference between structs and classes in C++ is that structs data fields default to public, whereas classes' default to private. There is no private/public distinction in C, therefore no need for classes.