Ngôn ngữ miền chuyên biệt

Ngôn ngữ miền chuyên biệt hay ngôn ngữ đặc tả chuyên biệt (tiếng Anh: domain-specific language hay DSL) là một ngôn ngữ máy tính chuyên dùng cho một miền ứng dụng. Điều này trái ngược với Ngôn ngữ đa năng (general-purpose language - GPL), vốn được áp dụng rộng rãi trên các miền. Có rất nhiều loại DSL, trải dài từ các ngôn ngữ được dùng cho miền phổ biến, như HTML cho các trang web, đến các ngôn ngữ chỉ được dùng cho một hoặc một phần của phần mềm, như mã mềm MUSH. DSL có thể được chia nhỏ hơn theo loại ngôn ngữ, và bao gồm ngôn ngữ đánh dấu miền chuyên biệt, ngôn ngữ mô hình miền chuyên biệt (tổng quát hơn, ngôn ngữ đặc tả), và ngôn ngữ lập trình miền chuyên biệt. Ngôn ngữ máy tính có mục đích đặc biệt luôn tồn tại trong thời đại máy tính, nhưng thuật ngữ "ngôn ngữ miền chuyên biệt" trở nên phổ biến do sự gia tăng của mô hình miền chuyên biệt (domain-specific modeling). Các DSL đơn giản hơn, đặc biệt được dùng bởi chỉ một ứng dụng, đôi khi được gọi một cách không chính thức là ngôn ngữ nhỏ (mini-language).

Điểm khác biệt giữa ngôn ngữ đa năng và ngôn ngữ miền chuyên biệt không lúc nào cũng rõ ràng, vì một ngôn ngữ có thể có những tính năng chuyên biệt cho một miền cụ thể nhưng được áp dụng rộng rãi hơn, hoặc ngược lại về nguyên tắc có khả năng áp dụng rộng rãi nhưng thực tế được sử dụng chủ yếu cho một miền cụ thể. Ví dụ như, ban đầu Perl được phát triển như một ngôn ngữ xử lý văn bản và kết dính, cho cùng miền với AWKshell script, nhưng sau đó được dùng như một ngôn ngữ lập trình đa năng. Ngược lại, PostScript là một ngôn ngữ Turing hoàn chỉnh, và trên nguyên tắc có thể dùng cho bất cứ tác vụ nào, nhưng thực tế nó chỉ được dùng như một ngôn ngữ mô tả trang.

Tham khảo

[sửa | sửa mã nguồn]

Đọc thêm

[sửa | sửa mã nguồn]
  • Dunlavey, "Building Better Applications: a Theory of Efficient Software Development" International Thomson Publishing ISBN 0-442-01740-5, 1994.
  • Constance Heitmeyer. Using the SCR Tool-set to Specify Software Requirements. Proceedings, Second IEEE Workshop on Industrial Strength Formal Specification Techniques, Boca Raton, FL, Oct. 19, 1998.
  • Marjan Mernik, Jan Heering, and Anthony M. Sloane. When and how to develop domain-specific languages. ACM Computing Surveys, 37(4):316–344, 2005. doi:10.1145/1118890.1118892
  • Diomidis Spinellis. Notable design patterns for domain specific languages. Journal of Systems and Software, 56(1):91–99, February 2001. doi:10.1016/S0164-1212(00)00089-3
  • Terence Parr. The Definitive ANTLR Reference: Building Domain-Specific Languages. ISBN 978-0-9787392-5-6
  • James Larus. Spending Moore's Dividend. ISSN 0001-0782. Communications of the ACM. Volume 52, Issue 5 (May 2009).
  • Werner Schuster (ngày 15 tháng 6 năm 2007). “What's a Ruby DSL and what isn't?”. C4Media. Truy cập ngày 8 tháng 9 năm 2009.
  • Martin Fowler. Domain Specific Languages. ISBN 978-0-321-71294-3
  • Marco Brambilla, Jordi Cabot, Manuel Wimmer, Model Driven Software Engineering in Practice, foreword by Richard Soley (OMG Chairman), Morgan & Claypool, USA, 2012, Synthesis Lectures on Software Engineering #1. 182 pages. ISBN paperback: 9781608458820, ISBN 9781608458837. http://www.mdse-book.com

Liên kết ngoài

[sửa | sửa mã nguồn]
Articles
Chúng tôi bán
Bài viết liên quan
NFC và những ứng dụng thú vị của nó
NFC và những ứng dụng thú vị của nó
Chúng ta thường quan tâm đến Wifi, Bluetooth, Airdrop mà bỏ qua NFC và những ứng dụng thú vị của nó
KLAUS (2019) - Khi phim hoạt hình không chỉ dành cho trẻ em
KLAUS (2019) - Khi phim hoạt hình không chỉ dành cho trẻ em
Ngay từ đầu mục đích của Jesper chỉ là lợi dụng việc những đứa trẻ luôn thích đồ chơi, dụ dỗ chúng viết thư cho ông già Noel còn mình thì nhanh chóng đạt được mục tiêu bố đề ra và trở lại cuộc sống vô lo vô nghĩ ngày nào
Hướng dẫn build Kaeya - Genshin Impact
Hướng dẫn build Kaeya - Genshin Impact
Mặc dù Kaeya sở hữu base ATK khá thấp so với mặt bằng chung (223 ở lv 90 - kém khá xa Keqing 323 ở lv 90 hay Qiqi 287 ờ lv 90) nhưng skill 1 của Kaeya có % chặt to
6 vụ kỳ án của thế giới crypto
6 vụ kỳ án của thế giới crypto
Crypto, tiền điện tử, có lẽ cũng được gọi là một thị trường tài chính. Xét về độ tuổi, crypto còn rất trẻ khi đặt cạnh thị trường truyền thống