Bài báo kinh điển về các ngôn ngữ kịch bản là John K. Ousterhout's Scripting: Lập trình cấp cao hơn cho Thế kỷ 21 , được xuất bản trên Máy tính 31 (3), 1998. Một mặt, ông đã phân biệt giữa các ngôn ngữ kịch bản, và các ngôn ngữ lập trình hệ thống cai khac.
Ousterhout mô tả các ngôn ngữ lập trình hệ thống là đã phát triển để thay thế các ngôn ngữ máy để lập trình. Chúng ẩn các chi tiết tẻ nhạt như phân công đăng ký và các chuỗi gọi chương trình con, cung cấp các cấu trúc đơn giản để viết các vòng lặp và các thành ngữ dòng điều khiển chung khác và thực thi một quy tắc gõ. Chúng thường được thực hiện bởi một trình biên dịch (đi trước thời đại). Những ngôn ngữ này có nghĩa là để viết phần mềm từ đầu. Ví dụ là C, C ++ và Java.
Ngược lại, các ngôn ngữ kịch bản, theo Ousterhout, bắt đầu từ tiền đề rằng đã có các chương trình hữu ích ngoài kia, thường được viết bằng ngôn ngữ lập trình hệ thống. Các ngôn ngữ script, như Perl, Python, Tcl, Visual Basic và shell Unix, cung cấp các công cụ để kết hợp các chương trình hiện có này vào các chương trình mới. Ousterhout đặc trưng các ngôn ngữ kịch bản là "không chữ" (bao gồm cả những gì nhiều người gọi là gõ động) và như nhấn mạnh sự phát triển nhanh chóng; chúng thường được thực hiện bởi các thông dịch viên.
Bây giờ, người ta phải cẩn thận không cho rằng mô hình khái niệm của một tác giả là có thẩm quyền. Mặc dù các nhà khoa học máy tính của chúng tôi muốn giả vờ rằng chúng tôi là những nhà toán học đưa ra định nghĩa chính xác cho tất cả các thuật ngữ, trong thực tế, hầu hết các thuật ngữ điện toán được xây dựng xã hội với ý nghĩa mờ nhạt và không đồng nhất; có một sự đồng thuận thô bạo ở một mức độ rất cao về hầu hết các điều khoản, nhưng chi tiết thường phụ thuộc vào người đang viết. Vì vậy, hãy lấy bài viết của anh ấy, câu trả lời của tôi và tất cả các câu trả lời khác ở đây với một đống muối lớn.
Cá nhân tôi sẽ tranh luận về sự tồn tại của một ngôn ngữ lập trình "bình thường", khi bạn diễn đạt nó trong câu hỏi của bạn. Tuy nhiên, tôi nghĩ rằng khái niệm bạn đang cố gắng truyền tải tương ứng với các ngôn ngữ lập trình hệ thống của Ousterhout.