พลังความหมายถูกกำหนดโดย Wikipedia ในฐานะ:
มาอ่านหน้านี้กันใหม่ หนึ่งในสิ่งแรกที่ควรทราบก็คือมันบอกว่า "ภาษา" ไม่ใช่ "ภาษาโปรแกรม" และตัวอย่างส่วนใหญ่ไม่ใช่ภาษาโปรแกรมเช่นตัวอย่างแรกที่กำหนดคือการเปรียบเทียบ OWL2 EL และ OWL2 RL ซึ่งเป็นทั้งภววิทยา ภาษา
เราสามารถนำแนวคิดนี้ไปใช้กับภาษาการเขียนโปรแกรม แต่ยังรวมถึงการจับคู่รูปแบบภาษามาร์กอัปภาษาคิวรีแลงก์สไตล์ชีทภาพการแสดงออกปกติ (และภาษาปกติทั้งหมดที่อ้างถึง) และอื่น ๆ เราสามารถอ้างถึงพลังที่แสดงออกของภาษาธรรมชาติเช่นภาษาอังกฤษซึ่งมักทำอย่างไม่เป็นทางการ แต่มีความจริงจังมากกว่าเมื่อพิจารณาปัญหาที่เกี่ยวข้องกับการประมวลผลภาษาธรรมชาติ
"ความคิด" หมายถึงสิ่งต่าง ๆ (การดำเนินงานโครงสร้างอัลกอริธึม ฯลฯ ) เราสามารถสื่อสารกับเครื่องได้หรือไม่? หรือมันอ้างถึงแนวคิด "มนุษย์" ที่สามารถบันทึกและสื่อสารกับภาษากับคนอื่น ๆ ?
มันหมายถึงสิ่งที่สามารถแสดงในภาษานั้นถือว่าเป็นสิ่งในตัวเองอย่างหมดจด
ตัวอย่างเช่น (ฉันจะใช้จาวาสคริปต์สำหรับตัวอย่างของฉันเพราะคำถามของคุณระบุว่าเป็นหนึ่งในภาษาที่คุณรู้จัก) พิจารณาคำสั่งจาวาสคริปต์:
var x = 3 + 4;
นี่แสดงว่าผลรวมของ 3 และ 4 ถูกคำนวณและค่าที่เชื่อมโยงกับเลเบลx
ภายในขอบเขตเนมสเปซที่กำหนด
หากเราทำลายคอมพิวเตอร์ทุกเครื่องในโลกและเขียนรหัสนั้นลงบนกระดาษมันจะคงอยู่ในจาวาสคริปต์มันยังคงมีความหมายเดียวกัน เราจะไม่สามารถเรียกใช้โค้ดดังกล่าวกับสิ่งใด ๆ ได้ แต่ความหมายเชิงนามธรรมของภาษานั้นยังคงเป็นสิ่งที่เราสามารถพูดได้
สิ่งนี้อาจดูเชื่องช้า แต่จริงๆแล้วมันค่อนข้างสำคัญว่าภาษาเป็นสิ่งที่สามารถให้เหตุผลได้ในนามธรรมโดยไม่คำนึงถึงคอมพิวเตอร์จริง สำหรับสิ่งหนึ่งที่ผู้คนให้เหตุผลเกี่ยวกับประเด็นทางทฤษฎีของภาษาคอมพิวเตอร์ที่ยังไม่เป็นไปได้ในการปฏิบัติเป็นหนึ่งในสิ่งที่ทำให้เราไปถึงที่ที่เราอยู่ในวันนี้; คอมพิวเตอร์ต้องการวิทยาการคอมพิวเตอร์ แต่วิทยาศาสตร์คอมพิวเตอร์ไม่ต้องการคอมพิวเตอร์เพียงแค่แนวคิดของการคำนวณ
แน่นอนว่าเราใช้คอมพิวเตอร์ในโลกแห่งความเป็นจริงและในทุกวันนี้มีผู้คนจำนวนมากที่ใช้คอมพิวเตอร์เหล่านั้นในทางปฏิบัติแทนที่จะเป็นผู้เชี่ยวชาญเพียงไม่กี่คนที่พูดถึงพวกเขาในทางทฤษฎี หน้าที่คุณลิงก์เพื่อพูดว่า:
คำว่าพลังความหมายอาจใช้กับความหมายที่หลากหลาย อาจหมายถึงการวัดความคิดที่แสดงออกในภาษานั้น:
ความรู้สึกแรกครอบงำในพื้นที่ของคณิตศาสตร์และตรรกะที่จัดการกับคำอธิบายอย่างเป็นทางการของภาษาและความหมายของพวกเขาเช่นทฤษฎีภาษาอย่างเป็นทางการตรรกะทางคณิตศาสตร์และพีชคณิตกระบวนการ
ในการอภิปรายอย่างไม่เป็นทางการคำมักหมายถึงความหมายที่สองหรือทั้งสองอย่าง กรณีนี้มักเกิดขึ้นเมื่อพูดถึงภาษาการเขียนโปรแกรม มีการพยายามทำอย่างเป็นทางการในการใช้คำศัพท์
ของทั้งสองใช้คำว่าเป็นครั้งแรกที่เป็นผลกระทบในทางปฏิบัติที่เกี่ยวข้องแต่เพียงผู้เดียวกับสิ่งที่สามารถถ่ายทอดไปยังเครื่องคอมพิวเตอร์
เรื่องที่สองเกี่ยวข้องกับความเข้าใจของมนุษย์มากขึ้นทั้งในด้านการอ่านและการเขียนแม้ว่าระดับที่เป็นเช่นนั้นจะแตกต่างกันมากระหว่างการใช้งานเนื่องจากเป็นแบบไม่เป็นทางการและไม่ได้กำหนดไว้อย่างชัดเจน
ตัวอย่างเช่นหากเราใช้ภาษาเช่น JavaScript และกำหนดข้อ จำกัด แปลก ๆ เกี่ยวกับชื่อตัวแปรเช่นตัวแปรต้องเป็นตัวเลข 8 หลักที่นำหน้าด้วยขีดล่างการจับคู่/^_[0-9]{8}$/
เราจะสูญเสียพลังในการแสดงออกหรือไม่?
ตามคำจำกัดความอย่างเป็นทางการเราไม่สูญเสียพลังในการแสดงออก: เราถูก จำกัด ไว้ที่ 100,000,000 ตัวแปร แต่ถ้าเราต้องการจริงๆเราสามารถหลีกเลี่ยงสิ่งนี้ได้โดยการสร้างวัตถุเพื่อเก็บตัวแปรเพิ่มเติมภายในเนมสเปซที่สร้างขึ้นใหม่ เช่นโปรแกรมใด ๆ ที่เขียนด้วย javascript วันนี้อาจถูกเขียนใหม่ในรูปแบบใหม่นี้ดังนั้นพวกเขาจึงแสดงออกอย่างเท่าเทียมกัน
ตามคำนิยามที่ไม่เป็นทางการเราได้สูญเสียบ้าง แต่ขึ้นอยู่กับว่าเราเป็นทางการมากแค่ไหนซึ่งจะแตกต่างกันไปเพราะคุณไม่สามารถพูดได้ว่า "กฎ" เกี่ยวกับการใช้งานแบบไม่เป็นทางการคืออะไร เราอาจบอกว่าเราสูญเสียเงินเพียงเล็กน้อยเนื่องจากโปรแกรมที่มีตัวแปรมากกว่า 100,000,000 รายการในเนมสเปซเดียวกันจะต้องถูกเขียนใหม่นอกเหนือจากการทดแทนอย่างง่าย การใช้งานอย่างไม่เป็นทางการมากขึ้นอีกครั้งจะหมายถึงผลกระทบทางจิตใจของชื่อตัวแปรที่ไม่ได้กล่าวถึงต่อมนุษย์อย่างครอบคลุม
นอกจากนี้ยังเป็นที่น่าสังเกตว่าผู้คนจะพิจารณาสิ่งต่าง ๆ ที่ไม่ได้เป็นส่วนหนึ่งของภาษาอย่างไม่เป็นทางการ พิจารณาการเปลี่ยนแปลงใน Javascript ตั้งแต่สร้างจนถึงปัจจุบัน
ตามคำนิยามที่เป็นทางการมากที่สุดมีการเปลี่ยนแปลงในเรื่องความหมาย มันเป็นทัวริงที่สมบูรณ์ในการเริ่มต้นด้วยหลังจากทั้งหมด
โดยคำจำกัดความที่ไม่เป็นทางการมากขึ้นมันมีความหมายมากขึ้นในบางสิ่งเช่นการปรับเปลี่ยนอาเรย์การจัดการข้อยกเว้นและ (อาจจะมากที่สุด) ในการรวมของนิพจน์ทั่วไป สิ่งเหล่านี้ไม่ได้ทำอะไรที่ไม่สามารถทำได้ใน javascript มาก่อนแม้ว่าพวกเขาจะสามารถทำอะไรบางอย่างในสองสามบรรทัดและเวลาในการประมวลผลย่อยที่จะใช้รหัสกิโลไบต์ในการเขียนใน javascript1.0 และใช้เวลานาน
ตามคำนิยามที่ไม่เป็นทางการมากกว่านี้อีกครั้งการเปลี่ยนแปลงจากการใช้งานครั้งแรกของ javascript ในเบราว์เซอร์ (สามารถเปลี่ยนค่าของรูปแบบการป้อนข้อมูลได้document.write
ในขณะที่หน้าถูกแยกวิเคราะห์เป็นครั้งแรกและย้ายไปยังตำแหน่งใหม่หรือย้อนกลับหรือไปข้างหน้าในประวัติศาสตร์ จนถึงทุกวันนี้ (ไม่สามารถเปลี่ยนแปลงอะไรก็ได้บนหน้าเว็บรวมถึงบนพื้นฐานของข้อมูลจากการโทรศัพท์ผ่านเซิร์ฟเวอร์) นั้นมีขนาดใหญ่มากแม้ว่าส่วนใหญ่จะไม่เกี่ยวข้องกับจาวาสคริปต์ แต่เป็นรุ่นวัตถุและ API ที่สร้างขึ้น มีให้มากกว่าภาษา (เช่น vbscript ใน IE ได้รับประโยชน์จากการเปลี่ยนแปลงเหล่านั้นเท่า ๆ กัน)
ในใจของฉันการใช้งานครั้งสุดท้ายนั้นไม่เป็นทางการเท่าที่ควรจะไม่ถูกต้อง แต่นั่นเป็นปัญหาของคำจำกัดความที่ไม่เป็นทางการ
จากการ จำกัด อย่างเป็นทางการจริงๆแล้วมันไม่ได้แสดงออกมากขึ้นเลย