Nó đơn giản có nghĩa là hầu hết cốt lõi của ngôn ngữ A được viết bằng ngôn ngữ B. "Lõi ngôn ngữ A" nào có thể khác với ngôn ngữ này, nhưng nói chung bạn đoán đúng, nó có nghĩa là trình biên dịch hoặc trình thông dịch. Yếu tố quyết định chọn ngôn ngữ để viết ngôn ngữ khác là, vì với hầu hết mọi dự án, ngôn ngữ nào các nhà phát triển đều quen thuộc hơn.
Điều đó nói rằng, "ngôn ngữ A được viết bằng ngôn ngữ B" là một sự đơn giản hóa cho hầu hết các ngôn ngữ hiện đại. Nếu chúng ta lấy Python làm ví dụ, trong khi triển khai tham chiếu, CPython , thực sự được viết bằng C, có các triển khai được viết bằng các ngôn ngữ khác, như Jython (viết bằng Java), IronPython (viết bằng C #), PyPy (viết bằng Python), CLPython (viết bằng Common Lisp), Stackless Python (viết bằng C và Python) và Unladen Swallow (viết bằng C ++).
Ngôn ngữ lập trình là một định nghĩa và như ví dụ Python cho thấy, thực sự không có bất kỳ hạn chế nào đối với ngôn ngữ mà trình biên dịch, trình thông dịch và thư viện của nó có thể được viết. Và dĩ nhiên, ngôn ngữ cũng có thể được viết bằng ngôn ngữ thông qua một quá trình gọi là bootstrapping .