การเขียนโปรแกรมเชิงภาษาคืออะไร?

Language-oriented programming (LOP) เป็นภาษาการเขียนโปรแกรมชนิดหนึ่งที่ผู้ใช้กำหนดขึ้นอยู่กับโดเมนที่ใช้ในการเขียนโปรแกรม โดเมนมีความสำคัญในการกำหนดการเขียนโปรแกรมภาษาดังนั้นจะต้องมีการระบุไว้โดยเฉพาะเมื่อผู้ใช้เริ่มใช้ภาษานี้ โดยปกติแล้ว LOP จะขึ้นอยู่กับภาษาการเขียนโปรแกรมที่มีขนาดใหญ่กว่า แต่ก็ไม่ได้เป็นเช่นนั้นเสมอไป ลพบุรีถูกสร้างขึ้นมาโดยเฉพาะสำหรับโดเมนและมีพื้นที่ที่ปรับแต่งได้มากมายดังนั้นภาษานี้มักจะไม่ดีเมื่อปรับขนาดสำหรับปัญหาใหญ่และซับซ้อน ก่อนที่ภาษานี้จะใช้งานได้ผู้ใช้จะต้องกำหนดและรวบรวมภาษาด้วยตนเอง

ในแง่กว้างภาษาการเขียนโปรแกรมสามารถแยกออกเป็นภาษาเฉพาะโดเมนหรือภาษาทั่วไป การเขียนโปรแกรมเชิงภาษาเป็นของอดีตซึ่งหมายถึงว่าจะต้องระบุสำหรับโดเมนที่แน่นอน โดเมนนี้หมายถึงโปรแกรมที่จะใช้และประเภทของปัญหาที่ภาษาจะใช้งานและแก้ไข แม้ว่าสิ่งนี้จะไม่สามารถใช้งานได้หลากหลายเหมือนกับภาษาทั่วไป แต่ก็มักจะทำให้การเขียนโปรแกรมง่ายขึ้นเพื่อให้สมบูรณ์

ภาษาโปรแกรมเชิงภาษาส่วนใหญ่นั้นใช้ภาษาโปรแกรมทั่วไปเป็นหลัก นี่เป็นเพราะมันง่ายต่อการสร้างภาษาที่เป็นภาษาอื่นและผู้ใช้ที่คุ้นเคยกับภาษาทั่วไปควรเริ่มต้นด้วย LOP ได้ง่ายขึ้น ความแตกต่างหลักระหว่าง LOP และภาษาทั่วไปดั้งเดิมคือแท็กและหลายแง่มุมของภาษาการเขียนโปรแกรมจะยึดตามแท็กที่ผู้ใช้ระบุว่าเขาต้องการใช้โดยปรับภาษาให้ตรงตามข้อกำหนดของผู้ใช้

การมีโดเมนเฉพาะและอิงตามสเปคของผู้ใช้มีข้อดีหลายประการ แต่ข้อเสียอย่างหนึ่งของระบบนี้คือการขาดการปรับขนาด เมื่อพูดถึงปัญหาที่มีขนาดเล็กการเขียนโปรแกรมเชิงภาษาจะไม่มีปัญหาในการทำงานและแก้ไขปัญหา ในเวลาเดียวกันปัญหาใหญ่มักจะเข้มข้นกว่าภาษานี้สามารถจัดการและมักจะดีกว่าที่จะติดกับภาษาทั่วไปที่มีขนาดใหญ่กว่าถ้าจำเป็นต้องปรับขนาด

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