Does any particular language stand out above the crowd to be a host in which to develop general purpose languages?
I am interested because of the development of Perl6 using Haskell as a host by Autrijus (See pugs.) I expect that any of OCaml, Haskell, Scheme or Lisp would be better than using C <grin> to develop a host, but is one of those (or something else entirely) likely to be significantly better than anything else?
I expect that a good host language:
- Has an active, friendly community.
- Is super productive (for a skilled developer who has experience in host language).
- Has good libraries. Especially language related libraries for say parser generators. Possibly part of language.
- Is fast enough. Self-hosting may come after the initial childhood and growing pains of new language, so nice if the host language can be used for some time.
- Is relatively stable. (Not hot off the press, not one-man-band, time spent learning it is usable in future, unlikely to be a pure research language)
- Is mostly learnable in a few months by a bright developer (Hopefully that is me! My work has always been with imperative languages, but I am certain I can be quickly seduced by functional programming...).
- Is open source (No vendor lock-in, ability to share with other developers).
I hope this is the perfect forum to get an answer to this personally vexing question!
PS: For those that wonder at the need for self-hosting (rather than just keep another language under the hood):
- I think that to build a community of developers for any new language wants ownership of ‘their language’ that is ‘better than other languages’. You can’t have that without self-hosting (note: C is great as a host, but not great for prototyping!).
- Reduce dependencies
PPS: I do think the world needs another language! Of course I am preaching to the converted here.