counter++ versus "add 1 to counter"

David Burgun dburgun at dsl.pipex.com
Mon Mar 22 09:06:54 EST 2004


>Hi, Scott,
>
>>This is an interesting point of view Marc, but I wonder if you are basing
>>your point of view on your knowledge of C.  Look at your example:
>
>Yes, absolutely. I did not make that clear enough, sorry.
>The basic for my "excurse" was, of course, that the "reader" (and 
>the writer) of code is a developer, not a narrator. A developer will 
>most likely be used to the standard term "++". That's the basic for 
>me saying "it is clear".

Well, actually a "C/C++" developer. I learned to program in assember 
and in most assemeblers I've come across, the increment operation has 
a specific instruction, like so:

IAR  - Increment A-Register
INC  HL  - Inrement HL Register

I then learned Pascal and Basic and got used to this Syntax:

counter := counter + 1      Pascal
let counter = counter + 1  Baslc

I then moved onto C and the syntax:

counter++

Was not at all obvious to start with and so I used:

counter = counter + 1  Which worked just fine, until I looked at the 
assembler that was generated and found that it did something like 
this:

MOV  A,counter
ADD A,1
MOV counter,A

Instead of:

INC A

I would imagine that the ++ syntax came about for a number of reasons 
none of which has anything to do with clarity:

1.  It was quicker to type counter++, and using a Teletype this was important.
2. It was quicker to print counter++ again using a Teletype at 33 BPS 
this was important.
3. It was easier for the code generator to substitute an "INC" 
operation when ++ was spotted and with limited memory and execution 
speed this was important.

All these issues are no more. To me the syntax

counter = counter + 1 or add 1 to counter is MUCH clearer, but in 
this case it really doesn't make any real difference. I really 
wouldn't mind if Transcript supported both syntax, but I would 
imagine that this would cause confusion for people that don't have a 
hard-core programming background, so it's better to just have one 
syntax, and the "add 1 to counter" seems the better choice.

Just my 5 cents worth, cos I'm waiting for a compile to finish!!

All the Best
Dave



More information about the use-livecode mailing list