Yes, it is. I've had embedded systems boot straight into busybox like shells for example. Even more fun, the system didn't have a BIOS at all (it was hard wired to just jump into a location in flash, were we placed the Linux second stage boot loader to uncompress the kernel image to RAM, which then executed the shell immediately. Even the shell was really mostly there to aid debugging - in production use it'd immediately spawn the main app for the system.
As long as the kernel has whatever drivers you need compiled in instead of as modules, and as long as your app either doesn't directly or indirectly spawn lots of child processes or if it does it takes care of wait()'ing for them, and as long as you don't need any getty's (without spawning them yourself) there's no problems tearing out everything and replacing it with a self contained static app.
Actually, vim has a programming language built in to it: vimscript. So you could certainly program from it.
And that's not to mention the various other programming language interfaces vim has. If you've compiled vim with the right options, you could use Perl, Python, Ruby, or Lua from within vim.
I can't trace the source of this quip but I'm glad someone has set out to prove the first part of it...