And 'var', 'begin' and 'end' make the code much longer, don't you feel?
Code Length is not an important metric. Typing time doesn't even factor into the time that making a program costs. Debugging is the biggest post.
Readability therefore is paramount.
That goes both ways though, I always liked Modula2/Basic "end xxxx" more than just "end". Though I think the M2 way to only end procedures and functions blocks with "end proc" and "end func", is enough. But not with the function name like M2 does, that is annoying while renaming functions and restructuring code in general.
(a qualifier at the end of the block limits the scope for searching errors in block nesting)
So in short, Pascal's successor Modula2 already did several of these changes (always END to end a block, do away with begin except for a function start etc)
BUT, compatibility is more important. Which is why I'm using Pascal and not Modula-2.
And in vb, you can easy to add a string with a number like
MsgBox(Text1.Text + 1)
That is a disaster waiting to happen.
but in pascal, you must convert first
ShowMessage(IntToStr(StrToInt(Edit1.Text) + 1));
Yes, treating you proper behaviour, keeping data and UI state apart.