Perbedaan Antara Assembler dan Interpreter

Perbedaan Antara Assembler dan Interpreter
Perbedaan Antara Assembler dan Interpreter

Video: Perbedaan Antara Assembler dan Interpreter

Video: Perbedaan Antara Assembler dan Interpreter
Video: Istilah-istilah Programming Buat Pemula 2024, November
Anonim

Assembler vs Interpreter

Secara umum, compiler adalah program komputer yang membaca 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 mengonversi program sumber yang ditulis dalam bahasa Assembly dan mengubahnya menjadi kode mesin atau kode objek. Assembler adalah alat semacam itu. Di sisi lain, Interpreter adalah alat yang mengeksekusi instruksi yang ditulis dalam beberapa bahasa pemrograman. Interpreter dapat langsung mengeksekusi kode sumber tingkat tinggi atau menerjemahkannya ke kode perantara dan kemudian menafsirkannya atau mengeksekusi kode yang telah dikompilasi.

Apa itu Assembler?

Assembler adalah perangkat lunak atau alat yang menerjemahkan bahasa Majelis ke kode mesin. Jadi, assembler adalah jenis kompiler dan kode sumbernya ditulis dalam bahasa Assembly. Majelis adalah bahasa yang dapat dibaca manusia tetapi biasanya memiliki hubungan satu-ke-satu dengan kode mesin yang sesuai. Oleh karena itu assembler dikatakan melakukan translasi 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 macro.

Apa itu Penerjemah?

Penerjemah 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 sebelumnya yang dihasilkan oleh kompiler (beberapa sistem juru bahasa menyertakan kompiler untuk tugas ini). Bahasa seperti Perl, Python, MATLAB dan Ruby adalah contoh bahasa pemrograman yang menggunakan kode perantara. UCSD Pascal menginterpretasikan kode yang telah 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 tipe compiler khusus, yang hanya menerjemahkan bahasa Assembly ke kode mesin. Interpreter adalah alat yang mengeksekusi instruksi yang ditulis dalam beberapa bahasa. Sistem juru bahasa dapat menyertakan kompiler untuk mengkompilasi kode sebelum interpretasi, tetapi juru bahasa tidak dapat disebut tipe khusus dari kompiler. Assembler menghasilkan kode objek, yang mungkin harus ditautkan menggunakan program penghubung agar dapat dijalankan pada mesin, tetapi sebagian besar penafsir dapat menyelesaikan eksekusi program sendiri. Assembler biasanya akan melakukan terjemahan satu lawan satu, tetapi ini tidak berlaku untuk sebagian besar juru bahasa. 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 (misalnya mesin grafis, sistem tertanam dengan sumber daya perangkat keras yang terbatas dibandingkan dengan komputer pribadi). seperti microwave, mesin cuci, dll.). Di sisi lain, juru bahasa digunakan ketika Anda membutuhkan portabilitas tinggi. Misalnya, bytecode Java yang sama dapat dijalankan pada platform yang berbeda dengan menggunakan interpreter (JVM) yang sesuai.

Direkomendasikan: