What languages used to write computer languages?
jacquesm: There are 'bootstrap' languages that are mostly written 'in themselves', Forth (in your list already) and Lisp come to mind but there are plenty of others.For performance reasons usually some of the more frequently used constructs will be re-written in a lower level language but there is no strict requirement to do so.You could write any language in any other language, provided the first one is 'Turing complete'.The only reasons people will pick a certain language to do their (language writing) work in is because of constraints.edit:Another common technique is the 'DSL', or domain specific language. Some programming languages (again, such as forth and lisp) lend themselves better to this technique than others. Basically the idea is to extend the language within the accepted syntax with new words that add the required functionality.After that these additions can be used like any other language primitive, even if they sometimes will run a little slower because of internal overhead.edit: Being programming 'in itself' is a sort of coming of age ritual for languages, it means you can now face the world entirely on your own terms instead of standing on top of the scaffolding provided by another language.But not all languages are very well suited to this, the more specific to solving a particular problem a language is the less likely it is to be bootstrappable. And plenty of times it just isn't worth it, if you get adequate portability and performance from being written in C then that's fine too.