12 điểm bởi jaypark 2026-03-17 | 12 bình luận | Chia sẻ qua WhatsApp

Một ngôn ngữ lập trình thử nghiệm sử dụng tiểu từ và vị ngữ tiếng Hàn làm thành phần ngữ pháp.
Không phải là cách dịch các từ khóa của ngôn ngữ hiện có sang Hangul,
mà hướng tới một ngữ pháp bề mặt gần hơn với cách người nói tiếng Hàn đọc và viết.
Được hiện thực bằng Rust, kèm playground WebAssembly trên trình duyệt.

Đây là điều tôi chỉ từng tưởng tượng từ hồi mới bắt đầu học lập trình, và nhờ sự trợ giúp của Codex mà cuối cùng đã thử làm ra được như thế này.
Có lẽ tính thực dụng thì chắc không có đâu.. hiện tôi đang thử nghiệm đủ loại cú pháp.

Điểm cốt lõi không phải là "thay thế từ khóa bằng Hangul" mà là giữ được dòng chảy của câu tiếng Hàn,
ví dụ có thể viết mã như sau:

이름은 "철수"이다.  
나이는 20이다.  
  
나이 > 19이면  
  "성인이다"를 출력한다.  
아니면  
  "미성년자이다"를 출력한다.  

Các tiểu từ mang ý nghĩa ngữ pháp.
은/는 là binding, 을/를 là đối tượng, là truy cập thuộc tính, 으로 là khung chuyển đổi.
Vì vậy các biểu thức như 합은 7 더하기 8이다 hay 결과는 5의 제곱이다 cũng có thể dùng được.

Hàm cũng được định nghĩa và gọi theo hình thức câu tiếng Hàn:

인사만들기 함수는 이름을 받아  
  "안녕, " + 이름 + "!"을 돌려준다.  
  
인사문장은 "지음"으로 인사만들기이다.  

Cũng hỗ trợ đồ họa canvas:

그림판에 { 배경색: "#f6efe2" }으로 지우기.  
그림판에 { x: 120, y: 80, 색: 빨강 }으로 점찍기.  

Về mặt nội bộ, ngôn ngữ này dùng mô hình truyền message kiểu Smalltalk,
nên bề ngoài là tiếng Hàn nhưng cấu trúc ngữ nghĩa lại khá chặt chẽ.

Được viết bằng Rust, và playground trên trình duyệt cũng chạy bằng wasm-pack.
Hiện tại đã đạt đến mức có thể chạy cả demo canvas Tháp Hà Nội.

Dù vẫn mới ở v0.1 nên còn nhiều thiếu sót, nhưng nếu nhận được phản hồi thì tôi sẽ rất cảm kích.

12 bình luận

 
picopress 2026-03-22

Ồ...

 
wiring 2026-03-21

Nếu tuổi > 19 thì thì có lẽ cũng có thể biểu diễn phần đó thành nếu tuổi lớn hơn 19 thì phải không? Có vẻ như chỉ cần diễn giải phần trước 이/가 và phần trước 보다 lần lượt là vế trái và vế phải là được. Với thì có thể là nếu lớn hơn hoặc bằng hoặc nếu từ ... trở lên (nhưng trong trường hợp này sẽ không dùng 보다, tức là phải diễn đạt theo kiểu nếu tuổi từ 19 trở lên như thế này. Nhưng như vậy lại phải phân biệt trái phải dựa trên 이/가, nên độ phức tạp khi phân tích cú pháp có lẽ sẽ tăng lên một chút.)

 
runableapp 2026-03-20

Thật sự rất hay!

Cách đây không lâu, khi ngôn ngữ tên là 'Han' được đăng lên, phần giới thiệu về ngôn ngữ Nuri này cũng đã được nhắc đến.
https://github.com/suhdonghwi/nuri/
Ngôn ngữ Nuri cũng có trật tự từ tự nhiên giống như tiếng Hàn.

Ngôn ngữ Ziium cũng có câu từ tự nhiên nên rất dễ đọc. Tiến thêm một bước nữa:

Nếu tuổi > 19 thì
in ra "là người trưởng thành".
Nếu không thì
in ra "là trẻ vị thành niên".

=> Nếu tuổi từ 19 trở lên thì in ra 'là người trưởng thành', còn không thì in ra 'là trẻ vị thành niên'.

Nếu có thể làm được như vậy thì sẽ trở thành tiếng Hàn hoàn hảo.

 
youknowone 2026-03-19

Trong số các ngôn ngữ lập trình tiếng Hàn mà tôi từng thấy cho đến nay, đây là ngôn ngữ thú vị nhất về mặt cú pháp. Khá hay.

 
kairess 2026-03-18

Đây cũng là điều tôi chỉ từng tưởng tượng từ rất lâu rồi, vậy mà lại được thấy nó được tạo ra ngay trong đời mình. Tôi ủng hộ! Tôi sẽ cố gắng dùng thử thật chăm chỉ.

 
coremaker 2026-03-18

Ồ, tôi ủng hộ lắm!!!!! Tôi đã chờ một dự án như thế này đó~

 
backgwa 2026-03-18

Thú vị đấy, vì nó có cú pháp khá giống với dự án mà tôi đã làm trước đây!

 
ahiou 2026-03-18

Nếu tạo prompt đúng theo cú pháp đó thì nó sẽ trở thành một bản đặc tả rất tốt.

 
remin1994 2026-03-18

Wow, trông có vẻ quá thú vị luôn đó ???

 
oneune 2026-03-17

Ồ, trông thú vị đấy! Ngữ pháp tiếng Hàn có được sử dụng một cách nghiêm ngặt không? Hay có một mức độ linh hoạt nhất định?

 
joyfui 2026-03-17

Wow, ngôn ngữ lập trình đầu tiên của tôi là Changjo cơ mà...!

 
nottiger 2026-03-17

Wow, đây là một dự án tuyệt vời...