Apa perbedaan antara makro dan skrip?

10

Bukankah keduanya hanya seperangkat instruksi yang dijalankan oleh beberapa penerjemah? (bertentangan dengan program penuh, yang berjalan (dijalankan) di beberapa sistem komputer?

Feora Quora
sumber

Jawaban:

10

Pada dasarnya perbedaannya hanya satu derajat. Sebuah skrip cenderung lebih banyak didefinisikan secara formal, dengan bahasa skrip yang terdefinisi dengan baik di belakangnya, sementara makro biasanya adalah sesuatu yang lebih sederhana dan ad-hoc. Makro sering "direkam" dengan memberi tahu program "menonton semua yang saya lakukan" dan kemudian melakukan tindakan, sedangkan skrip umumnya dimasukkan sebagai teks dalam bahasa skrip.

Mason Wheeler
sumber
4
Kecuali OP bertanya tentang makro seperti makro preprocessor C atau makro LISP.
FrustratedWithFormsDesigner
1
@ Frustasi: Ya, tapi dari konteksnya sepertinya bukan itu yang dia tanyakan.
Mason Wheeler
7

Makro tersedia dalam berbagai rasa.

Jenis aslinya adalah macro dalam bahasa assembly, di mana sekelompok instruksi dapat dinamai dan setiap kali nama digunakan instruksi diganti dengan nama.

C dan C ++ juga memiliki makro yang berfungsi seperti ini.

Tetapi seperti kebanyakan hal di TI, mengapa memiliki satu istilah atau satu makna ketika kita dapat membuat hal-hal lebih membingungkan? Jadi beberapa lingkungan (dimulai dengan MS Word, saya percaya) memperkenalkan "makro" yang merupakan serangkaian tindakan yang direkam.

Jadi ada dua macam makro. Yang pertama diganti untuk nama dan kemudian dikompilasi. Yang kedua biasanya ditafsirkan pada saat runtime oleh lingkungan.

andy256
sumber
4

Makro

Penggunaan umum makro adalah dalam aplikasi perangkat lunak, dan mereka berasal sebagai alat untuk memetakan input pengguna ke serangkaian output pengguna yang berbeda. The key aspek sini adalah perubahan pengguna input / output pada tingkat aplikasi. Karena input pengguna cenderung terkait dengan keyboard, mouse, dan perangkat lainnya. Output yang diubah oleh makro sering direkam sebelumnya oleh salah satu perangkat tersebut. Ada juga makro yang dapat ditulis oleh pengguna tetapi tujuannya sering untuk menghasilkan output yang diinginkan.

Naskah

Jika makro adalah untuk output aplikasi, maka skrip adalah untuk otomatisasi aplikasi . Script sering merupakan aplikasi bahasa pemrograman khusus yang mengotomatiskan tugas-tugas untuk pengguna. Kuncinya di sini adalah peran pengguna sebagai pemrogram, dan fakta bahwa pengguna bukan pemrogram. Jika Anda mengategorikan bahasa skrip sebagai bahasa yang tidak dikompilasi, diuraikan dan mudah digunakan, maka ada banyak bahasa yang sesuai dengan persyaratan tersebut. Saya berpendapat bahwa bahasa scripting adalah yang paling mudah bagi pengguna aplikasi untuk mengotomatisasi perangkat lunak dengan pengetahuan pemrograman paling sedikit. Begitulah cara mereka harus dikategorikan sebagai skrip. Apa pun yang membutuhkan pengetahuan khusus di luar domain aplikasi hanyalah alat pemrograman.

Reactgular
sumber