Debugging: – Pemrogram komputer, seperti orang lain, tidak sempurna. Ini berarti program yang mereka tulis terkadang memiliki kesalahan kecil, yang disebut “bug”, di dalamnya. Bug ini bisa kecil, seperti tidak mengenali input pengguna, atau lebih serius, seperti kebocoran memori yang merusak program. Sebelum merilis perangkat lunak mereka ke publik, pemrogram “men-debug” program mereka, menghilangkan kesalahan sebanyak mungkin. Proses debug ini sering kali memakan waktu lama, karena memperbaiki beberapa kesalahan dapat menyebabkan kesalahan lainnya.
Kompilasi: -Ketika pemrogram membuat program perangkat lunak, pertama-tama mereka menulis program 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 sumber 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 seringkali tersembunyi.
Jadi kesimpulannya adalah program yang dikompilasi mungkin memiliki kesalahan atau bug tetapi program yang tidak berhasil di-debug tidak dapat memilikinya.
Jadi untuk program yang sempurna Anda perlu men-debug dan mengkompilasi sebuah program