Ngôn ngữ lập trình KawaiiVM gây tranh luận trong cộng đồng bất chấp tài liệu hướng dẫn khó hiểu

Nhóm Cộng đồng BigGo
Ngôn ngữ lập trình KawaiiVM gây tranh luận trong cộng đồng bất chấp tài liệu hướng dẫn khó hiểu

Một ngôn ngữ lập trình mới được thiết kế cho Máy ảo Kawaii ( KVM ) đã xuất hiện, mặc dù tài liệu hướng dẫn của nó khiến nhiều người trong cộng đồng công nghệ phải bối rối. Ngôn ngữ này nhằm mục đích cung cấp một cách tiếp cận lập trình tối giản, tập trung vào hiệu suất, nhưng cách trình bày của nó đã gây ra nhiều nhầm lẫn hơn là sự rõ ràng.

Dự án KawaiiVM dường như là một phần của cuộc thảo luận rộng hơn về các máy ảo nhẹ và các nền tảng tính toán thay thế. Các cuộc thảo luận trong cộng đồng đã rút ra những điểm tương đồng với các hệ thống tối giản khác, đặc biệt lưu ý những điểm giống nhau với các dự án như Uxn và Varvara , tập trung vào việc tạo ra các môi trường runtime đơn giản, có thể di chuyển.

Triết lý thiết kế ưu tiên hiệu suất

Ngôn ngữ này có cách tiếp cận cực đoan đối với tối ưu hóa hiệu suất bằng cách loại bỏ hoàn toàn các kiểu dữ liệu truyền thống. Mọi thứ đều được lưu trữ dưới dạng byte 8-bit không dấu, với lý do rằng điều này làm giảm overhead của CPU và đơn giản hóa quá trình biên dịch. Các hàm API xử lý bất kỳ chuyển đổi kiểu nào cần thiết, trong khi ngôn ngữ cốt lõi hoạt động hoàn toàn dựa trên thao tác byte.

Lựa chọn thiết kế này phản ánh xu hướng ngày càng tăng trong lập trình hệ thống hướng tới các trừu tượng tối thiểu. Ngôn ngữ này biên dịch thành mã C , cho thấy nó đóng vai trò như một lớp trung gian thay vì một môi trường lập trình độc lập.

Lưu ý: Overhead của CPU đề cập đến thời gian xử lý bổ sung mà bộ xử lý của máy tính cần để xử lý các tác vụ ngoài logic chương trình cốt lõi.

Thông số kỹ thuật ngôn ngữ KawaiiVM :

  • Kiểu dữ liệu: Chỉ sử dụng byte không dấu 8-bit đơn
  • Mục tiêu biên dịch: Ngôn ngữ C
  • Lời gọi API: Hỗ trợ tối đa 2 byte tham số
  • Mô hình bộ nhớ: Dựa trên stack với thao tác byte trực tiếp
  • Trình phân tích: Khuyến nghị triển khai bằng Rust để tối ưu hiệu suất bộ nhớ
  • Giấy phép: Yêu cầu phê duyệt riêng cho mọi việc phân phối mã nguồn

Phản ứng của cộng đồng và các so sánh

Phản ứng của cộng đồng công nghệ khá trái chiều, với nhiều người rút ra những so sánh với các môi trường lập trình thử nghiệm khác. Một số nhà phát triển đã lưu ý những điểm tương đồng với các hệ thống dựa trên Forth và các máy ảo tối giản ưu tiên tính di động hơn là dễ sử dụng.

Họ đã làm chính xác những gì tôi muốn làm và đã làm rất tốt, tôi vui mừng cho họ, họ chắc hẳn đang có rất nhiều niềm vui khi viết phần mềm.

Dự án này cũng được so sánh với TempleOS về cách tiếp cận độc đáo và cộng đồng tận tụy, mặc dù ở quy mô nhỏ hơn nhiều. Sự so sánh này làm nổi bật cách các ngôn ngữ lập trình ngách thường phát triển những người theo dõi đam mê bất chấp việc được chấp nhận hạn chế trong dòng chính.

Thách thức về tài liệu

Có lẽ rào cản lớn nhất đối với việc áp dụng là phong cách tài liệu của dự án. Đặc tả ngôn ngữ đọc giống như những ghi chú dòng ý thức hơn là tài liệu kỹ thuật, với những giải thích thường mâu thuẫn với nhau hoặc lạc vào lãnh thổ không rõ ràng.

Tài liệu đề cập đến các tính năng như độ phức tạp xã hội trong cấu trúc vòng lặp và mô tả trình biên dịch như một người quan sát trong một dự án synth, khiến người đọc phải giải mã ý nghĩa kỹ thuật thực tế. Cách tiếp cận này có thể là có chủ ý, phản ánh bản chất thử nghiệm của dự án, nhưng nó tạo ra những rào cản đáng kể cho người dùng tiềm năng.

Các Tính Năng Ngôn Ngữ Chính:

  • byte: Định danh cơ bản để đọc/ghi từng byte đơn lẻ
  • list: Vùng chứa cho nhiều byte, chủ yếu được sử dụng để lặp
  • stack: Bộ đọc vùng nhớ với tính năng dọn dẹp tự động
  • compile_again: Macro cho việc đệ quy vòng lặp
  • Không có dấu phân cách truyền thống - việc phân tích cú pháp phụ thuộc vào thứ tự
  • Không kiểm tra kiểu dữ liệu trong thời gian chạy - tất cả các kiểu chỉ tồn tại tại thời điểm biên dịch

Kết luận

Trong khi KawaiiVM đại diện cho một thử nghiệm thú vị trong thiết kế ngôn ngữ tối giản, thành công của nó có thể sẽ phụ thuộc vào tài liệu rõ ràng hơn và các ví dụ thực tế. Dự án tham gia vào một hệ sinh thái ngày càng phát triển của các máy ảo thay thế và ngôn ngữ lập trình ưu tiên sự đơn giản và tính di động, mặc dù cách trình bày hiện tại khiến việc đánh giá trở nên khó khăn đối với hầu hết các nhà phát triển.

Tham khảo: a programming language for the Kawaii virtual machine