3
การจัดประเภทของระบบพิมพ์ (แข็งแรง / อ่อน, ไดนามิก / คงที่)
กล่าวโดยย่อ: ระบบการจำแนกประเภทเป็นอย่างไรในบริบททางวิชาการ โดยเฉพาะอย่างยิ่งฉันสามารถหาแหล่งที่มีชื่อเสียงที่สร้างความแตกต่างระหว่างระบบประเภทที่แตกต่างกันได้อย่างไร ในความรู้สึกความยากลำบากของคำถามนี้ไม่ใช่ว่าฉันไม่สามารถหาคำตอบได้ แต่ฉันสามารถค้นหาได้มากเกินไปและไม่มีใครโดดเด่นเท่าที่ควร พื้นหลังฉันพยายามปรับปรุงบทความใน Haskell wiki เกี่ยวกับการพิมพ์ซึ่งในปัจจุบันอ้างว่ามีความแตกต่างดังต่อไปนี้: ไม่มีการพิมพ์: ภาษาไม่มีความคิดประเภทหรือจากมุมมองที่พิมพ์: มีประเภทเดียวในภาษา ภาษาแอสเซมบลีมีชนิด 'รูปแบบบิต' เท่านั้น Rexx และ Tk มีเฉพาะชนิด 'ข้อความ' แกน MatLab มีเฉพาะ 'เมทริกซ์ที่ซับซ้อนที่มีมูลค่า' ประเภท การพิมพ์ที่อ่อนแอ: มีประเภทที่แตกต่างเพียงไม่กี่ประเภทและอาจเป็นคำพ้องความหมายสำหรับหลายประเภท เช่น C ใช้ตัวเลขจำนวนเต็มสำหรับ booleans, จำนวนเต็ม, ตัวอักษร, ชุดบิตและการแจกแจง การพิมพ์ที่แข็งแกร่ง: ชุดเม็ดเล็กแบบละเอียดเช่นในภาษา Ada, ภาษา Wirthian (Pascal, Modula-2), Eiffel ทั้งหมดนี้ขัดกับการรับรู้ส่วนบุคคลของฉันซึ่งเป็นไปตาม: การพิมพ์ที่อ่อนแอ: ออบเจ็กต์มีประเภท แต่จะถูกแปลงเป็นประเภทอื่นโดยปริยายเมื่อบริบทต้องการ ยกตัวอย่างเช่น Perl, PHP และ …