อ่าน 2 นาที
แคลร์ (ภาษาโปรแกรม)
Claire เป็น ภาษาโปรแกรมเชิงฟังก์ชันและเชิงวัตถุ ระดับสูงที่มี ความสามารถ ในการประมวลผลกฎเกณฑ์ได้รับการออกแบบโดย Yves Caseau ที่ ห้องปฏิบัติการวิจัย e-Lab ของ...
แคลร์ (ภาษาโปรแกรม)
| แคลร์ | |
|---|---|
| กระบวนทัศน์ | หลายกระบวนทัศน์ : ฟังก์ชัน , เชิงวัตถุ ( แบบคลาส ), การประมวลผลกฎ , การสะท้อนกลับ |
| ออกแบบโดย | อีฟส์ กาโซ |
| ปรากฏครั้งแรก | พ.ศ. 2537 |
| เวอร์ชันเสถียร | 3.3.46 / 17 กุมภาพันธ์ 2552 |
| วินัยในการพิมพ์ | แข็งแกร่งทั้งในด้านสถิตและพลวัต |
| โอเอส | ข้ามแพลตฟอร์ม |
| ใบอนุญาต | อะปาเช่ 2.0 |
| นามสกุลไฟล์ | .cl |
| เว็บไซต์ | www.claire-language.com |
| การนำไปใช้งานหลักๆ | |
| แคลร์ ( ตัวอย่างการใช้งาน ), เว็บแคลร์ | |
| ได้รับอิทธิพลจาก | |
| Smalltalk , SETL , OPS5 , Lisp , ML , C , ตำนาน, LAURE | |
Claire เป็น ภาษาโปรแกรมเชิงฟังก์ชันและเชิงวัตถุ ระดับสูงที่มี ความสามารถ ในการประมวลผลกฎเกณฑ์ได้รับการออกแบบโดย Yves Caseau ที่ ห้องปฏิบัติการวิจัย e-Lab ของ Bouyguesและได้รับการกำหนดนิยามขั้นสุดท้ายในปี 2547
แคลร์ให้ข้อมูลดังนี้:
- ระบบวัตถุอย่างง่ายที่มีคลาสและเมธอดแบบพาราเมตริก
- การเขียนโปรแกรมเชิงฟังก์ชันแบบโพลีมอร์ฟิกและพาราเมตริก
- กฎการผลิตที่ถูกกระตุ้นโดยเหตุการณ์ต่างๆ
- ภาพรวมสถานะของระบบทั้งหมดหรือบางส่วนที่บันทึกเป็นเวอร์ชัน ช่วยให้สามารถย้อนกลับและสำรวจพื้นที่การค้นหา ได้อย่างง่ายดาย
- ความสัมพันธ์ที่ชัดเจนระหว่างเอนทิตี ตัวอย่างเช่น เอนทิตีสองอย่างอาจถูกประกาศว่าเป็นส่วนกลับของกันและกัน
- เซตชั้นหนึ่ง ที่มี ไวยากรณ์ที่สะดวกสำหรับการเขียนโปรแกรมเชิงเซต
- ระบบประเภทข้อมูลแบบเซตที่แสดงออกได้อย่างชัดเจน ช่วยให้สามารถกำหนดประเภทข้อมูลได้ ทั้ง แบบคงที่และแบบไดนามิกในระดับที่สอง
การใช้งานอ้างอิงของ Claire ซึ่งประกอบด้วยตัวแปลภาษาและตัวคอมไพเลอร์ ได้ถูกเปิดเผยเป็นโอเพนซอร์ส อย่างสมบูรณ์ พร้อมกับการเปิดตัวเวอร์ชัน 3.3.46 ในเดือนกุมภาพันธ์ 2552 ส่วนการใช้งานอีกแบบหนึ่งคือ WebClaire นั้นได้รับการสนับสนุนในเชิงพาณิชย์
ตั้งแต่ปี 2022 เป็นต้นมา Claire มีเวอร์ชันอ้างอิงใหม่คือ CLAIRE4 ซึ่งเขียนด้วยภาษา Goมีเว็บไซต์ใหม่พร้อมเอกสารประกอบและตัวอย่าง รวมถึงที่เก็บซอร์สโค้ดแบบโอเพนซอร์สบน Github ด้วย
ภาพรวม
Claire เป็นภาษาโปรแกรมอเนกประสงค์เหมาะที่สุดสำหรับซอฟต์แวร์แอปพลิเคชัน ที่ต้องการ การสร้างแบบจำลองข้อมูลที่ซับซ้อนการประมวลผลกฎ หรือการแก้ปัญหา WebClaire เพิ่มส่วนขยายเพื่อการบูรณาการที่สมบูรณ์ยิ่งขึ้นกับระบบปฏิบัติการและสำหรับการเขียนโปรแกรมเว็บแอปพลิ เค ชัน
แม้ว่า Claire จะสามารถใช้สำหรับโครงการแบบครบวงจรได้ แต่ก็ได้รับการออกแบบมาให้ทำงานร่วมกับC++ , JavaหรือGoได้ อย่างราบรื่น
คุณลักษณะสำคัญที่ทำให้ Claire แตกต่างจากภาษาโปรแกรมอื่นๆ นั้น มาจากประสบการณ์ในการแก้ปัญหาการเพิ่มประสิทธิภาพที่ซับซ้อน คุณลักษณะสองประการที่ไม่พบในภาษาโปรแกรมแบบผสมผสานระหว่างฟังก์ชันและเชิงวัตถุ เช่นOCaml , ScalaและF#คือการกำหนดเวอร์ชันและกฎการผลิต
เวอร์ชันต่างๆ สามารถมองได้ว่าเป็นชุดภาพรวมของส่วนใดส่วนหนึ่งของระบบ ซึ่งสามารถสร้างให้มีขนาดใหญ่ (เพื่อการแสดงออก) หรือขนาดเล็ก (เพื่อประสิทธิภาพ) ได้ตามต้องการ การสร้างและการย้อนกลับเวอร์ชันช่วยให้สามารถย้อนรอยได้เช่นเดียวกับที่พบในการเขียนโปรแกรมเชิงตรรกะแม้ว่าการย้อนรอยของแคลร์อาจครอบคลุมโครงสร้างใดๆ ที่ผู้ใช้กำหนดเองได้ แทนที่จะเป็นเพียงชุดตัวแปรเชิงตรรกะเท่านั้น
กฎการผลิตใน Claire ประกอบด้วยเหตุการณ์ เงื่อนไข และการตอบสนองที่จะถูกประเมินหากเงื่อนไขนั้นเป็นจริง เหตุการณ์อาจเป็นการเปลี่ยนแปลงใดๆ ในสล็อตของวัตถุหรือการสร้างอินสแตนซ์ของคลาส และการตอบสนองอาจก่อให้เกิดเหตุการณ์อื่นๆ ต่อไปได้ กฎการผลิตดังกล่าวมีประโยชน์อย่างยิ่งในการอธิบายอัลกอริทึมแบบตอบสนอง เช่น อัลกอริทึมสำหรับการแพร่กระจาย ข้อจำกัด
Claire ถูกสร้างขึ้นเพื่อสืบทอดต่อจาก LAURE ซึ่งเป็นภาษาที่มีความสามารถในการแสดงออกสูงแต่ซับซ้อน ออกแบบโดย Caseau ในช่วงทศวรรษ 1980 โดยผสมผสานแนวคิดหลายอย่างเข้าด้วยกัน Claire มีจุดประสงค์เพื่อให้เรียนรู้ได้ง่ายกว่ารุ่นก่อนหน้า และไม่ทำให้ประสิทธิภาพการทำงานเพิ่มขึ้นเมื่อเทียบกับ C++ ดังนั้นจึงเป็นภาษาที่มีขนาดเล็กกว่ามาก โดยตัดคุณสมบัติบางอย่างออกไป เช่นข้อจำกัดและ กฎ การอนุมานและมีความใกล้เคียงกับภาษา Cทั้งในด้านแนวคิดและไวยากรณ์ ผู้ใช้งานหลักในอุตสาหกรรมคือ กลุ่มบริษัท BouyguesและThalesการเปิดตัว Claire 4 เวอร์ชันใหม่นี้ได้เพิ่มความน่าเชื่อถือ (ด้วยจุดแข็งของ Go ในฐานะภาษาพื้นฐาน) และประสิทธิภาพของคอมไพเลอร์และอินเตอร์พรีเตอร์
ตัวอย่าง
ฟังก์ชันสำหรับคำนวณ เลขลำดับ ฟิโบนาชี่ลำดับที่n :
fib(n:จำนวนเต็ม) : จำนวนเต็ม -> (ถ้า (n < 2) 1 มิฉะนั้น fib(n - 1) + fib(n - 2))
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
- Claire4บนGitHub
- เว็บไซต์เฉพาะสำหรับ Claire4
- เอกสารประกอบ , แคลร์, เว็บแคลร์
- " บทนำสู่ภาษาการเขียนโปรแกรมแคลร์ เวอร์ชัน 3.2 " โดย อีฟส์ เคสโซ และ ฟรองซัวส์ ลาบูร์ธ
- " Claire: การผสมผสานเซต การค้นหา และกฎเกณฑ์เพื่อแสดงอัลกอริทึมได้ดียิ่งขึ้น " โดย Yves Caseau, François-Xavier Josset และ François Laburthe (2002) บทสรุปโดยย่อ 26 หน้า เขียนขึ้นสำหรับกลุ่มผู้อ่านทางวิชาการ พร้อมด้วยเกณฑ์มาตรฐาน