WannaBe: To me, a compiler takes the code (pascal, possibly C/C++ especially) and turns it into a chip dependent program. Big/Little Endian was big when I was in school (Shows you how old I am...)
I had some friends who took upper level under graduate class(es) in compiler writing, that would maximize the code, and handle the 'stupidity' of people's codes.
As an example:
int a = 1, b = 0 c = 0;
if ((b != c) && (a > b)) this code would automatically fail on first comparison, and not bother with second...
I have often written spaghetti code, and hit 'compile', and let the compiler tell me what I did wrong. However, this would only take care of the syntax of the code, e.g. if (a = b) then c = d.
This is wrong, the correct syntax is if (a == b), but this did cut down my time when I am facing deadlines and I can get something running and then debug the finer points later.
A computer, is a machine, that encompasses CPU(s), RAMs, sound card, etc... I am old enough to remember, that to get a x386 chip with a math o-processor was a big deal, I paid 1300$ US for my first x386 with 4k of RAM and 3M of hard drive, dot matrix printer (Yes, you have rip the edges off the paper) and a 56k baud modem.)
Man, chicks loved me!! (Okay, maybe that's not so true...)
Also played with Apple IIe in school, Tandy computers, remember using casette tapes for storage, then floppy (big) disk, and then came the mini-disks...
You, youn'ns, y'all have no idea what we have to deal with, your basic cell phones (not even smart phone!) have more than I ever had!