According to Game Producer, the worst invention ever when it comes to programming languages are “==” and “=”. The first one is used for comparing two values, the second one for assigning a value to a variable. This has already led to countless errors, when you accidentally mix the two up. Torque Game Builder also uses this and it has happened numerous times that I use “=” for comparing values. Game Producer has suggested using <-, but that gives rise to another problem. In C++, -> is used for accessing fields and methods of objects that are referenced through a pointer, so you’d have two things that you can mix up again and the very same problem would emerge.
When I first started using C-like languages, I had another annoying problem. My first programming experience was with Turbo Pascal and Delphi. In Pascal-like languages, “=” is used for comparing values and “:=” is used for assigning values. It took me a long time before I finally got rid of my old habit! I think, however, that the Pascal approach is better, since the symbol for assigning values has two different characters, doesn’t look like something you use for another task and they are easier to keep apart. But since most programming languages have a C-like syntax (C, C++, Java, Javascript, Torquescript, …) I don’t see this changing anytime soon.