ฉันคิดว่าคุณถูกต้องแล้ว รันไทม์ภาษานั้นเป็นระบบที่ขับเคลื่อนด้วยข้อมูลอย่างยืดหยุ่นอยู่แล้ว ใช้ข้อมูลหนึ่งชิ้น (โปรแกรม) และใช้เพื่อกำหนดว่าควรทำอย่างไรกับข้อมูลอื่น มันอาจมีรูปแบบผู้ใช้หลายคนในการจัดเก็บรหัสเพื่อใช้งานซ้ำโดยโปรแกรมอื่น ๆ (ตั้งแต่พา ธ รวมถึงการจัดการการติดตั้งที่เหมาะสม)
"ภาษาสคริปต์" โดยประมาณเป็นภาษารันไทม์ซึ่งการป้อนรหัสนี้สามารถอ่านได้โดยมนุษย์ คอมไพเลอร์วางขั้นตอนพิเศษระหว่างผู้ใช้และรันไทม์ ภาษา "Joke" อย่าง Malbolge และ APLไม่จำเป็นต้องเป็นมนุษย์ที่อ่านได้ในทุกรูปแบบ แต่มันก็เป็นสิ่งเดียวกันในระดับหนึ่งและมนุษย์ที่อ่านได้ไม่ได้หมายความว่าผู้ใช้ที่มีศักยภาพทุกคนมีทักษะในการอ่านหรือเขียนหรือคาดว่าจะสามารถพัฒนาพวกเขาได้
มีเหตุผลที่ดีว่าทำไมคุณไม่เปิดเผยภาษารันไทม์โดยตรงกับผู้ใช้ สิ่งสำคัญประการหนึ่งคือการขจัดความยืดหยุ่นจะเพิ่มความสะดวกสบาย
ถ้าฉันต้องการพิมพ์โพสต์ SO ฉันแค่ต้องการพิมพ์ ฉันสามารถเขียนโปรแกรม C ++ แทนผลลัพธ์ได้ แต่ฉันจะไม่ใช้เว็บเบราว์เซอร์ที่สัมผัสกับโปรแกรมแก้ไข C ++ แทนกล่องข้อความปกติ ผู้ที่ไม่ทราบว่า C ++ ไม่เพียง แต่จะไม่ใช้เบราว์เซอร์เท่านั้น แต่พวกเขาไม่สามารถทำได้
หากฉันต้องการกำหนดค่าพารามิเตอร์ทางธุรกิจบางอย่างฉันไม่จำเป็นต้องทำเช่นนั้นโดยใช้ภาษาสเปคที่ทำให้เสร็จสมบูรณ์ของทัวริงและแม้ว่าฉันจะทำเช่นนี้ก็อาจจะไม่แยกความแตกต่างจาก "hard-coding" เหล่านั้น ภาษา. คุณยังต้องพิจารณาว่าสิ่งที่คุณเขียนหมายถึงสิ่งที่คุณต้องการที่จะหมายถึง คุณยังต้องทดสอบว่าการเปลี่ยนแปลงนั้นถูกต้อง นั่นคือคุณยังคงต้องทักษะการเขียนโปรแกรมสำหรับงานใด ๆ ที่ไม่น่ารำคาญและไม่ได้คาดการณ์ไว้โดยคนที่ไม่ได้มีทักษะการเขียนโปรแกรมที่เตรียมเฉพาะระบบย่อย ( "โปรแกรม") สำหรับคุณที่จะกำหนดค่า ( "ใช้")
ดังนั้นหากคุณกำลังจะเริ่มดำเนินการในระบบที่ขับเคลื่อนด้วยข้อมูล 100% ซึ่งสามารถทำอะไรก็ได้ที่ให้ข้อมูลที่ถูกต้องคุณมีสองคำถามที่จะถามตัวเอง:
- เราอยู่ในธุรกิจการประดิษฐ์ภาษาโปรแกรมหรือเราควรจะเป็น?
- ภาษาการเขียนโปรแกรมใหม่ของเราจะดีกว่า (สำหรับวัตถุประสงค์ของเรา) กว่าภาษาที่เรามีอยู่แล้วและเราจะสนับสนุนและพัฒนาตามที่ต้องการหรือไม่?
บางครั้งคำตอบคือใช่และคุณเขียนภาษาเฉพาะโดเมนบางชนิด หรือแม้แต่ภาษาการเขียนโปรแกรมสำหรับวัตถุประสงค์ทั่วไปหากคุณเป็น Sun / Microsoft / Stroustrup / van Rossum / อื่น ๆ อีกมากมาย บางครั้งคำตอบคือไม่และคุณมีเอฟเฟ็กต์ "แพลตฟอร์มภายใน" - หลังจากความพยายามและการทดลองและข้อผิดพลาดมากมายคุณก็จบลงด้วยบางสิ่ง หากคุณโชคดีมันด้อยกว่าภาษาการเขียนโปรแกรมเพียงเล็กน้อยเท่านั้นและใช้งานง่ายกว่า
ภาษาบางภาษาใช้งานยากกว่าหรือง่ายกว่าโดยเฉพาะอย่างยิ่งหากพวกเขามีความเชี่ยวชาญเฉพาะทางเช่นอาร์ดังนั้นผู้ใช้บางคนจะพบว่าพวกเขาง่ายกว่ามาก สิ่งที่คุณอาจจะไม่ทำคือทำให้การใช้งานทั่วไปเป็นเรื่องง่ายขึ้น ในช่วงเวลาหนึ่งอาจมีหลายคน / องค์กรในโลกที่มีศักยภาพที่จะทำเช่นนั้น แต่เจ้านาย / บริษัท ของคุณจะต้องพิจารณาด้วยความซื่อสัตย์ว่ามีเขา / คุณอยู่หรือไม่
มีเคล็ดลับที่ใช้บ่อยสำหรับเกมซึ่งเป็นการเปิดเผยการผูก Lua กับเอ็นจิ้นเกม สิ่งนี้ช่วยให้นักออกแบบสามารถเขียนโปรแกรมในภาษาที่ค่อนข้างง่าย แต่ก็ยังมีส่วนร่วมกับโปรแกรมเมอร์ "ของจริง" ที่จำเป็นสำหรับการทำงานหรือเข้าถึงฟังก์ชั่นการทำงานเฉพาะของเครื่องยนต์หรือแพลตฟอร์ม สคริปต์ Lua ที่ได้นั้นเป็น "ข้อมูล" ตราบเท่าที่เอ็นจิ้นเกี่ยวข้อง พวกเขาไม่จำเป็นต้องรวมสิ่งที่คุณเรียกว่า "ลอจิก" ตรงข้ามกับข้อมูลการตั้งค่าทั้งหมดและบ่อยครั้งที่พวกเขาค่อนข้างกำหนดพล็อตและสภาพแวดล้อมทั้งหมด แต่ไม่ใช่การเล่นเกมทั้งหมด นี่ไม่ใช่การขับเคลื่อนข้อมูล 100% และแน่นอนว่าไม่ใช่ข้อผิดพลาด 100% แต่เป็นการประนีประนอมในทางปฏิบัติที่น่าสนใจ