With the introduction of additional data structures (lists, dictionaries that can also be used for prototype-based programming) in vim7, I don't think vimscript is that bad. And you can also use python/ruby/perl/tcl/scheme/lua/whatever when you have the proper version of vim.