The standard answer is that in languages like julia, certain keywords like if introduce a block while others like else and else if continue a block. As a result else if would require an extra end by regularity (also to avoid confusion if you really did want an if block inside your else block). Of course that doesn’t apply to languages that do scoping differently and indeed in e.g. C you’d spell it else if. Python doesn’t really need it either, but as with all things python who knows why it works the way it does.