I think this happens for a few reasons:
- First, as you pointed out, not every user is guaranteed
to have your favorite language installed. But they will
have VimScript whenever they use vim.
- Second, even if a user has your favorite language
installed, the version of vim they have might not be
compiled with bindings for that language. Only VimScript
is guarateed to be compiled in.
- Third, VimScript is the only language in vim that's not
crippled in some way in respect to functionality. All
the other languages it supports have to rely on
VimScript itself in order to perform some vim-related
functions. In some languages, this makes it so that you
might as well be using VimScript to begin with.
Is there a reason why there is no portable binary compiled with bindings for perl, python, lua, et cetera?