Bahasa rakitan adalah bahasa pemrograman yang dapat digunakan untuk secara langsung memberi tahu komputer apa yang harus dilakukan. Bahasa rakitan hampir persis seperti kode mesin yang dapat dimengerti oleh komputer, kecuali bahwa bahasa rakitan menggunakan kata-kata sebagai pengganti angka. Komputer tidak dapat benar-benar memahami program assembly secara langsung. Namun, komputer dapat dengan mudah mengubah program ke dalam kode mesin dengan mengganti kata-kata dari program dengan angka-angka yang mereka gunakan. Program yang melakukan itu disebut assembler.

Program yang ditulis dalam bahasa assembly biasanya terbuat dari instruksi, yang merupakan tugas-tugas kecil yang dilakukan komputer saat menjalankan program. Disebut instruksi karena programmer menggunakannya untuk menginstruksikan komputer apa yang harus dilakukan. Bagian komputer yang mengikuti instruksi adalah prosesor.

Bahasa rakitan komputer adalah bahasa tingkat rendah, yang berarti bahwa bahasa ini hanya dapat digunakan untuk melakukan tugas-tugas sederhana yang dapat dimengerti komputer secara langsung. Untuk melakukan tugas yang lebih kompleks, seseorang harus memberi tahu komputer setiap tugas sederhana yang merupakan bagian dari tugas kompleks. Misalnya, komputer tidak mengerti bagaimana mencetak kalimat di layarnya. Sebaliknya, sebuah program yang ditulis dalam assembly harus memberitahukan bagaimana melakukan semua langkah kecil yang terlibat dalam pencetakan kalimat.

Program assembly seperti itu akan terdiri dari banyak, banyak instruksi, yang bersama-sama melakukan sesuatu yang tampaknya sangat sederhana dan mendasar bagi manusia. Hal ini menyulitkan manusia untuk membaca program assembly. Sebaliknya, bahasa pemrograman tingkat tinggi mungkin memiliki instruksi tunggal seperti PRINT "Hello, world!" yang akan memerintahkan komputer untuk melakukan semua tugas kecil untuk Anda.