การเขียนโปรแกรมเชิงฟังก์ชันหรือที่รู้จักในชื่อ FP คือกระบวนทัศน์การเขียนโปรแกรมที่มีพื้นฐานมาจากแนวทางเชิงประกาศและทางคณิตศาสตร์ในการคำนวณและการเขียนโปรแกรม การเขียนโปรแกรมเชิงฟังก์ชันแตกต่างจากการเขียนโปรแกรมเชิงความจำเป็นในแนวทางการแก้ปัญหา ซึ่งเน้นการประเมินนิพจน์มากกว่าการดำเนินการตามคำสั่ง
การเขียนโปรแกรมเชิงฟังก์ชันมีพื้นฐานมาจากแนวคิดในการแสดงงานต่างๆ ในรูปของฟังก์ชันทางคณิตศาสตร์ ซึ่งสามารถประกอบขึ้นในลักษณะที่ประกาศได้ ซึ่งหมายความว่าแทนที่จะให้คำแนะนำในการคำนวณ โปรแกรมเมอร์จะระบุคุณสมบัติของการคำนวณในระดับที่สูงกว่า ด้วยเหตุนี้ การประเมินนิพจน์และการแทนข้อมูลในภาษาเชิงฟังก์ชันมักจะได้รับการประเมินในระดับนามธรรมที่สูงกว่า ซึ่งช่วยให้มีวิธีการเขียนโปรแกรมที่รัดกุมและมีประสิทธิภาพมากขึ้น
การเขียนโปรแกรมเชิงฟังก์ชันมักจะประกอบด้วยชุดของฟังก์ชันที่สามารถประกอบเป็นโปรแกรมเชิงฟังก์ชันได้ คุณสมบัติทั่วไปของภาษาโปรแกรมเชิงฟังก์ชัน ได้แก่ การใช้ตัวแปร ฟังก์ชัน และชนิดข้อมูล ตัวแปรจะถือเป็นชิ้นส่วนข้อมูลที่โปรแกรมสามารถอ่านและเขียนได้ ฟังก์ชันคือส่วนของโค้ดที่รับอาร์กิวเมนต์ตั้งแต่หนึ่งอาร์กิวเมนต์ขึ้นไปและส่งกลับค่าตั้งแต่หนึ่งค่าขึ้นไป ชนิดข้อมูลเป็นโครงสร้างที่ใช้เพื่อแสดงข้อมูล
ภาษาโปรแกรมเชิงฟังก์ชันมักใช้ในการประมวลผลประสิทธิภาพสูง เนื่องจากช่วยให้สามารถแสดงโซลูชันที่มีประสิทธิภาพได้ในระยะเวลาอันสั้นและมีการดำเนินการน้อยลง นอกจากนี้ เนื่องจากลักษณะการประกาศ แอปพลิเคชันที่เขียนด้วยภาษาโปรแกรมเชิงฟังก์ชันมักจะมีโอกาสน้อยที่จะเกิดข้อผิดพลาดที่เกิดจากการยักยอกข้อมูล ดังนั้นจึงเชื่อถือได้มากกว่า
ภาษาโปรแกรมเชิงฟังก์ชันได้รับความนิยมเพิ่มมากขึ้นในช่วงไม่กี่ปีที่ผ่านมา โดยมีการใช้ภาษาต่างๆ เช่น Haskell, OCaml และ F# สำหรับแอปพลิเคชันจำนวนมาก มักใช้เมื่อพยายามแก้ไขปัญหาที่ซับซ้อน เนื่องจากรูปแบบการประกาศช่วยให้เขียนวิธีแก้ปัญหาได้กระชับและมีประสิทธิภาพ