Sebuah program disiapkan dengan terlebih dahulu merumuskan tugas dan kemudian mengekspresikannya dalam bahasa komputer yang sesuai, mungkin yang cocok untuk aplikasi tersebut. Spesifikasi yang diberikan diterjemahkan, biasanya dalam beberapa tahap, ke dalam program berkode yang dapat dieksekusi langsung oleh komputer tempat tugas dijalankan.