Assembler vs Interpreter
Secara umum, kompiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke 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 Majelis. Namun, ada kompiler yang dapat mengonversi program sumber yang ditulis dalam bahasa Assembly dan mengubahnya menjadi kode mesin atau kode objek. Perakit adalah alat seperti itu. Di sisi lain, Penerjemah adalah alat yang mengeksekusi instruksi yang ditulis dalam beberapa bahasa pemrograman. Interpreter dapat secara langsung mengeksekusi kode sumber tingkat tinggi atau menerjemahkannya ke kode perantara dan kemudian menafsirkannya atau mengeksekusi kode yang sudah dikompilasi.
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. Assembly 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). Perakit tingkat lanjut menyediakan fitur tambahan yang mendukung pengembangan program dan proses debugging. Misalnya, jenis perakit yang disebut perakit makro menyediakan fasilitas makro.
Apa itu Penerjemah?
Interpreter adalah program komputer atau alat yang mengeksekusi instruksi pemrograman. Seorang juru bahasa dapat mengeksekusi kode sumber secara langsung atau mengubah sumber menjadi kode perantara dan mengeksekusi secara langsung atau mengeksekusi kode yang sudah dikompilasi yang dihasilkan oleh kompiler (beberapa sistem interpreter menyertakan kompiler untuk tugas ini). Bahasa seperti Perl, Python, MATLAB dan Ruby adalah contoh bahasa pemrograman yang menggunakan kode perantara. UCSD Pascal mengartikan kode yang sudah dikompilasi. Bahasa seperti Java, BASIC dan Samlltalk pertama-tama mengkompilasi sumber ke kode perantara yang disebut bytecode dan kemudian menafsirkannya.
Apa perbedaan antara Assembler dan Interpreter?
Assembler dapat dianggap sebagai jenis kompiler khusus, yang hanya menerjemahkan bahasa Assembly ke kode mesin. Penerjemah adalah alat yang menjalankan instruksi yang ditulis dalam beberapa bahasa. Sistem juru bahasa dapat menyertakan kompiler untuk pra-kompilasi kode sebelum interpretasi, tetapi seorang juru bahasa tidak dapat disebut tipe khusus dari kompiler. Assembler menghasilkan kode objek, yang mungkin harus ditautkan menggunakan program tautan agar dapat dijalankan pada mesin, tetapi sebagian besar penerjemah dapat menyelesaikan eksekusi program sendiri. Assembler biasanya akan melakukan terjemahan satu ke satu, tetapi ini tidak berlaku untuk sebagian besar penerjemah. Karena bahasa Assembly memiliki pemetaan satu ke satu dengan kode mesin, assembler dapat digunakan untuk menghasilkan kode yang berjalan sangat efisien untuk acara-acara di mana kinerja sangat penting (untuk mesin grafis misalnya, sistem tertanam dengan sumber daya perangkat keras yang terbatas dibandingkan dengan komputer pribadi seperti gelombang mikro, mesin cuci, dll.). Di sisi lain, interpreter digunakan ketika Anda membutuhkan portabilitas tinggi. Misalnya, bytecode Java yang sama dapat dijalankan pada platform yang berbeda dengan menggunakan interpreter yang sesuai (JVM).