Ownership đọc là hiểu.
Kon biên dịch ra mã máy và không có garbage collector. Mỗi lời gọi hàm đều cho thấy dữ liệu được đọc, được sửa hay được giao đi, và bạn không phải học lifetime.
Mục tiêu là một ngôn ngữ an toàn như Rust, nhanh như C và dễ đọc hơn cả hai. Đây là mục tiêu, chưa phải kết quả, vì Kon vẫn đang được xây dựng.
struct Player {
name: String
health: i32
}
// view để đọc, edit để sửa, take để giao đi.
func describe(player: view Player) {
print(player.name)
print(player.health)
}
func heal(player: edit Player, amount: i32) {
player.health += amount
}
func main(): i32 {
var hero = Player { name: String("An"), health: 80 }
heal(edit hero, 20)
describe(hero)
return 0
}An toàn trước hết
Code không có unsafe được thiết kế để không thể làm hỏng bộ nhớ. Việc chuyển và mượn dữ liệu được kiểm tra lúc biên dịch, và lỗi chỉ đúng dòng sai.
Rồi đến dễ đọc
Các từ view, edit và take nằm ngay trong code dùng chúng. Không có chú thích lifetime phải học, và cú pháp không cần dấu chấm phẩy cuối câu lệnh.
Sau đó là nhanh và nhẹ
Truy cập List được biên dịch inline mà vẫn giữ kiểm tra biên. Chương trình nhỏ thì file cũng nhỏ, không kéo theo runtime nặng.
Năm chương trình trên một máy không đủ để xếp hạng các ngôn ngữ nói chung. Xem cách đo.