Programme in Non-Procedurale Language (NPL) werden nicht in traditioneller Programmschreibweise mit einzelnen Programmierschritten geschrieben, sondern sie definieren die Eingangsbedingungen und das erwartete Ergebnis.
Die NPL- Programmiersprache wird auch als deklarative Programmierung bezeichnet. Das Programm selbst sucht mit Hilfe verschiedener Algorithmen nach einem passenden Lösungsweg.
Die nicht-prozedurale Programmierung wird u.a. in Abfragesprachen, interaktiven Datenbankprogrammen, in der Tabellenkalkulation und in der Generierung von Anwendungen eingesetzt.