Scala เป็นภาษาสำหรับการเขียนโปรแกรมทั่วไป


13

ในบทความ“ การศึกษาเปรียบเทียบเปรียบเทียบเพิ่มเติมของการสนับสนุนภาษาสำหรับการเขียนโปรแกรมทั่วไป” โดย Garcia และคณะ มีการเปรียบเทียบคุณสมบัติภาษาโปรแกรมที่น่าสนใจสำหรับการเขียนโปรแกรมทั่วไป:

ป้อนคำอธิบายรูปภาพที่นี่

ด้วยคำอธิบายสั้น ๆ ของคำศัพท์:

ป้อนคำอธิบายรูปภาพที่นี่

ทุกคนสามารถทดสอบสกาล่าสนับสนุนการเขียนโปรแกรมทั่วไปภายในกรอบนี้ได้หรือไม่ คือเพิ่มคอลัมน์ในตารางแรกพร้อมคำอธิบายถ้าเป็นไปได้


3
โพสต์ใหม่ในวิทยาการคอมพิวเตอร์ โปรดอย่าทำอย่างนั้น หากคุณต้องการย้ายคำถามของคุณไปยังไซต์อื่นที่คุณคิดว่าเหมาะสมกว่าให้ตั้งค่าสถานะสำหรับผู้ดูแลและขอย้ายข้อมูล
กิลส์ 'ทีเราหยุดการชั่วร้าย'

2
คำตอบที่แน่นอนจะได้รับในหน้า 17 ของ " พิมพ์คลาสเป็นวัตถุและนัย " โดย Oliveira et al.
Artem Pelenitsyn

การอ้างอิงมาจาก Twitter หลังจากลิงก์ไปยังคำถาม CS.SE เบต้าที่นั่น ขอบคุณ Miles Sabin (@milessabin บน Twitter) และ Alexey Romanov
Artem Pelenitsyn

ลองดูที่ห้องสมุดที่ไม่มีรูปแบบของ Sabins และแรงจูงใจของเขาที่อยู่เบื้องหลัง te lib ฉันคิดว่าการอ้างอิงเอกสารบางอย่าง
AndreasScheinert

คำตอบ:


7

ดังที่ได้กล่าวไว้ในหนึ่งในความคิดเห็นจาก OP นี่คือตารางที่อธิบายถึงวิธีที่ Scala เปรียบเทียบกับการสนับสนุนการเขียนโปรแกรมทั่วไป ลิงก์ไปยังแหล่ง PDF

ตารางที่มีรายการสกาล่า

ต่อมาจะมีการสรุปต่อไปนี้:

Scala
การใช้รูปแบบ CONCEPT เราสามารถสร้างแนวความคิดหลายประเภทข้อ จำกัด หลายประการและสนับสนุนการสร้างแบบจำลองย้อนหลัง นอกจากนี้การสนับสนุนของ Scala สำหรับ implicits หมายความว่าข้อเสียของโซลูชัน Java และ C # ในแง่ของค่าใช้จ่ายเพิ่มเติมไม่นำไปใช้กับ Scala ดังนั้นสกาล่าทำคะแนนได้ดีทั้งในการลดการโต้แย้งโดยนัยและเกณฑ์การสร้างแบบจำลองย้อนหลัง ส่วนที่ 6 แสดงให้เห็นว่าประเภทที่เกี่ยวข้องได้รับการสนับสนุนใน Scala ผ่านสมาชิกประเภทและประเภทวิธีการที่พึ่งพาและสมาชิกประเภทยังสามารถใช้เป็นนามแฝงประเภท
ดังแสดงในส่วนที่ 3 Scala สนับสนุนโมเดลที่มีขอบเขตที่ จำกัด นอกจากนี้การตรวจสอบประเภทยังเป็นแบบแยกส่วน การจัดลำดับความสำคัญที่ทับซ้อนกันจัดลำดับความสำคัญให้การสนับสนุนบางอย่างสำหรับการโอเวอร์โหลดตามแนวคิดตามที่แสดงโดยzipWithNตัวอย่างในหัวข้อ 6.5 อย่างไรก็ตามรูปแบบที่ทับซ้อนกันจะต้องมีโครงสร้างโดยใช้ลำดับชั้นของการพิมพ์ย่อยซึ่งอาจไม่เป็นที่ต้องการเสมอไป ดังนั้นคะแนนสำหรับคุณลักษณะนี้ก็เพียงพอแล้ว ในที่สุด Scala ได้รับการสนับสนุนอย่างเต็มที่สำหรับฟังก์ชั่นชั้นหนึ่งและยังรองรับข้อ จำกัด ด้านความเท่าเทียมกัน
โดยสรุป Scala กลายเป็นภาษาที่มีการสนับสนุนที่ดีเยี่ยมสำหรับคุณสมบัติการเขียนโปรแกรมทั่วไปจัดการค่าโดยสารในระดับเดียวกันหรือดีกว่าเล็กน้อยกว่า G (ซึ่งได้รับการออกแบบมาเป็นพิเศษสำหรับภาษาโปรแกรมทั่วไปในขนาดใหญ่) หรือ Haskell ( ซึ่งได้รับการยอมรับว่ามีการสนับสนุนที่ดีมากสำหรับการเขียนโปรแกรมทั่วไป)

แล้วในการสรุป:

สมาชิกประเภทและประเภทวิธีการพึ่งพาเพิ่มพลังพิเศษให้กับภาษาและการรวมกันของทั้งสองกลไกช่วยให้ประเภทที่เกี่ยวข้องที่จะแสดง เมื่อรวมกับ implicits สมาชิกประเภทและประเภทเมธอดที่พึ่งพาทำให้ Scala เป็นภาษาที่พร้อมสำหรับการเขียนโปรแกรมทั่วไปในขนาดใหญ่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.