Tôi không nghĩ bạn có thể lập trình mà không tạo ra một ngôn ngữ mới, vì vậy thật tốt khi nhận ra đó là những gì bạn đang làm và hiểu vấn đề.
- Một ngôn ngữ là gì?
Từ vựng, cú pháp và ngữ nghĩa.
Một ngôn ngữ ngoài luồng như VB, Java, C #, v.v. chỉ là ngôn ngữ cơ bản . Ngay khi bạn thêm các lớp học, phương thức, v.v. vào đó, bạn đã thêm từ vựng và ngữ nghĩa. Có nhiều cách để thực hiện các ngôn ngữ - phân tích cú pháp & dịch, phân tích cú pháp & phiên dịch, macro trên đầu ngôn ngữ hiện có, thêm các lớp & phương thức vào ngôn ngữ hiện có.
- Bạn muốn một ngôn ngữ để làm gì?
Hãy tốt để thể hiện vấn đề chính xác.
Làm thế nào để bạn biết nếu bạn đã làm điều này? Các biện pháp tôi sử dụng là số lượng chỉnh sửa . Nếu yêu cầu một câu A xuất hiện, tôi tiến hành thực hiện yêu cầu trong mã. Khi tôi hoàn thành và nhận được tất cả các lỗi, tôi kiểm tra mã và kho lưu trữ mã cung cấp cho tôi danh sách các thay đổi tôi đã thực hiện, B. B càng nhỏ, ngôn ngữ càng tốt. Tính trung bình trên không gian của các yêu cầu thực tế & có thể, biện pháp đó cho tôi biết ngôn ngữ "cụ thể theo miền" như thế nào.
- Tại sao sự đồng nhất là tốt?
Bởi vì nó giảm thiểu lỗi.
Nếu phải thay đổi mã N để thực hiện 1 yêu cầu và đôi khi bạn mắc lỗi, thì số lỗi bạn giới thiệu gần như tỷ lệ với N. Trong giới hạn mà N = 1, gần như không thể đưa ra lỗi mà không cố gắng.
Lưu ý rằng đây là một thách thức trực tiếp đối với "sự phình to mã" mà chúng ta thấy ngày nay.
THÊM: Để đáp ứng yêu cầu của bạn cho một ví dụ, xem thực hiện khác biệt . Tôi sẽ không nói nó có thể được hiểu một cách nhanh chóng, nhưng nó làm giảm đáng kể mã UI.