LLVM is written in C++ and I&#x27;m assuming that the Swift compiler developers are also very familiar with C++. It&#x27;s also fairly straight forward to write binding for any language to things written in C&#x2F;C++. The latter makes it at least theoretically possible to build tools on top of the compiler. C++ is really the obvious and simple choice, that you can get away with without large discussion.<p>Also if it&#x27;s actually planned to make Swift self-hosting, the language you write the initial compiler in matters even less. If you&#x27;re throwing it away anyway at the first opportunity, who cares about a few imperfections?