โลโก้
ยูเนี่ยนพีเดีย
การสื่อสาร
ดาวน์โหลดได้จาก Google Play
ใหม่! ดาวน์โหลด ยูเนี่ยนพีเดีย บน Android ™ของคุณ!
ติดตั้ง
เร็วกว่าเบราว์เซอร์!
 

การเขียนโปรแกรมเชิงฟังก์ชันและภาษาซีพลัสพลัส

ทางลัด: ความแตกต่างความคล้ายคลึงกันค่าสัมประสิทธิ์การเปรียบเทียบ Jaccardการอ้างอิง

ความแตกต่างระหว่าง การเขียนโปรแกรมเชิงฟังก์ชันและภาษาซีพลัสพลัส

การเขียนโปรแกรมเชิงฟังก์ชัน vs. ภาษาซีพลัสพลัส

ในวิทยาการคอมพิวเตอร์ การเขียนโปรแกรมเชิงฟังก์ชันเป็นกระบวนทัศน์การเขียนโปรแกรมที่รูปแบบการสร้างโครงสร้างและส่วนประกอบของโปรแกรมคอมพิวเตอร์ซึ่งปฏิบัติต่อการคำนวณว่าเป็นการประเมินผลฟังก์ชันทางคณิตศาสตร์และหลีกเลี่ยงการเปลี่ยนแปลงสถานะและข้อมูลที่เปลี่ยนแปลงได้ โดยเป็นกระบวนทัศน์การเขียนโปรแกรมเชิงประกาศซึ่งหมายความหรือการประกาศแทนข้อความสั่ง ในโปรแกรมเชิงฟังก์ชัน ค่าผลลัพธ์ของฟังก์ชันขึ้นอยู่กับที่นำเข้าสู่ฟังก์ชันเท่านั้น ดังนั้นการเรียกฟังก์ชัน f สองครั้งด้วยค่าอาร์กิวเมนต์ x เดียวกันจะให้ค่าผลลัพธ์ f(x) เท่ากันทุกครั้ง การกำจัดผลข้างเคียง ได้แก่ การเปลี่ยนแปลงสถานะที่ไม่ขึ้นกับสิ่งที่นำเข้าฟังก์ชัน สามารถทำให้ง่ายขึ้นที่จะทำความเข้าใจและพยากรณ์พฤฒิกรรมของโปรแกรมซึ่งเป็นหนึ่งในแรงจูงใจของการพัฒนาของการเขียนโปรแกรมเชิงฟังก์ชัน การเขียนโปรแกรมเชิงฟังก์ชันมีรากฐานมาจากแคลคูลัสแลมบ์ดาซึ่งเป็นระบบรูปนัยที่พัฒนาในคริสต์ทศวรรษ 1930 เพื่อค้นEntscheidungsproblem นิยามของฟังก์ชัน การประยุกต์ฟังก์ชัน และการเรียกซ้ำ ภาษาการใส่รายละเอียดเพิ่มจากแคลคูลัสแลมบ์ดา กระบวนทัศน์การเขียนโปรแกรมเชิงประกาศที่เป็นที่รู้จักอื่น ๆ การเขียนโปรแกรมเชิงตรรกะ มีพื้นฐานอยู่บนความสัมพันธ์เชิงตรรกะ ในกลับโปรแกรมเชิงคำสั่งเปลี่ยนสถานะด้วยคำสั่งในภาษาต้นทาง ตัวอย่างที่ง่ายที่สุดคือการกำหนดค่า การเขียนโปรแกรมเชิงคำสั่งไม่มีฟังก์ชันในความหมายแบบคณิตศาสตร์แต่มีในความหมายแบบซับรูทีน ซึ่งมีผลข้างเคียงที่อาจะเปลี่ยนค่าของสถานะของโปรแกรมได้ ฟังก์ชันที่ไม่คืนค่าจึงสมเหตุสมผลเพราะขาดความโปร่งใสในการอ้างอิง ได้แก่นิพจน์เดียวกันทางภาษาสามารถให้ผลลัพธ์ที่มีค่าต่างกันได้ในเวลาที่ต่างกันขึ้นกับสถานะของโปรแกรมที่กำลังกระทำการ ภาษาโปรแกรมเชิงฟังก์ชันโดยเฉพาะภาษาโปรแกรมเชิงฟังก์ชันบริสุทธิ เช่น ภาษาโฮปถูกในความสำคัญในวงการวิชาการมากกว่าในการพัฒนาซอฟต์แวร์เชิงพาณิชย์ อย่างไรก็ตามภาษาโปรแกรมที่มีชื่อเสียงซึ่งสนับสนุนการเขียนโปรแกรมเชิงฟังก์ชัน เช่น ภาษาคอมมอนลิสป์ ภาษา Scheme ภาษา Clojure ภาษา Wolfram (หรือ ภาษา Mathematica) ภาษา Racket ภาษาเออร์แลง ภาษา OCaml ภาษา Haskell และภาษาเอฟชาร์ป ใช้ในโปรแกรมประยุกต์เชิงอุตสาหกรรมและเชิงพาณิชย์โดยองค์กรอย่างกว้างขวาง การเขียนโปรแกรมเชิงฟังก์ชันยังได้รับการรองรับในภาษาเขียนโปรแกรมเฉพาะทางบางภาษา เช่น ภาษาอาร์ (สถิติ) ภาษาเจ ภาษาเค และภาษาคิวจาก Kx Systems (การวิเคราะห์ทางการคลัง) XQuery/XSLT (เอกซ์เอ็มแอล) และภาษาโอปอล ภาษาเชิงประกาศเฉพาะทางที่ใช้งานอย่างกว้างขวางเช่น ภาษาสอบถามเชิงโครงสร้าง และ Lex/Yacc ใช้บางส่วนประกอบของการเขียนโปรแกรมเชิงฟังก์ชันโดยเฉพาะใน eschewing วัตถุที่เปลี่ยนแปลงได้. ษาซีพลัสพลัส (C++) เป็นภาษาโปรแกรมคอมพิวเตอร์อเนกประสงค์ มีโครงสร้างภาษาที่มีการจัดชนิดข้อมูลแบบสแตติก (statically typed) และสนับสนุนรูปแบบการเขียนโปรแกรมที่หลากหลาย (multi-paradigm language) ได้แก่ การโปรแกรมเชิงกระบวนคำสั่ง, การนิยามข้อมูล, การโปรแกรมเชิงวัตถุ, และการโปรแกรมแบบเจเนริก (generic programming) ภาษาซีพลัสพลัสเป็นภาษาโปรแกรมเชิงพาณิชย์ที่นิยมมากภาษาหนึ่งนับตั้งแต่ช่วงทศวรรษ 1990 เบียเนอ สเดราสดร็อบ (Bjarne Stroustrup) จากเบลล์แล็บส์ (Bell Labs) เป็นผู้พัฒนาภาษาซีพลัสพลัส (เดิมใช้ชื่อ "C with classes") ในปี ค.ศ. 1983 เพื่อพัฒนาภาษาซีดั้งเดิม สิ่งที่พัฒนาขึ้นเพิ่มเติมนั้นเริ่มจากการเพิ่มเติมการสร้างคลาสจากนั้นก็เพิ่มคุณสมบัติต่างๆ ตามมา ได้แก่ เวอร์ชวลฟังก์ชัน การโอเวอร์โหลดโอเปอเรเตอร์ การสืบทอดหลายสาย เทมเพลต และการจัดการเอกเซพชัน มาตรฐานของภาษาซีพลัสพลัสได้รับการรับรองในปี ค.ศ. 1998 เป็นมาตรฐาน ISO/IEC 14882:1998 เวอร์ชันล่าสุดคือเวอร์ชันในปี ค.ศ. 2014 ซึ่งเป็นมาตรฐาน ISO/IEC 14882:2014 (รู้จักกันในชื่อ C++14).

ความคล้ายคลึงกันระหว่าง การเขียนโปรแกรมเชิงฟังก์ชันและภาษาซีพลัสพลัส

การเขียนโปรแกรมเชิงฟังก์ชันและภาษาซีพลัสพลัส มี 0 สิ่งที่เหมือนกัน (ใน ยูเนี่ยนพีเดีย)

รายการด้านบนตอบคำถามต่อไปนี้

การเปรียบเทียบระหว่าง การเขียนโปรแกรมเชิงฟังก์ชันและภาษาซีพลัสพลัส

การเขียนโปรแกรมเชิงฟังก์ชัน มี 19 ความสัมพันธ์ขณะที่ ภาษาซีพลัสพลัส มี 11 ขณะที่พวกเขามีเหมือนกัน 0, ดัชนี Jaccard คือ 0.00% = 0 / (19 + 11)

การอ้างอิง

บทความนี้แสดงความสัมพันธ์ระหว่าง การเขียนโปรแกรมเชิงฟังก์ชันและภาษาซีพลัสพลัส หากต้องการเข้าถึงบทความแต่ละบทความที่ได้รับการรวบรวมข้อมูลโปรดไปที่:

Hey! เราอยู่ใน Facebook ตอนนี้! »