One of the things that pleases me no end about Pascal , like Algol before it, is its use of = to mean = , and not as an assignment operator. For that we have := . Dunno if it's my maths background, but I find languages that use the equals sign as an assignment operator to be really, really annoying. Now good old BASIC gets it right, in that it uses = to test for equality but combines = with the LET prefix for assignment. As in : LET x = 42 You know, just like you do in maths . Except that many BASIC implementations make LET optional! But in the curly brace languages (and others), the misuse of = irritates me beyond reason. Especially so when they then go and define == to mean "is equal to" when there's a perfectly good = sign just begging to be used. I find this ridiculous - and I'm in good company: A notorious example for a bad idea was the choice of the equal sign to denote assignment. It goes back to Fortran in 1957...