Actually,
Michael I find machine language to be very straightforward and logical but that is because you only do 1 simple action at a time. For example one line of old machine code might read LDA #05 which means load the accumulator (just a memory location) with the number 5 (base 10). Very simple. Higher level languages like Fortran, Basic, VB or C++ will have each instruction with it's own syntax and probably does a number of those simple operations. Even something like X=5 does a couple of machine level operations.
LDA #5
STA &7F3B (store the accumulator in that hexadecimal memory location which will then be known as "x")
It's all very rational and painfully logical if you understand how to view things at their very lowest level. The easiest way to remember this is to realize that computer memory knows 2 states - on/off ... 1/0. And they can only change 1 bit (0 or 1) at a time. In actuality there is another language going on even BELOW machine language. Loading the accumulator with decimal 5 requires even more commands depending on the how many bits are required for an instruction. In an 8 bit machine, that command requires 16 or more operations to complete. First the memory location of the accumulator must be set - 1 digit at a time .. and then that memory location must be set to 0000 0101 (5) but one digit at a time also. It's all very simple .. but computers can do many millions of such operations per second.
When you think about the page you are viewing it's almost incomprehensible. Not only is Windows or your OS running billions of small little operations just to operate, but the browser is doing the same thing. Particularly interesting is how a computer shows things like letters in the alphabet. Then consider the actual electronics in the machine itself. All those 0s and 1s are being converted into voltages that travel along millions of "runs" and have to get to their destination within a microsecond (millionth of a second) or the machine will spring an error. Billions and billions of those voltages flying around inside your computer and every one MUST be on time and exact. And those voltages must also be within very tight tolerances. For explanation .. say a 1 is 5 volts DC. If for some reason it is only 4.85VDC then errors can occur. It used to be my job to figure out what caused that 5 VDC to be too low or late or anything out of specs. And since this stuff is happening millions of times per second the use of an oscilloscope is required to visually comprehend things. Computers really are amazing things ... all digital electronic equipment is ... but analog electronics is also fascinating.
But this is potentially more information than you wanted. Perhaps in my next thread I'll explain the binary number system, the octal system and the hexadecimal system. Hex is REALLY interesting because it's base 16 .. so you count 0123456789ABCDEF ...and then start over one decimal place to the right. Believe it or not, we used to have to know all that to repair weapon systems on jet fighters. But it's really easy.
Are you getting any ideas as to why I might be detail oriented in my art?
