Debugging: -Pemrogram komputer, seperti orang lain, tidaklah sempurna. Ini berarti program yang mereka tulis terkadang memiliki kesalahan kecil, yang disebut “bug”, di dalamnya. Bug ini bisa kecil, seperti tidak mengenali masukan pengguna, atau lebih serius, seperti kebocoran memori yang menyebabkan crash pada program. Sebelum merilis perangkat lunaknya ke publik, pemrogram “men-debug” program mereka, menghilangkan sebanyak mungkin kesalahan. Proses debugging ini seringkali memakan waktu lama, karena memperbaiki beberapa kesalahan mungkin menimbulkan kesalahan lainnya.
Kompilasi: -Ketika pemrogram membuat program perangkat lunak, pertama-tama mereka menulis program tersebut dalam kode sumber, yang ditulis dalam bahasa pemrograman tertentu, seperti C atau Java. File kode sumber ini disimpan dalam format berbasis teks yang dapat dibaca manusia, yang dapat dibuka dan diedit oleh pemrogram. Namun, kode sumbernya tidak dapat dijalankan langsung oleh komputer. Agar kode dapat dipahami oleh CPU komputer, kode tersebut harus dikompilasi menjadi program yang dapat dieksekusi.
Sebagian besar program pengembangan perangkat lunak menyertakan kompiler, yang mengkompilasi file kode sumber menjadi kode mesin. Kode ini, terkadang disebut sebagai kode objek, dapat dieksekusi langsung oleh prosesor komputer. Oleh karena itu, aplikasi yang dihasilkan sering disebut sebagai file yang dapat dieksekusi. File yang dapat dieksekusi Windows memiliki ekstensi file .EXE, sedangkan program Mac OS X memiliki ekstensi .APP, yang sering kali tersembunyi.
Jadi kesimpulannya adalah program yang dikompilasi mungkin memiliki kesalahan atau bug tetapi program yang tidak berhasil di-debug tidak akan memiliki kesalahan atau bug.
Jadi untuk program yang sempurna, Anda perlu men-debug dan mengkompilasi suatu program