Apa itu Bahasa Menengah?

Dalam pemrograman komputer, ketika kode sumber yang dapat dibaca manusia diuraikan oleh kompiler, kompiler sering menerjemahkan perintah sumber ke dalam urutan instruksi yang bukan kode mesin asli tetapi dapat diproses lebih lanjut, dioptimalkan atau dikompilasi oleh kompiler atau perangkat lunak lain peralatan. File yang dihasilkan berisi instruksi yang dikatakan dalam bahasa perantara, karena bahasa yang digunakan oleh kompilator tidak berarti untuk sistem operasi yang lebih besar atau bahasa yang digunakan oleh programmer untuk menulis kode di tempat pertama, tetapi sebaliknya. adalah bahasa yang bertindak sebagai jembatan antara penulisan dan eksekusi program. Bahasa perantara kadang-kadang digunakan untuk memungkinkan kompiler membuat optimasi yang sangat tepat sehingga program berjalan lebih efisien, tetapi juga dapat digunakan untuk menghasilkan file keluaran yang portabel di antara sistem yang berbeda dan tidak kompatibel. Sintaks sebenarnya dari bahasa tersebut dapat menyerupai kode mesin atau jenis lain dari bytecode yang tidak dapat dibaca manusia, atau bahasa tersebut dapat berupa bahasa pemrograman komputer lintas platform yang ada.

Ketika digunakan untuk optimasi kompiler, kompiler bahasa mengambil setiap pernyataan dalam file kode sumber dan memecah perintah ke dalam bahasa perantara. Satu pernyataan pemrograman yang dapat dibaca manusia dapat dipecah menjadi lusinan instruksi bahasa mesin, sehingga bahasa perantara menciptakan tingkat abstraksi yang dapat digunakan oleh kompiler untuk mengidentifikasi area kode tempat pengoptimalan dapat dilakukan tanpa terlebih dahulu harus mengikat kode ke implementasi atau pustaka asli apa pun. Setelah selesai, file kode perantara kemudian dapat dikompilasi lebih lanjut untuk membuat file biner asli, atau dapat dijalankan melalui program lain, yang dikenal sebagai interpreter, yang akan mengeksekusi kode dengan mengompilasinya menjadi instruksi asli sesuai kebutuhan.

Beberapa bahasa, seperti Java®, menggunakan bahasa perantara untuk membuat file terkompilasi yang dioptimalkan tetapi juga portabel untuk sistem komputer lain. Jenis kode ini kadang-kadang dikenal sebagai bytecode dan menyerupai kode mesin atau bahasa rakitan. Bytecode disimpan dalam file dengan cara yang tidak bergantung pada platform, artinya dapat ditransfer ke sistem komputer atau perangkat apa pun yang dapat menjalankan penerjemah. Setelah bytecode berada di sistem, itu dapat dijalankan sebagai program yang ditafsirkan atau dapat dikompilasi untuk dijalankan secara asli pada sistem target.

Dalam beberapa kasus, bahasa komputer dirancang untuk memudahkan pemrograman ke tujuan tertentu, seperti aplikasi web interaktif, tetapi perancang tidak ingin menyertakan kompiler, juru bahasa, atau plug-in khusus untuk sistem yang berbeda. Dalam kasus ini, bahasa perantara kompiler dapat berupa bahasa yang sudah ada yang telah memiliki penerjemah lintas platform. Bahasa perantara yang dihasilkan dalam hal ini dapat dibaca manusia. Salah satu contoh bahasa pemrograman komputer yang juga digunakan sebagai bahasa perantara adalah JavaScript®, yang memiliki keunggulan karena dapat berjalan di hampir semua browser web pada platform apa pun, mulai tahun 2011.