Chỉnh sửa: ngôn ngữ của tôi cho phép nhiều kế thừa, không giống như Java.
Tôi đã bắt đầu thiết kế và phát triển ngôn ngữ lập trình của riêng mình cho các mục đích giáo dục, giải trí và có khả năng hữu ích.
Lúc đầu, tôi đã quyết định dựa trên Java.
Điều này ngụ ý rằng tất cả các mã sẽ được viết dưới dạng các lớp và mã đó biên dịch thành các lớp, được VM tải.
Tuy nhiên, tôi đã loại trừ các tính năng như giao diện và các lớp trừu tượng, vì tôi thấy không cần chúng. Họ dường như đang thực thi một mô hình, và tôi muốn ngôn ngữ của tôi không làm điều đó. Tôi muốn giữ các lớp làm đơn vị biên dịch, bởi vì nó có vẻ thuận tiện để thực hiện, quen thuộc và tôi chỉ thích ý tưởng này.
Sau đó, tôi nhận thấy rằng về cơ bản tôi còn lại với một hệ thống mô-đun, trong đó các lớp có thể được sử dụng làm "không gian tên", cung cấp các hằng và hàm bằng cách sử dụng lệnh static
hoặc làm mẫu cho các đối tượng cần được khởi tạo (mục đích "thực tế" của các lớp trong các ngôn ngữ khác).
Bây giờ tôi đang tự hỏi: những mặt trái và mặt trái của việc có các lớp làm đơn vị biên dịch là gì?
Ngoài ra, bất kỳ bình luận chung về thiết kế của tôi sẽ được nhiều đánh giá cao. Một bài viết thông tin về ngôn ngữ của tôi có thể được tìm thấy ở đây: http://www.yannbane.com/2012/12/kava.html .