Assembler vs Interpreter
Secara umum compiler adalah program komputer yang membaca suatu program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke dalam bahasa lain, yang disebut bahasa target. Secara tradisional, bahasa sumber adalah bahasa tingkat tinggi seperti C ++ dan bahasa target adalah bahasa tingkat rendah seperti bahasa Assembly. Namun, ada kompiler yang dapat mengubah program sumber yang ditulis dalam bahasa Assembly dan mengubahnya menjadi kode mesin atau kode objek. Perakit adalah alat seperti itu. Di sisi lain, Interpreter adalah alat yang menjalankan instruksi yang ditulis dalam beberapa bahasa pemrograman. Penerjemah dapat langsung mengeksekusi kode sumber tingkat tinggi atau menerjemahkannya ke kode perantara dan kemudian menafsirkannya atau mengeksekusi kode yang telah dikompilasi sebelumnya.
Apa itu Assembler?
Assembler adalah perangkat lunak atau alat yang menerjemahkan bahasa Assembly ke kode mesin. Jadi, assembler adalah jenis kompiler dan kode sumbernya ditulis dalam bahasa Assembly. Rakitan adalah bahasa yang dapat dibaca manusia tetapi biasanya memiliki hubungan satu lawan satu dengan kode mesin yang sesuai. Oleh karena itu assembler dikatakan melakukan terjemahan isomorfik (pemetaan satu ke satu). Assembler tingkat lanjut menyediakan fitur tambahan yang mendukung pengembangan program dan proses debugging. Misalnya, tipe assembler yang disebut macro assembler menyediakan fasilitas makro.
Apa itu Juru Bahasa?
Seorang juru bahasa adalah program komputer atau alat yang menjalankan instruksi pemrograman. Seorang juru bahasa dapat mengeksekusi kode sumber secara langsung atau mengubah sumber menjadi kode perantara dan mengeksekusinya secara langsung atau mengeksekusi kode yang telah dikompilasi yang dihasilkan oleh kompilator (beberapa sistem penerjemah menyertakan kompiler untuk tugas ini). Bahasa seperti Perl, Python, MATLAB dan Ruby adalah contoh bahasa pemrograman yang menggunakan kode perantara. UCSD Pascal menafsirkan kode yang telah dikompilasi sebelumnya. Bahasa seperti Java, BASIC dan Samlltalk pertama-tama mengkompilasi sumber menjadi kode perantara yang disebut bytecode dan kemudian menafsirkannya.
Apa perbedaan antara Assembler dan Interpreter?
Assembler dapat dianggap sebagai tipe compiler khusus, yang hanya menerjemahkan bahasa Assembly menjadi kode mesin. Penerjemah adalah alat yang menjalankan instruksi yang ditulis dalam beberapa bahasa. Sistem interpreter dapat menyertakan kompiler untuk mengkompilasi kode sebelum interpretasi, tetapi interpreter tidak dapat disebut tipe khusus dari kompilator. Assembler menghasilkan kode objek, yang mungkin harus ditautkan menggunakan program linker agar dapat berjalan di mesin, tetapi kebanyakan interpreter dapat menyelesaikan eksekusi program sendiri. Assembler biasanya akan melakukan terjemahan satu ke satu, tetapi ini tidak berlaku untuk kebanyakan interpreter. Karena bahasa Assembly memiliki pemetaan satu ke satu dengan kode mesin, assembler dapat digunakan untuk menghasilkan kode yang berjalan sangat efisien pada saat-saat di mana kinerja sangat penting (misalnya mesin grafis,sistem tertanam dengan sumber daya perangkat keras terbatas dibandingkan dengan komputer pribadi seperti microwave, mesin cuci, dll.). Di sisi lain, interpreter digunakan saat Anda membutuhkan portabilitas tinggi. Misalnya, bytecode Java yang sama dapat dijalankan pada platform yang berbeda menggunakan interpreter yang sesuai (JVM).