duykhanh471
Member
LƯU Ý: Đây không phải là Thread bàn ưu nhược điểm của một ngôn ngữ. Làm ơn đừng bình luận bất kì điều gì không liên quan đến Rust hoặc ít nhất, không liên quan đến lập trình.
Cộng đồng học Khoa học máy tính (và có Rust):
discord.gg
CẬP NHẬT: Đầu tháng 8 sẽ bắt đầu kế hoạch học Backend cho Rust, thử nghiệm xây dựng toàn bộ Website bằng Rust và HTML/HTMX (Hoặc thuần HTML/CSS/JS).
Đây là nhật kí lập trình của cá nhân mình, vừa học vừa làm để đóng góp cho Open Source
Đa phần nhiều người dùng Rust làm Backend, thậm chí Rust Fullstack luôn.
Lý do chơi Rust (Ít nhất là của mình):
Không biết có là nói quá không khi nói điều này, mình thực sự thấy Rust giúp mình hoàn thành công việc, cho mình cảm giác mình là một người lập trình chuyên nghiệp. Nó nghiêm khắc, nó bắt mình tuân theo rất nhiều luật, xử lý rất nhiều lỗi. Tuy hiện tại chương trình của mình chưa đạt đến độ chín như các Rustacean mình có cơ hội được trò chuyện trên mạng. Nhưng mình vẫn sẽ tiếp tục học để đưa phần mềm của mình đạt đến chất lượng gần như không thể bàn cãi.
Tính đến thời điểm hiện tại mình đã
Cập nhật ngày 18/07: Mãi mới biết đến
Cộng đồng học Khoa học máy tính (và có Rust):
Tham gia Máy Chủ Discord Khoa học máy tính!
Hãy tới xem cộng đồng Khoa học máy tính trên Discord - giao lưu cùng 4 thành viên khác và tận hưởng tính năng trò chuyện văn bản và thoại miễn phí.
CẬP NHẬT: Đầu tháng 8 sẽ bắt đầu kế hoạch học Backend cho Rust, thử nghiệm xây dựng toàn bộ Website bằng Rust và HTML/HTMX (Hoặc thuần HTML/CSS/JS).
Đây là nhật kí lập trình của cá nhân mình, vừa học vừa làm để đóng góp cho Open Source
Đa phần nhiều người dùng Rust làm Backend, thậm chí Rust Fullstack luôn.
Lý do chơi Rust (Ít nhất là của mình):
- Không có Null (Từng mê null handler bên Kotlin, nhưng mê cách rust làm hơn)
- không garbage collection nhưng không phải manual memory management (Tất nhiên là C/C++ có thể dùng RAII)
- nhanh (Nhanh hơn tất cả các ngôn ngữ dùng garbage collection)
- lập trình ít khi phải tra StackOverflow (Thật sự là từ lúc lập trình Rust đến giờ mình chỉ có đọc Documentation với phân tích lỗi Compiler in ra thôi). Cập nhật thêm thì giờ phải tra rồi này
lý do là do dùng một số các crate ngoài với documentation khó hiểu nên thi thoảng phải soi code để tìm thuộc tính với các thứ 
- Tương thích code: Không phải update codebase quá thường xuyên (Nhìn các dev còng lưng là biết)
- Tuân theo quy tắc lập trình: Không để biến thừa, không dùng các câu lệnh chuyển đổi thừa thãi, buộc phải tuân theo kiểu biến (Thứ lỗi nếu mình sai nhưng mình nhớ không nhầm là Python đóng biến vào một Object), xử lý match, result, option, còn nhiều thứ khác nhưng các bạn sẽ được trải nghiệm nếu để Compiler dạy bạn
- Khiến mình cảm thấy mình đỉnh vl, lập trình bằng Rust khiến mình cảm thấy mình thông minh hơn, hiểu thêm về máy tính (Phải hiểu thì mới hiểu các Rustacean khác nói gì).
- BỔ SUNG:
cargothis,cargothat, trầm cảm với cách mà một số ngôn ngữ khác muốn build dự án, thử nghịch C/C++ thì nó bắt động meson, ninja rồi cái tệp build của nó nhìn mà muốn buồn không muốn đọc luôn. Nếu dự án viết thuần Rust thì dù to dù nhỏ hay như nào thì đềucargo buildhoặccargo build --release
- Documentation: Thấy nhiều ông chê khá nhiều crate có Documentation kém.
- Không có GC: Là điểm cộng cho Performance nhưng là điểm trừ cho mấy ông lười. Đọc tin gần đây thì Rust có kế hoạch hỗ trợ partial borrow, nhưng về cơ bản tui nghĩ vẫn sẽ xoay quanh Lifetime, Ownership.
- Học khó: Syntax lạ, nhiều khái niệm trời ơi đất hỡi
- Bắt tuân theo các programming convention từ đầu: Nếu mấy ông lười thì đây là ác mộng.
- Hệ sinh thái (Theo các Rustacean khác) chưa quá trưởng thành, ra được gần 10 năm tính đến năm 2024, không thể nào xịn bằng JS, Python, Java, C++ với các thứ được vì hỗ trợ, Documentation, Framework, Libraries hoặc các thứ. Nhưng tốc độ phát triển của Rust cũng nhanh vd
Không biết có là nói quá không khi nói điều này, mình thực sự thấy Rust giúp mình hoàn thành công việc, cho mình cảm giác mình là một người lập trình chuyên nghiệp. Nó nghiêm khắc, nó bắt mình tuân theo rất nhiều luật, xử lý rất nhiều lỗi. Tuy hiện tại chương trình của mình chưa đạt đến độ chín như các Rustacean mình có cơ hội được trò chuyện trên mạng. Nhưng mình vẫn sẽ tiếp tục học để đưa phần mềm của mình đạt đến chất lượng gần như không thể bàn cãi.
Tính đến thời điểm hiện tại mình đã
- Hoàn thành The Book (Sách học lập trình Rust, tên đầy đủ là “Rust Programming Language Book”). Bản dịch của chú daohainam` trên Github mới đến Chương 11 (Tiếng Việt) nên còn lại là đọc Tiếng Anh, bị lỗi thuật ngữ chút, cũng may là từ đầu học bằng The Book xong rồi mới chuyển về Tiếng Việt học lại. Mất mấy tuần trời mới hiểu được tương đối cơ chế Ownership, Borrowing và Reference rồi cả Result<> và Option, unwrap() và Lifetime các kiểu

- Đọc được một chút (Mình chỉ tham khảo trong lúc học The Book thôi) Rust By Example.
- Hoàn thiện hết 98 Problems trong Rustlings
- (09/06/2024) - Đang thực hiện 20 dự án CLI Programs ngắn trên Github (Thử thách trên Github). Đồng thời tự mò thêm trong The Coding Den và The Rust Programming Community trên Discord (Có nhiều ông chỉ cho các coding practices rồi cách lập trình safe
- Đang đọc sách Rust CLI, Nursery, Rust Patterns, Too Many Lists .v.v. thử áp dụng các quy tắc lập trình ở đó vào trong dự án của mình (18/07/2024)
Cập nhật ngày 18/07: Mãi mới biết đến
cargo clippy, giờ nghiện Rust không lối thoát (IDE: Lapce)
Sửa lần cuối:

cách đây chục năm cũng có mấy topic dạng này, cũng mấy ông thần vào khịa qua khịa lại so kiến thức với nhau
lúc đó thay vì rust lại là golang 