ผลต่างระหว่างรุ่นของ "การเขียนโปรแกรมเชิงฟังก์ชัน"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Veer66 (คุย | ส่วนร่วม)
ลบเศษที่แปลเกิน
Vee (คุย | ส่วนร่วม)
แปลเพิ่มจากภาษาอังกฤษ
บรรทัด 1:
ใน[[วิทยาการคอมพิวเตอร์]] '''การเขียนโปรแกรมเชิงฟังก์ชัน'''เป็นกระบวนทัศน์การเขียนโปรแกรมที่รูปแบบการสร้างโครงสร้างและส่วนประกอบของโปรแกรมคอมพิวเตอร์ซึ่งปฏิบัติต่อการคำนวณว่าเป็นการประเมินผล[[ฟังก์ชันทางคณิตศาสตร์]]และหลีกเลี่ยงการเปลี่ยนแปลง[[สถานะ]]และข้อมูล[[ที่เปลี่ยนแปลงได้]]
โดยเป็นกระบวนทัศน์การเขียนโปรแกรมเชิงประกาศซึ่งหมายความว่าการเขียนโปรแกรมทำได้โดย[[นิพจน์]]<ref name="expression style">{{cite web|url=https://wiki.haskell.org/Declaration_vs._expression_style#Expression_style|title=Declaration vs. expression style - HaskellWiki|publisher=}}</ref>หรือการประกาศ<ref name="declaration style">{{cite web|url=https://wiki.haskell.org/Declaration_vs._expression_style#Declaration_style|title=Declaration vs. expression style - HaskellWiki|publisher=}}</ref>แทนข้อความสั่ง ในโปรแกรมเชิงฟังก์ชัน ค่าผลลัพธ์ของฟังก์ชันขึ้นอยู่กับ[ อาร์กิวเมนต์]ที่นำเข้าสู่ฟังก์ชันเท่านั้น ดังนั้นการเรียกฟังก์ชัน f สองครั้งด้วยค่าอาร์กิวเมนต์ x เดียวกันจะให้ค่าผลลัพธ์ f(x) เท่ากันทุกครั้ง การกำจัดผลข้างเคียง ได้แก่ การเปลี่ยนแปลงสถานะที่ไม่ขึ้นกับสิ่งที่นำเข้าฟังก์ชัน สามารถทำให้ง่ายขึ้นที่จะทำความเข้าใจและพยากรณ์พฤฒิกรรมของโปรแกรมซึ่งเป็นหนึ่งในแรงจูงใจของการพัฒนาของการเขียนโปรแกรมเชิงฟังก์ชัน
 
การเขียนโปรแกรมเชิงฟังก์ชันมีรากฐานมาจาก[[แคลคูลัสแลมบ์ดา]]ซึ่งเป็น[[ระบบรูปนัย]]ที่พัฒนาในคริสต์ทศวรรษ 1930 เพื่อค้นหาความจริงเกี่ยวกับ[[ความคำนวณได้]] [[Entscheidungsproblem]] นิยามของฟังก์ชัน การประยุกต์ฟังก์ชัน และ[[การเวียนเกิด|การเรียกซ้ำ]] ภาษาเขียนโปรแกรมเชิงฟังก์ชันหลายภาษาสามารถมองว่าเป็นการใส่รายละเอียดเพิ่มจากแคลคูลัสแลมบ์ดา กระบวนทัศน์การเขียนโปรแกรมเชิงประกาศที่เป็นที่รู้จักอื่น ๆ ''[[การเขียนโปรแกรมเชิงตรรกะ]]'' มีพื้นฐานอยู่บน[[ความสัมพันธ์เชิงตรรกะ]]<ref name="hudak1989">{{cite journal | last = Hudak | first = Paul | authorlink = Paul Hudak | title = Conception, evolution, and application of functional programming languages | journal = [[Association for Computing Machinery|ACM]] Computing Surveys|volume=21|issue=3 | pages = 359–411 |date=September 1989 | url = http://www.dbnet.ece.ntua.gr/~adamo/languages/books/p359-hudak.pdf|format=PDF|doi=10.1145/72551.72554 }}</ref>
 
== อ้างอิง ==