Nói rằng, tôi muốn tạo ngôn ngữ lập trình của riêng tôi. Giả sử rằng tôi đã đưa ra tất cả các quyết định về cách tôi muốn nó nhìn và hành động, tôi chỉ cần viết một trình biên dịch cho nó?
Không. Đưa ra tất cả các quyết định về cách bạn muốn ngôn ngữ nhìn và hành động là tạo ra ngôn ngữ lập trình của riêng bạn. Bạn không cần một trình biên dịch hoặc trình thông dịch để tạo ngôn ngữ lập trình. Bạn không cần một trình biên dịch hoặc trình thông dịch để viết chương trình bằng ngôn ngữ lập trình của bạn.
Bạn chỉ cần một trình biên dịch hoặc một trình thông dịch nếu bạn thực sự muốn chạy các chương trình bạn viết.
Câu hỏi của tôi là, việc tạo ra một ngôn ngữ lập trình được thực hiện thông qua một trình biên dịch? Cấp cao là ổn.
Không. Việc tạo ra một ngôn ngữ lập trình được thực hiện thông qua việc đưa ra hai bộ quy tắc:
- một chương trình pháp lý trông như thế nào (cú pháp)
- những gì một chương trình pháp lý làm (ngữ nghĩa)
Đó là nó.
Có những ngôn ngữ lập trình không có triển khai. Hoặc không có thực hiện trong một thời gian dài.
Ví dụ, Konrad Zuse đã tạo ra Plankalkül vào giữa những năm 1940, nhưng do chiến tranh, ông không bao giờ có thể thực hiện được. Nó lần đầu tiên được thực hiện như một phần của luận văn vào năm 1975. Nhưng nó chắc chắn đã tồn tại vào những năm 1950 và 1960.
LISP ban đầu được thiết kế như một giải pháp thay thế dễ dàng hơn cho tính toán for để nghiên cứu tính toán. Nó được thực hiện bởi Steve Russell, một sinh viên của John McCarthy. Chính McCarthy thậm chí còn nghi ngờ rằng LISP có thể được thực hiện!
APL ban đầu được thiết kế như một ký hiệu cho việc dạy toán. Sau đó, nó đã được mở rộng để phục vụ như ngôn ngữ đặc tả cho Hệ thống IBM / 360. Việc triển khai đến sau, sau khi ngôn ngữ đã được sử dụng.
PLANNER là một ngôn ngữ có ảnh hưởng rất lớn, nó thực sự chỉ được thực hiện sau khi nó đã ảnh hưởng đến các ngôn ngữ khác; nó được thiết kế vào năm 1969 và được thực hiện vào năm 1973, tại thời điểm đó nó đã ảnh hưởng đến Smalltalk và Prolog (cả năm 1972).
Cấu trúc và giải thích cơ học cổ điển là một cuốn sách giáo khoa vật lý sử dụng sơ đồ thay vì toán học để mô tả các hệ thống động; thực tế là Scheme có các thông dịch viên và trình biên dịch là không cần thiết cho cuốn sách, nó được sử dụng như một ngôn ngữ để truyền đạt ý nghĩ, không chạy các chương trình.
Như bạn có thể thấy, ngôn ngữ lập trình có thể hữu ích ngay cả khi không triển khai. "Các chương trình nên được viết cho con người đọc và chỉ tình cờ cho máy tính thực thi" là một câu nói nổi tiếng từ Cấu trúc và Giải thích các Chương trình Máy tính. Ngôn ngữ lập trình là ngôn ngữ chính thức để mô tả rõ ràng các quy trình phức tạp. Thực tế là nếu bạn mô tả một quá trình đủ chính xác để con người hiểu, thì nó cũng có thể được thực thi bởi một máy là một tác dụng phụ. Đó là một tác dụng phụ rất mong muốn, hữu ích, mạnh mẽ, nhưng nó là một tác dụng phụ.
Các "ngôn ngữ lập trình" đầu tiên, calcul-compus, SKI-compus, Turing Machines,-hàm đệ quy, không được tạo để thực thi. Chúng được tạo ra để hiểu các câu hỏi cơ bản về logic và toán học.