Friday, July 17, 2009

In the Beginning...

it wasn't the command line.

The actual beginning was hardwired logic circuits.

Then came machine code.

Then came Assembly language. That's far enough back for me...

So, you want to program your little toy? I've seen lots of programms think that Java or C++ or <insert language of the week here> MUST be the way to do it.

But all of these systems assume lots of system overhead is available. That isn't true for small systems. That's why languages like C and Assembly are the standard in microprocessors.

"But I can do more with <FOO>!" Nope... when all is said and done, everything compiles down the instruction set of the target processor. That's all it can ever be.

While some languages make it easier to do particular things, they cannot make the processor do things that another language cannot.

This brings us to Assembly. Anything that can be done in any language can be done in assembly. No compiler, however smart, can make things more efficient than a good assembly language programmer.

And, if you understand assembly for the target processor, you know what the hardware is and is not capable of. Which means that, even if you use a high level language (and whether or not C counts is a matter of debate), you can write better code because you know how your code is going to map onto the target processor.


So, go to someplace like Webster and find out what a compter is actually capable of.

No comments: