Untuk mengkompilasi apa untuk apa? Kompiler mengubah kode sumber dari satu bahasa ( bahasa sumber) ke bahasa lain (bahasa tujuan), yang tidak menunjukkan apa pun tentang tingkat rendah bahasa tujuan.
- CoffeeScript mengkompilasi ke JavaScript, kompiler sedang ditulis dalam CoffeeScript.
- Script # mengkompilasi C # ke dalam JavaScript, kompiler yang ditulis, jika saya ingat dengan baik, C #.
- dll.
Bahasa yang Anda pilih untuk menulis kompiler tergantung pada konteksnya. Sebagai contoh, bekerja pada proyek yang mengkompilasi bahasa yang berasal dari PHP ke kode PHP asli, saya menggunakan campuran PHP dan C # untuk menulis kompiler, karena itu paling masuk akal bagi saya mengingat keterampilan saya. Orang lain akan memilih Python, atau Java dan PHP, atau C ++ dengan sedikit JavaScript, atau apa pun.
C atau C ++ adalah pilihan populer karena dukungan alat terkait kompiler (lihat jawaban oleh Telastyn), dan karena kedua bahasa tersebut memungkinkan Anda untuk benar-benar asli. Namun tidak ada salahnya memilih bahasa lain.
Perhatikan bahwa agar lebih culun , Anda dapat memilih bahasa sumber untuk menulis kompiler itu sendiri. Itulah yang terjadi pada kompiler CoffeeScript dan banyak kompiler lainnya. Ini juga populer dengan IDE: salah satu Visual Studio pertama dibangun menggunakan Visual Studio yang sama.