The reason I used the one-zero example is because it was my introduction
to programming in the early 1960s when helping design a bit-serial drum
based computer.

Even then we had optimization for execution time.  It worked by spacing
instructions in a discontinous pattern on the drum so that at the end of
executing one instruction, the next instruction would be coming up under
the read head.  Among other things, that meant every instruction had to
include the address of the next instruction.  Deriving that address was
all done by hand until the someone wrote a program to calculate it
based on instruction execution time.

The computer was used in a few process control systems in the later
1960s, but couldn't compete with the Digital Equipment PDB-8S.

Sincerely,

David Smead
www.amplepower.com
www.amplepower.net


On Thu, 24 Apr 2008, John Pote wrote:


----- Original Message -----
From: "David Smead" <[email protected]>
To: "GCC for MSP430 - http://mspgcc.sf.net";
<[email protected]>
Sent: Thursday, April 24, 2008 6:37 PM
Subject: Re: [Mspgcc-users] super-macro intention description language
[integer types in C (Re: HW multiplier)]


A person alone on an island can talk any language they want.  A person in
society, who speaks the language society uses, will propsper.  Their work
will be accepted by others and enhanced for the betterment of society.

But maybe I'm missing the point.  My programming keyboard has exactly two
keys, a zero and a one.  I don't need as, gcc, ld, gdb, etc.  Everyone can
program this way - the trick is to just get down and be `one' with memory.

I can't resist replying that a colleague of some years ago made his first
micro-processor system with a keyboard of just two keys - '0' and '1'. A
monitor programme was written in binary and blown into a 2708 EPROM. A
programme to be run was then entered by 8 key presses per byte of the
programme, each byte copied into a small SRAM from which the code was
eventually run. The first byte entered was the number of bytes in the
programme. (I believe there was a reset key as well so the monitor could be
re-started)   When needs must . . . . . But then came ASCII terminals, line
editors, assemblers, visual editors, compilers and so on. Each stage taken
up eagerly as they enabled more interesting/complex programmes to written
quicker and, at least to the average 'coder', in more natural language. The
two key world of binary was a necessary step but quickly left behind for the
common language of a compiler.

If we are ever to have bug free code what ever we write as geniouses must be
understandable by everyone else who extends or bug fixes the programme - not
everyone is a genious, there are some coders and programmers who are below
average (actually 50% of them depending on your definition of average).

Jackson's first two rules on optimisation are 1) Don't do it and 2) Don't do
it yet. And I forget who first pointed out that the most productive form of
optimisation is to change the underlying algorithm to a more efficient one
rather than honing a less efficient algorithm. (But sometimes it just has to
be done when we already have the best algorithm).

Best wishes to everyone,
John Pote



Sincerely,

David Smead
www.amplepower.com
www.amplepower.net




-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Mspgcc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users


Reply via email to