Bilgisayar biliminde fonksiyonel programlama programların fonksiyonları uygulayarak ve oluşturarak yapıldığı bir programlama paradigmasıdır.
Fonksiyon tanımlarının, programın çalışma durumunu güncelleyen bir dizi zorunlu ifade yerine, değerleri diğer değerlerle eşleyen ifade ağaçları olduğu bildirimsel programlama paradigmasıdır.
Fonksiyonel programlamada fonksiyonlar birinci sınıf vatandaşlar olarak ele alınır, yani adlara (yerel tanımlayıcılar dahil) bağlanabilir, bağımsız değişkenler olarak iletilebilir ve tıpkı diğer veri tipleri gibi diğer işlevlerden döndürülebilir. Bu, programların küçük fonksiyonların modüler şekilde birleştirildiği bildirimsel ve birleştirilebilir tarzda yazılmasına imkan verir.
Fonksiyonel programlama, yalnızca fonksiyonların kullanılmasıyla yazılmış programlardır. Fonksiyonel programların tipik özellikleri: