Pemrograman non prosedural adalah paradigma pemrograman yang tidak memerlukan penulisan logika tradisional. Bahasa non prosedural seperti Prolog menentukan 'apa yang akan diselesaikan' daripada 'bagaimana' seperti bahasa prosedural. Prolog populer untuk sistem pakar dan pengenalan pola karena mampu menggunakan penalaran untuk menyelesaikan masalah.