Then there are languages like Python that end without a statement due to differing whitespace.
The correct answer is: who cares.
Those who do care write them like this:
}
}
}
The editor lines it up with what it closes.Closing blocks telling you what they are closing were a good idea in the era when programmers had to line up at a job submission window holding decks of punched cards.
The reason is that blocks indicating what they are closing can assist the compiler in reliably recovering after syntax errors, continue parsing, so that you get as many useful diagnostics from a single compiler pass as possible.
That is almost entirely irrelevant today, though.
It’s called BASIC because it’s more approachable to beginners. End Sub is not as strange to someone new to programming as a curly brace because it is almost English and less abstract.
VB has its quirks but during its heyday, it was substantially more productive and easier to use than pretty much anything else.
So unless you can somehow convince young talented programmers to abolish 50 years of advancements and go program in an antiquated language again, in a short while there will simply be no option but to finally migrate away.
Someone who has to wait 10 minutes in line before a job submission window, holding a deck of punched cards, just to find out their program has syntax errors, and then repair as many of them as possible before repunching the cards and lining up again.
And that's about it.
What about 1-based indexing and On Error Resume Next?