Trong khi nhiều hệ sinh thái đang cố gắng thu hút các developer mới bằng cách trở nên tương thích với EVM, Solana đã đi theo một con đường khác với ngôn ngữ lập trình độc đáo của riêng mình, ngôn ngữ này đã chứng kiến sự tăng trưởng ấn tượng trong việc áp dụng kể từ khi ra mắt.
Nhìn vào biểu đồ chúng ta có thể dễ dàng thấy các blockchain sử dụng Rust như Solana, Near đang có tốc độ tăng trưởng số lượng developer ban đầu nhanh hơn nhiều so với đa số các blockchain còn lại. Solana nổi bật hơn cả khi đã vượt qua ngưỡng 2000 developer kể từ khi khởi chạy. Ngoài là một môi trường thuận lợi cho các developer đến để phát triển, Solana còn có một cộng đồng thân thiện, sẵn sàng hỗ trợ lẫn nhau cùng với đó là các chương trình khuyến khích các developer xây dựng trên hệ sinh thái này như Solana Grant, Solana Coding Camp, ....
Một điểm nữa mà mình nghĩ mọi người không nên bỏ qua chính là trải nghiệm của developer khi sử dụng ngôn ngữ này. Theo Stack Overflow survey năm 2022, Rust chính là ngôn ngữ được bình chọn là ngôn ngữ được yêu thích nhất bởi cộng đồng các nhà phát triển. Điều thú vị là đây đã là năm thứ 7 Rust nhận được vinh dự này với tỉ lệ developer muốn tiếp tục sử dụng ngôn ngữ này lên đến 87%.
Tại sao nó được sử dụng để build Program Solana? thì cũng là điều dễ hiểu bởi có những ưu điểm sau:
Kiểm tra lỗi chặt chẽ
Không phải vì syntax lạ mắt hay cộng đồng thân thiện của nó, mà vì sự tin tưởng mà người ta có được khi viết một chương trình trong đó. Trình biên dịch (compiler) rất nghiêm ngặt của Rust kiểm tra từng biến bạn sử dụng và mọi địa chỉ bộ nhớ mà bạn tham chiếu. Nghe thì có vẻ như nó sẽ ngăn bạn code hiệu quả, nhưng để viết một chương trình Rust hiệu quả thực sự dễ dàng hơn viết một chương trình tiềm ẩn nhiều lỗi. Ngay cả khi bạn muốn viết một chương trình nhiều lỗi thì bạn sẽ phải chống lại trình biên dịch, vì hầu hết mọi thao tác bạn thử sẽ gây ra các vấn đề về an toàn bộ nhớ.
Tốc độ
Cảm ơn mọi người đã xem và xin ý kiến từ mọi người.
Theo Nhật Quân (Facebook)
Nhìn vào biểu đồ chúng ta có thể dễ dàng thấy các blockchain sử dụng Rust như Solana, Near đang có tốc độ tăng trưởng số lượng developer ban đầu nhanh hơn nhiều so với đa số các blockchain còn lại. Solana nổi bật hơn cả khi đã vượt qua ngưỡng 2000 developer kể từ khi khởi chạy. Ngoài là một môi trường thuận lợi cho các developer đến để phát triển, Solana còn có một cộng đồng thân thiện, sẵn sàng hỗ trợ lẫn nhau cùng với đó là các chương trình khuyến khích các developer xây dựng trên hệ sinh thái này như Solana Grant, Solana Coding Camp, ....
Một điểm nữa mà mình nghĩ mọi người không nên bỏ qua chính là trải nghiệm của developer khi sử dụng ngôn ngữ này. Theo Stack Overflow survey năm 2022, Rust chính là ngôn ngữ được bình chọn là ngôn ngữ được yêu thích nhất bởi cộng đồng các nhà phát triển. Điều thú vị là đây đã là năm thứ 7 Rust nhận được vinh dự này với tỉ lệ developer muốn tiếp tục sử dụng ngôn ngữ này lên đến 87%.
Tại sao nó được sử dụng để build Program Solana? thì cũng là điều dễ hiểu bởi có những ưu điểm sau:
Kiểm tra lỗi chặt chẽ
Không phải vì syntax lạ mắt hay cộng đồng thân thiện của nó, mà vì sự tin tưởng mà người ta có được khi viết một chương trình trong đó. Trình biên dịch (compiler) rất nghiêm ngặt của Rust kiểm tra từng biến bạn sử dụng và mọi địa chỉ bộ nhớ mà bạn tham chiếu. Nghe thì có vẻ như nó sẽ ngăn bạn code hiệu quả, nhưng để viết một chương trình Rust hiệu quả thực sự dễ dàng hơn viết một chương trình tiềm ẩn nhiều lỗi. Ngay cả khi bạn muốn viết một chương trình nhiều lỗi thì bạn sẽ phải chống lại trình biên dịch, vì hầu hết mọi thao tác bạn thử sẽ gây ra các vấn đề về an toàn bộ nhớ.
Tốc độ
- Rust có thể ngăn chặn những bug đó, nhưng cái gì cũng phải có giá của nó chứ? Thông thường, sự an toàn của bộ nhớ trong các ngôn ngữ lập trình hiện đại thường đi kèm với chi phí của bộ thu gom rác (garbage collector). Các vấn đề về concurrency thường được giải quyết bằng cách khóa tất cả các cấu trúc dữ liệu bị ảnh hưởng và đường dẫn thực thi bằng các nguyên tắc đồng bộ hóa đặc biệt.
- Cũng giống như trong C++, khi dùng Rust, bạn sẽ chỉ trả tiền cho những gì bạn sử dụng. Ví dụ: trong Rust, bạn chỉ sử dụng mutex khi thực sự cần thiết. Hơn nữa, trình biên dịch Rust sẽ buộc bạn phải sử dụng nó khi cần thiết vì vậy bạn sẽ không bao giờ quên dùng nó..
- Rust còn giúp các blockchain như Solana có thể xử lí song song nhiều giao dịch để đạt đến tốc độ vượt trội, giải quyết được bài toán khả năng mở rộng (scalability) khi có ngày càng nhiều người dùng blockchain. Trái lại, Solidity cùng với EVM đã luôn là nút thắt về mặt tốc độ cho Ethereum nói riêng và các blockchain sử dụng EVM nói chung.
- Rust là một ngôn ngữ bậc thấp (LLL) nên càng học lên cao sẽ càng khó hơn. Thêm vào đó nguyên tắc sở hữu và mượn của Rust cũng khiến developer tốn thời gian học hơn so với các ngôn ngữ khác như Lua hay Python.
- Rust yêu cầu developer phải hiểu rõ các nguyên tắc điện toán cơ bản liên quan đến cấp phát bộ nhớ và nguyên tắc song song (concurrency), đồng thời yêu cầu bạn ghi nhớ các nguyên tắc này trong khi triển khai code.
- Rust cũng giúp developer kiểm soát hiệu suất cao hơn nhiều mà không phải chịu gánh nặng học C/C++.
Cảm ơn mọi người đã xem và xin ý kiến từ mọi người.
Theo Nhật Quân (Facebook)