ฉันมีความสุขกับคำตอบของ Adrej แต่ฉันต้องการเจาะลึกลงไปอีก
เริ่มต้นด้วยความหมายเชิง Denotationalต้องการพูดอะไรบางอย่างเช่น "ความหมายของสัญลักษณ์นี้คือ" นัก semanticist ตัวจริงต้องการจินตนาการว่าความหมายคือสิ่งที่มีอยู่ในใจของเราและสัญลักษณ์เป็นเพียงวิธีในการแสดงความหมายเหล่านั้น ความต้องการที่ความหมายเชิง Denotational ควรจะเป็นแบบองค์ประกอบต่อจากนี้ หากความหมายเป็นหลักและสัญลักษณ์รองเราก็ไม่มีทางเลือกนอกจากต้องนิยามความหมายของสัญลักษณ์ที่ใหญ่กว่าว่าเป็นฟังก์ชันของความหมายขององค์ประกอบนั้น ๆ
ถ้าเรายอมรับมุมมองนี้ความหมายเชิงลบที่ดีนั้นจำเป็นต้องรวบรวมความหมายที่เราเข้าใจว่าเรามีอยู่ในใจ ความหมายของการแต่งเพลงใด ๆ อาจไม่เหมาะสมกับการเรียกเก็บเงิน หากฉันเกิดความหมายเชิงความหมายประกอบขึ้นและไม่มีใครเห็นพ้องว่ามันหมายถึงความหมายใด ๆ ที่พวกเขามีอยู่ในหัว ความหมายของเกมในปัจจุบันอยู่ในสถานการณ์นี้ มันเป็นคำจำกัดความเกี่ยวกับการแต่งเพลงและมีความแข็งแกร่งทางเทคนิค แต่มีเพียงไม่กี่คนที่เห็นด้วยว่ามันเกี่ยวข้องกับความหมายที่มีอยู่ในใจ
ที่กล่าวว่าคำนิยามองค์ประกอบใด ๆมีข้อได้เปรียบทางเทคนิคต่างๆ เราสามารถใช้มันเพื่อตรวจสอบความเท่าเทียมกันหรือคุณสมบัติอื่น ๆ โดยการเหนี่ยวนำในไวยากรณ์ของคำ เราสามารถใช้มันเพื่อตรวจสอบความสมบูรณ์ของระบบพิสูจน์อีกครั้งโดยอุปนัยในไวยากรณ์ของคำศัพท์ เราสามารถตรวจสอบความถูกต้องของคอมไพเลอร์หรือเทคนิคการวิเคราะห์โปรแกรม (ซึ่งโดยธรรมชาติแล้วจะถูกกำหนดโดยการเหนี่ยวนำในไวยากรณ์) นิยามความหมายเชิงนามธรรมอย่างสมบูรณ์มีข้อได้เปรียบทางเทคนิคมากยิ่งขึ้น คุณสามารถใช้มันเพื่อแสดงว่าสองโปรแกรมไม่เทียบเท่ากันซึ่งคุณไม่สามารถทำอะไรกับซีแมนทิกต์แบบกำหนดเองใด ๆ คำจำกัดความความหมายที่นิยามได้อย่างสมบูรณ์นั้นดียิ่งขึ้น ที่นี่โดเมนความหมายมีสิ่งที่คุณสามารถแสดงในภาษาการเขียนโปรแกรม (มีบางจังหวัด) ดังนั้นคุณสามารถระบุค่าในโดเมนเพื่อดูว่ามีค่าใดบ้างซึ่งยากที่จะทำกับสัญลักษณ์ทางไวยากรณ์ ในพื้นที่เหล่านี้ความหมายของเกมทำคะแนนเก่ง
อย่างไรก็ตามคำจำกัดความเชิงความหมายประกอบได้สูญเสียขอบของพวกเขามากกว่าปีที่ผ่านมา Robin Milner และ Andy Pitts ได้พัฒนาเทคนิค "การใช้เหตุผลเชิงเหตุผล " จำนวนหนึ่งซึ่งทำงานกับไวยากรณ์อย่างหมดจด แต่ใช้ความหมายเชิงปฏิบัติการในทุกที่ที่จำเป็นสำหรับการพูดคุยเกี่ยวกับพฤติกรรม เทคนิคการให้เหตุผลเชิงปฏิบัติการเหล่านี้เป็นเทคโนโลยีขั้นต่ำ ไม่มีคณิตศาสตร์แฟนซี ไม่มีวัตถุไม่มีที่สิ้นสุด เราสามารถสอนพวกเขาให้กับนักศึกษาระดับปริญญาตรีและทุกคนสามารถใช้พวกเขาได้ ดังนั้นหลายคนถามคำถามว่าทำไมเราถึงต้องการความหมายเชิง Denotational (Martin Berger น่าจะอยู่ในค่ายนี้)
โดยส่วนตัวฉันไม่มีปัญหากับการมีเครื่องมือมากมายในกล่องเครื่องมือของฉัน เทคนิค Denotational อาจให้คะแนนดีกว่าสำหรับปัญหาบางอย่างและเทคนิคการดำเนินงานสำหรับผู้อื่น นักวิจัยที่พัฒนาทฤษฏีนั้นอาจปรับวิธีการให้ดีขึ้นกว่าวิธีใดวิธีหนึ่ง บ่อยครั้งที่เราสามารถพัฒนาข้อมูลเชิงลึกในแนวทางหนึ่งและโอนข้อมูลเชิงลึกเหล่านั้นไปยังแนวทางอื่น (งานของ Andy Pitts จำนวนมากเป็นแบบนี้ Parametricity เชิงสัมพันธ์ได้รับการพัฒนาในการตั้งค่า denotational แต่เขาสามารถที่จะหาวิธีการย้ำว่ามันเป็นเหตุผลการปฏิบัติงานเมื่อฉันดูมันฉันพูดว่า "ว้าวฉันจะไม่เคย คิดว่าน่าจะเป็นไปได้” การแยกลอจิกก็เป็นไปในลักษณะนี้สตีฟบรูกส์ให้การพิสูจน์ความแข็งแรง 60 หน้าสำหรับการแยกลอจิคัลพร้อมกันโดยใช้ซีแมนทิกส์แบบ denotational
แนวทางการดำเนินงานยังทำคะแนนได้อย่างยอดเยี่ยมเมื่อภาษาการเขียนโปรแกรมมีความเป็นแฟนซีมากโดยมีลำดับที่สูงกว่าทุกประเภท เราอาจไม่รู้ว่าจะจำลองสิ่งต่าง ๆ ทางคณิตศาสตร์อย่างไร หรือแบบจำลองทางคณิตศาสตร์มาตรฐานอาจกลายเป็นไม่สอดคล้องกันภายใต้ความเครียดของความวนซ้ำ (ตัวอย่างเช่นดู "Polymorphism ไม่ใช่ set-theoretic" โดย Reynolds.) วิธีการดำเนินงานที่ทำงานอย่างหมดจดในไวยากรณ์นั้นสามารถแก้ไขปัญหาทางคณิตศาสตร์เหล่านี้ได้อย่างเรียบร้อย
วิธีการที่เป็นสื่อกลางระหว่างแนวทางการดำเนินงานและ denotational ก็คือเข้าใจได้ แทนที่จะทำงานร่วมกับคำศัพท์เชิงประโยคในแนวทางการดำเนินงานเรากลับไปใช้วิธีการปฏิเสธโดยใช้ตัวแทนทางคณิตศาสตร์รูปแบบอื่น ตัวแทนเหล่านี้อาจไม่ถือว่าเป็น "ความหมาย" denotational จริง ๆ แต่อย่างน้อยพวกเขาก็จะเป็นนามธรรมมากกว่าคำศัพท์ ตัวอย่างเช่นสำหรับแคลคูลัส polymorphic lambda เราสามารถให้ความหมายกับคำที่ไม่พิมพ์ (ในรูปแบบของแคลคูลัสแลมบ์ดาที่ไม่มีการพิมพ์) และจากนั้นใช้พวกเขาเป็นตัวแทน ('realizers') เพื่อทำรูปแบบบางอย่างของ ระดับนามธรรมมากขึ้น
ดังนั้นให้มีการแข่งขันที่ดีระหว่างแนวทางการปฏิบัติงานและแนวทางปฏิบัติ ไม่มีอันตรายใด ๆ
ในทางกลับกันอาจมีการแข่งขันที่ "ไม่แข็งแรง" เพิ่มขึ้นระหว่างแนวทางที่แตกต่างกัน คนที่ทำงานด้วยวิธีการหนึ่งอาจจะแต่งงานกันอย่างใกล้ชิดมากจนพวกเขาอาจไม่เห็นประเด็นของวิธีการอื่น เป็นการดีที่เราทุกคนควรตระหนักถึงจุดแข็งและจุดอ่อนของวิธีการที่แตกต่างกันและพัฒนาทัศนคติทางวิทยาศาสตร์ที่มีต่อพวกเขาแม้ว่าพวกเขาจะไม่ได้เป็นคนโปรดของเรา