- Odin là một ngôn ngữ lập trình đã phát triển trong 10 năm kể từ commit đầu tiên vào năm 2016, và đang chuẩn bị phiên bản phát hành chính thức đầu tiên với tên gọi Odin 2027
- Tiêu chí cốt lõi của bản phát hành chính thức là đặc tả ngôn ngữ hoàn chỉnh mà trình biên dịch phải tuân theo, và đây được xem là điều kiện không thể thỏa hiệp trong Odin 2027
- Các tính năng dự kiến gồm inline assembly, gói HTTP, hỗ trợ TLS, thư viện lõi Objective-C, hỗ trợ iOS·Android, cải tiến gói hình ảnh, và gói đọc/ghi zip
- Lộ trình đặt mục tiêu có Release Candidate vào Giáng sinh 2026 và phát hành chính thức vào tháng 1 năm 2027, trong khi vẫn duy trì nhịp phát hành nightly và monthly hiện tại
- Trước bản phát hành chính thức, dự án sẽ tập trung vào độ ổn định, củng cố thư viện lõi, tuân thủ đặc tả và phản hồi các báo cáo lỗi, thay vì bổ sung nhiều tính năng lớn mới
Lộ trình tiến tới Odin 2027
- Trong 10 năm kể từ commit đầu tiên vào năm 2016, Odin đã phát triển từ một dự án sở thích thành ngôn ngữ được dùng trong phần mềm thương mại của JangaFX, là ngôn ngữ chính tại nhiều công ty, và được dùng trong các trò chơi phát hành trên Steam
- Bản phát hành chính thức đầu tiên, tương ứng với 1.0, sẽ dùng tên Odin 2027
- Thay vì
1.0thông thường, dự án chọn cách đặt tên dựa trên ngày tháng - Phiên bản dựa trên ngày tháng giúp dễ nhận biết ngay phiên bản đang dùng đã cũ đến mức nào
- Đây là cách nhằm cung cấp các bản cập nhật đều đặn hơn, trong khi vẫn duy trì lịch phát hành nightly và monthly hiện tại
- Thay vì
- Điều kiện bắt buộc của bản phát hành chính thức là đặc tả hoàn chỉnh
- Trình biên dịch phải tuân theo đặc tả này
- Đây được xác định là hạng mục không thể thỏa hiệp trong Odin 2027
Tính năng dự kiến và lịch phát hành
- Inline assembly sẽ được bổ sung cho những người dùng cần khả năng kiểm soát cấp thấp
- Cho phép kiểm soát chính xác việc tạo mã máy ngay trong Odin
- Thư viện lõi sẽ được mở rộng theo hướng tăng phạm vi được cung cấp sẵn
- Bao gồm gói HTTP được chờ đợi từ lâu
- Hỗ trợ TLS cũng sẽ được cung cấp; hỗ trợ TLS viết native dự kiến sẽ được bổ sung sau bản phát hành chính
- Với người dùng Apple, thư viện lõi Objective-C sẽ được đưa vào Odin theo cách native
- Cũng bao gồm hỗ trợ iOS và Android
- Sẽ bổ sung các cải tiến cho gói hình ảnh và gói hỗ trợ đọc/ghi kho lưu trữ zip
- Lịch phát hành đặt mục tiêu Release Candidate vào Giáng sinh 2026 và phát hành chính thức vào tháng 1 năm 2027
- Từ nay đến lúc đó, dự án sẽ tập trung vào ổn định thay vì đưa vào các tính năng lớn mới vào phút chót
- Củng cố thư viện lõi
- Tuân thủ đặc tả
- Xác minh các hạng mục trong roadmap
- Kiểm thử thông qua các bản build monthly và nightly, đồng thời phản hồi báo cáo lỗi
- Toàn bộ video được biên tập bằng Blick, trình biên tập video dự kiến được viết bằng Odin
1 bình luận
Các ý kiến trên Lobste.rs
Tôi đã thử nghịch một chút, và Odin là một trong những ngôn ngữ càng dùng càng thấy dễ chịu
Hiếm có ngôn ngữ nào cân bằng tốt giữa tính thực dụng và thiết kế cẩn trọng như vậy; trong số các ngôn ngữ gần đây, có vẻ nhiều cái thiếu một trong hai, hoặc bị kẹt vào một tính năng cụ thể, hoặc trở nên nửa vời khi cố triển khai “tất cả mọi thứ”
gingerBill cũng rất giỏi diễn đạt suy nghĩ đằng sau các quyết định, và cá nhân tôi thấy đó là một năng lực mình nhất định phải học hỏi thêm
Vài năm trước khi lần đầu thấy Odin, tôi đã nghĩ “Ồ, giống Go nhưng bỏ đi những thứ mình ghét ở Go”, nhưng những người xung quanh lại bảo đó chỉ là một ngôn ngữ màu mè nữa, sẽ chẳng trụ được lâu nên cứ bỏ qua đi
Thật mừng là mọi người đều đã sai, và giờ tôi rất mong được tự tay dùng thử
Odin đã khá ổn định trong vài năm rồi, nên thật vui khi Bill và đội ngũ cuối cùng cũng tiến tới 1.0
Vì đây là tín hiệu cần thiết cho thấy nó đủ đáng dùng trong production khi các công ty lớn đánh giá lựa chọn thay thế
Điều này cũng nâng chuẩn cho các dự án họ C khác đang được phát triển, chẳng hạn như Jai, C3, Zig, Hare
Dạo này các tác giả ngôn ngữ dường như truyền tải khá rõ, qua các kênh truyền thông xung quanh, cảm giác sống cùng sản phẩm của mình
Gleam cùng hệ sinh thái và ghi chú phát hành của nó thì hấp dẫn, dễ tiếp cận; Zig là một ngôn ngữ hợp lý và ít màu mè, các cuộc phỏng vấn của u/andrewrk cũng tương tự
Tôi chưa từng dùng Odin, nhưng chỉ xem video này thôi cũng khiến tôi kỳ vọng đây là một ngôn ngữ giữ tiêu chuẩn sản phẩm cao và mang lại kết quả thỏa mãn
Tôi chưa từng dùng Odin lần nào, nhưng xem video xong thì muốn thử một lần
Thư viện chuẩn khá gần với kiểu “đã kèm sẵn pin”, và họ cũng vendor sẵn nhiều công cụ chất lượng cao mà mọi người hay dùng
Ban đầu tôi không định dùng lâu, nhưng cuối cùng lại dùng một thời gian, và so với mức “trước 1.0” thì nó khá ổn định
Sức hút thật ghê gớm
Tôi đã để mắt đến Odin một thời gian, và có lẽ sắp tới sẽ đem ra nghịch thử
Thật thú vị khi trong video có cuốn sách Pascal được đặt rất dễ thấy
Chỉ nhìn cú pháp thì có thể không thấy vậy, nhưng tôi luôn xem Odin là một ngôn ngữ thuộc họ Pascal
Thực tế, thời kỳ đầu của Odin từng có khoảng một tuần như vậy
Thật thú vị là nhiều người đánh giá một ngôn ngữ gần như chỉ dựa vào cú pháp khai báo. Dù hình thức cú pháp cụ thể đó hầu như không ảnh hưởng đến ngữ nghĩa, nó vẫn có thể là yếu tố thu hút người ta hoặc đẩy họ đi hoàn toàn
Cá nhân tôi thấy cách Odin dùng
:và=là ngắn gọn và dễ dùng nhất so với các lựa chọn thay thế. Tuy nhiên vì không phải cách thường thấy, nó có thể khiến một số người cảm thấy lạ lẫm và tránh xa