KonLang English

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 100

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.

1.0×so với thời gian của C trên 5 bài toán số nguyên, bản build release
~90 KBmột chương trình đơn giản; C khoảng 64 KB và Rust 4,9 MB chưa strip, trên các chương trình benchmark
0kết quả sai trong 1.133 chương trình kiểm thử tự sinh, trên một số dạng ngôn ngữ giới hạn
1 filetoolchain trên Windows: compiler, thư viện, công cụ định dạng và chạy test

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.

Đi tiếp từ đây

Học ngôn ngữToàn bộ ngôn ngữ qua ví dụ. Mọi ví dụ trên trang đều được biên dịch để kiểm tra. Thư việnChữ, JSON, mạng, file, đường dẫn, tiến trình, cấu trúc dữ liệu, đồ hoạ và âm thanh. Công cụMột lệnh để build, chạy, test và định dạng code, kèm extension cho VS Code. Hiệu năngSố đo so với C và Rust, kèm phương pháp và giới hạn. So sánhĐặt cạnh Rust, C và Go, kể cả khi nào không nên chọn Kon. GameBốn game nhỏ viết bằng Kon để thử sức ngôn ngữ. Trạng thái và lộ trìnhCái gì đã chạy, cái gì chưa, và thứ tự công việc sắp tới. Hỏi đápĐã dùng được chưa? Khác Rust chỗ nào?