5 AnswersNew Answer
A lot of languages are made by supporting a subset of the language in one language. Then, write your full support of your language using that subset. The final result is the Java compiler is written in Java, but the original subset was provided by C. The subset would skip as much of the language as possible maybe even dropping error checking to make the code as small as possible. The first version in the new language would also support only the subset. Once it can compile itself, it is time to expand.
New languages are made using already existing languages.
New langs are created in C++, Python, Java, C... Of course, you have cross-platforms, which works on existing langs, for example, QT is cross-platform based on GUI apps which is created in C++.