Just like semantic indentation, ":" is ABC's heritage. It was discovered that newbie programmers comprehend block operations better when they end with ":".
http://python-history.blogspot.com/2009/02/early-language-de...
http://python-history.blogspot.com/2009/02/early-language-de...
1. "Open" statements (Pascal):
IF x
THEN s1
ELSE s2;
IF x
THEN
BEGIN
s1;
s2
END
ELSE
BEGIN
s3;
s4
END
WHILE c DO s;
WHILE c DO
BEGIN
s1;
s2
END
The problem with this design was need to use blocks (BEGIN ... END) and complex rules in case of nesting.2. "Closed" statements (Algol 68)
IF x
THEN
s1;
s2
ELSE
s3;
s4
FI // END IF
WHILE c DO
s1;
s2
OD // END WHILE
You can see new kind of parenthesis IF-FI, DO-OD, etc.I more like "closed" syntax. But C syntax with it's brackets blocks "{...}" instead of "BEGIN...END" made this less an issue.