Basa pamrograman fungsional nyaéta paradigma pamrograman anu nekenkeun panggunaan "fungsi murni" - fungsi anu henteu ngagaduhan efek samping sareng salawasna balikkeun kaluaran anu sami pikeun input anu dibéré. Aranjeunna ngandelkeun fungsi matématis, rékrési sareng ungkapan tibatan pernyataan sareng paréntah imperatif. Basa pamrograman fungsional dirancang pikeun mempermudah alesan ngeunaan kode sareng pikeun nyingkahan bug anu tiasa disababkeun ku parobihan dina kaayaan program. Sabalikna, basa pamrograman imperatif dumasar kana ideu masihan komputer sakumpulan paréntah "imperatif" pikeun dieksekusi, sapertos tugas sareng loop. Basa ieu sering ngandelkeun panggunaan variabel sareng kaayaan anu tiasa dirobah, anu tiasa ngajantenkeun langkung sesah pikeun ngémutan kode sareng tiasa nyababkeun kasalahan anu disababkeun ku parobihan anu teu kaduga dina kaayaan program. Basa data fungsiona béda tina basa
spam