I'm usually a C# programmer and going to Delphi has been full of "interesting" discoveries. The one that baffles me the most is single statements in Delphi.
Example C# block
if(x)
Foo();
else
Bar();
Example Delphi block:
if x then
Foo() //note missing semicolon
else
Bar();
What exactly was their purpose for requiring that semi-colon to not be there? Is there a historical reason dating back to Pascal?