thảo luận Rust ( Ngôn ngữ lập trình ) Và tương lai của nó ? Sáng hay ko sáng ? Mời các thím vào "chém gió"

Bài viết trên gg có thiếu về sự lởm khởm cua go thiếu đâu thím. Cụ thể về cái gc còn về những mặt khác. Tốc độ ra sản phẩm , phát triển mình nghĩ như nhau. Còn per rust ổn hơn hẳn ngang vs c++. Về mặt cú pháp hai thằng mình cũng nghĩ như nhau.
mình làm go 1 năm rồi, thấy có vấn đề chính của n là quản lí package , n cứ thay đổi liên tục từ go package sang go mod, còn lại thấy oke
 
Tuổi về j ? Bạn n ko có tiêu chí thì ss làm gì ? So về tốc độ ra sản phẩm, tốc đôh thực thi, sự phát triển của các framework ?
Rảnh rỗi cài cả 2, test thử mấy cái thuật toán cơ bản, làm việc với List, String thì Rust chạy nhanh hơn Go
Có điều syntax Rust phức tạp hơn ôi ối nhưng mấy ông đã từng sờ C++, Java, C# rồi thì thấy cũng bình thường :D
 
^
Đọc xog hết thấy cũng hay, nhưng t đang khá nghi ngờ ổng viết về higher order function ko hết. Cảm giác chả liên quan vẹo gì tới async await mà cứ lôi vào. Để hôm nào rảnh t viết cho một chút về đoạn này k thì hóng đại hiệp khác thôi chứ h bận vãi k rồi.
 
^
Đọc xog hết thấy cũng hay, nhưng t đang khá nghi ngờ ổng viết về higher order function ko hết. Cảm giác chả liên quan vẹo gì tới async await mà cứ lôi vào. Để hôm nào rảnh t viết cho một chút về đoạn này k thì hóng đại hiệp khác thôi chứ h bận vãi k rồi.
Mạnh dạn chém gió đi thím , dân tay ngang ko chuyên như mình cũng còn chém gió tơi bời. Mình chém gió có thể không khôn thêm. Cơ mà để t hế hệ tiếp theo chúng nso đọc được những dòng luận thuyết này. Lấy đó làm bài học rút kinh nghiệm- sau còn tiện bề ứng biến khi tham gia quan trường.
Phàm làm người quan trường nơi này ko rút kinh nghiệm là ko được, Huống hồ , dân IT mà không hiểu cội gốc vấn đề. Ôi buồn thay , đám thanh niên ngày ngày chỉ fw. Với tá thứ dọn ăn sẵn thì bao giờ dân IT việt mới thoát phận gia công. Chứ đừng có mơ như khựa như Mẽo.
 
Rust vẫn dùng liên kết tĩnh. Có liên kết động nhưng chỉ hỗ trợ libc thì phải. Lý do là không có tiêu chuẩn ABI. Mà không có tiêu chuẩn ABI là vì muốn thay đổi nhanh, abc xyz... Tóm lại là không dùng được thư viện đã biên dịch, cho nên cái gì cũng phải biên dịch từ đầu, lâu chết mẹ. Viết chơi thì được, chứ làm thật e rằng... nhiệm vụ bất khả thi.
 
Về thiết kế ngôn ngữ và standard library thì Rust hơn C/C++ ở vài điểm:
- Move rồi thì không dùng được nữa. Bên C++, khi dùng std::move(x) rồi thì ltv phải tự biết là không dùng biến x được nữa, hoặc phải nhớ gán giá trị cho x trước khi dùng. Còn bên rust, nếu dùng lại x sẽ gặp compile error.
- Xâu không kết thúc bằng ‘\0’. Lợi thế là có thể lấy substr mà không cần copy data. Gần đây C++ có thêm std::string_view để khắc phục cái này, tuy nhiên do không có borrow checker nên ltv phải tự đảm bảo nội dung của std::string_view chưa bị hủy.
- Hỗ trợ UTF-8 tốt hơn.
- Enum. Kiểu enum của rust chứa được data, tương đương với (enum + union) của C, hoặc std::variant của C++. Khi dùng thì enum rust gọn và dễ dùng hơn vạn lần :v
- Tuple. Tuple của rust gọn và dễ dùng hơn std::pair và std::tuple của C++.
 
Rust vẫn dùng liên kết tĩnh. Có liên kết động nhưng chỉ hỗ trợ libc thì phải. Lý do là không có tiêu chuẩn ABI. Mà không có tiêu chuẩn ABI là vì muốn thay đổi nhanh, abc xyz... Tóm lại là không dùng được thư viện đã biên dịch, cho nên cái gì cũng phải biên dịch từ đầu, lâu chết mẹ. Viết chơi thì được, chứ làm thật e rằng... nhiệm vụ bất khả thi.

Vụ này thì bác cache lại sẽ giảm thời gian build đáng kể (https://github.com/mozilla/sccache), có hỗ trợ lưu cache trên cloud hoặc server chung nên có thể setup nhiều máy build + share cache chung được. Mỗi thư viện chỉ cần build một lần rồi cache lại dùng tiếp.
 
Rust vẫn dùng liên kết tĩnh. Có liên kết động nhưng chỉ hỗ trợ libc thì phải. Lý do là không có tiêu chuẩn ABI. Mà không có tiêu chuẩn ABI là vì muốn thay đổi nhanh, abc xyz... Tóm lại là không dùng được thư viện đã biên dịch, cho nên cái gì cũng phải biên dịch từ đầu, lâu chết mẹ. Viết chơi thì được, chứ làm thật e rằng... nhiệm vụ bất khả thi.
Chà chà , tưởng trên os nào thì phải tuân thủ quy tắc trên os đó chứ.
Ko tuân thủ ABI sao chơi ? Cách gọi ko khớp nhau. Stack vs các register chắc lộn tung mù.
 
có cái repo github nào nổi viết bằng Rust không các thím thấy ai cũng khen mà kiếm mấy phần mềm nổi tiếng viết bằng Rust cực quá chả bù cho Go 1 đống
 
năm trước mod cái library viết bằng rust, mặc dù chuyên c/c++ nhưng vẫn thấy rust nó khó chịu lắm, viết thì toàn functional, làm việc với data thì toàn phải unsafe 🤣🤣🤣
về phần hỗ trợ thì thấy cũng nhiều, trk đã viết đc jni library ngon lành
 
tôi cũng chả care rust lắm cơ mà hôm nay đọc bài thảo luận khá hay về cái này:
https://lobste.rs/s/1iiifg/rust_zig_futility_replacing_c

Lão này nói buồn cười vãi, chỉ trích Rust ko portable như C và ko thể thay thế C ở lĩnh vực Embedded, IoT. Ok, tôi có làm embedded đếch đâu, đầy cty cũng đếch làm mấy cái đó.

Giống kiểu bạn đang thiết kế cái xe bọc thép dùng để đem đi càn trong chiến trận, thì một thằng rồ nào đó bảo:
- Xe nội thất xấu như cứt.
- Xe này đêk đi đường cát được.
- Xe này giảm sóc đếu êm.
... bla bla

-))


Uh oh Rust async is a mess.
Standard lib not include async runtime, closure things...

Rust cố giải quyết bài toán safe memory cho pointer nhưng kéo theo nhiều hi sinh và nhiều điều bất tiện khi phải tuân theo rules. Productivity là một trong số đó, 1 thanh niên đang code Rust on production cho hay.
 
Back
Top