You're missing 4) piggybacking on existing ecosystems. E.g. Scala, Clojure, F#.
Writing traditional compilers and interpreters, or emitting C, or targeting LLVM have all proven to be good ways of getting production-grade programming language implementations created and usable quickly. Messing around with Parrot has never resulted in anything useful.