13 điểm bởi GN⁺ 2024-11-30 | 13 bình luận | Chia sẻ qua WhatsApp
  • TLDR: Cuối cùng vẫn là vì việc làm
  • Trong 3 năm, đã trải nghiệm nhiều công việc khác nhau với Rust như code bất đồng bộ/đa luồng, FFI (dùng Bindgen), lập trình kernel (không có std) v.v.
    • Tuy nhiên, hiện tại đã chuyển sang làm lập trình viên C++ thay vì Rust
  • Rust cung cấp công cụ tốt hơn C++ (Cargo), hệ sinh thái thư viện tốt hơn (Crates.io), đồng thời loại bỏ các độ phức tạp như OOP, xử lý ngoại lệ, quản lý bộ nhớ, và rèn cho lập trình viên viết code theo “cách đúng đắn”
  • Nhưng Rust giống như mối quan hệ giữa Betamax và VHS, Mastodon và Twitter: vượt trội về mặt kỹ thuật nhưng thiếu sự chấp nhận rộng rãi
    • Ngôn ngữ lập trình là công nghệ giao tiếp để truyền đạt ý tưởng giữa các lập trình viên, nên mức độ được chấp nhận là yếu tố then chốt quyết định thành công
  • Các ngôn ngữ khác cũng đang trở nên đủ tốt
    • Go: đường cong học tập thấp hơn Rust, tốc độ biên dịch nhanh hơn và cho chu kỳ lặp nhanh
    • C++: đang cải thiện các công cụ an toàn và linting để đối trọng với Rust
    • JavaScript, WASM: hiệu năng tăng lên làm giảm lợi thế của Rust
  • Kiếm việc bằng Rust có những khó khăn rất thực tế
    • Tuyển dụng Rust phần lớn ưu tiên kỹ năng chuyên môn theo lĩnh vực (blockchain, tài chính, machine learning/phân tích dữ liệu, các giao thức mạng ít người biết, an ninh mạng, v.v.), còn Rust được xem là kỹ năng bổ sung
    • Chỉ giỏi Rust thôi thì không đủ để được tuyển; kiến thức miền cụ thể mới được đánh giá quan trọng hơn
  • Chính subreddit này cũng là một phần của vấn đề
    • So với cộng đồng các ngôn ngữ khác (Golang, C++ v.v.), ở đây thiếu các cuộc thảo luận về việc làm liên quan đến Rust
    • Nó giống như “quy tắc đầu tiên của các bài viết Rust Jobs là không nói về Rust Jobs”, và sự cô lập này làm hạn chế tầm ảnh hưởng của ngôn ngữ
  • Việc thiếu hỗ trợ từ doanh nghiệp cũng đáng để nhắc tới
    • Phần lớn các ngôn ngữ từng thành công trước đây đều có sự hậu thuẫn của các tập đoàn lớn
      • Ví dụ: IBM (Fortran), AT&T (C), Microsoft (C#), Google (Python), Apple (Swift)
    • Rust thiếu một nhà tài trợ lớn rõ ràng hoặc một bên bảo trợ mạnh mẽ trong việc thúc đẩy khách hàng áp dụng
  • Rust có thể sẽ đi theo vết xe đổ của những công nghệ mang tính đổi mới nhưng thất bại về mặt đại chúng như Lisp, Smalltalk

13 bình luận

 
reagea0 2024-12-03

Cứ mỗi lần lại có người nói C++ sắp bị thay thế, mà cái “mỗi lần” đó đã lặp đi lặp lại suốt bao năm nay..

 
joone 2024-12-03

"Rust có thể đi vào vết xe đổ của những công nghệ mang tính đột phá nhưng thất bại về mặt đại chúng như Lisp hay Smalltalk"

Tôi khó mà đồng ý với câu cuối cùng. Nó đã được sử dụng khá nhiều trong ngành rồi.

 
ahwjdekf 2024-12-02

Nghe nói với Rust còn có thể tạo ra năng lượng vô hạn.
https://www.reddit.com/r/ProgrammerHumor/comments/1h3v3uz/freeenergy/

 
bus710 2024-12-03

Bạn nghĩ người dùng Rust đều là kẻ ngốc sao (giật mình)

 
cosine20 2024-12-02

Khi Java mới ra mắt, mọi người cũng từng đặt nhiều kỳ vọng, nhưng đã mất rất nhiều thời gian để nó được sử dụng rộng rãi ở nhiều nơi.

 
kandk 2024-12-02

Có vẻ như bản thân ngành C++ khá bảo thủ. Rồi sẽ dần dần chuyển sang Rust thôi.

 
dh0rwwit 2024-12-01

Muốn Rust thành công thì ở Thung lũng Silicon phải có ai đó khởi nghiệp bằng Rust, rồi thành công lớn và tuyển dụng các lập trình viên Rust..

 
clastneo 2024-12-01

Cũng hơi giống ở Hàn Quốc, nếu không biết một ngôn ngữ nhất định thì sẽ khó tìm được việc làm.

 
dalinaum 2024-12-01

Tôi nghĩ bài viết về VHS và Beta có khá nhiều điều mang tính huyền thoại.

Mọi người thường xem thất bại của công nghệ ngoài dòng chính đơn thuần là thất bại về marketing, và đôi khi còn cho rằng công nghệ ngoài dòng chính mới là thứ vượt trội hơn. Khi Betamax của Sony thua VHS của JVC cũng vậy. Mọi người nói rằng Betamax ưu việt hơn đã thua cuộc.

Nhưng có những điều mà mọi người không biết.

Chỉ VHS mới là công nghệ có thể bao phủ được 2 tiếng. Betamax có dung lượng không đủ để xử lý những nội dung sát thủ như phim điện ảnh. Video 2 tiếng được hỗ trợ ở Beta 2, nhưng người ta không biết rằng nó đã phải hy sinh ưu điểm về chất lượng hình ảnh.

VHS có cơ chế máy móc vượt trội nên có thể tua lại nhanh hơn rất nhiều. Betamax khó xem bằng cách tua lùi hoặc tua tiến.

Trong hệ PAL, VHS hiển thị tốt, trong khi Betamax chỉ dành cho NTSC nên trên PAL thì rất tệ. Đây là lý do khiến Betamax khó thành công ở châu Âu.

Ngay cả khi xét một cách khách quan, tôi thấy VHS là giải pháp cân bằng hơn rất nhiều.

Tương tự, tôi nghĩ Windows NT là công nghệ cân bằng hơn nhiều so với Mac OS cổ điển. Apple cũng chậm hơn Microsoft tới 6 năm trong việc đưa ra hệ điều hành tiền nhiệm chiếm quyền.

 
woonki 2024-12-02

Đồng ý. +1

 
ndrgrd 2024-12-01

Cảm ơn bạn đã cung cấp thông tin hữu ích. Đây là lần đầu tôi biết rằng việc tua lại trên Betamax lại khó khăn.

 
GN⁺ 2024-11-30
Ý kiến Hacker News
  • Rust là công nghệ vượt trội hơn C++, nhưng việc được chấp nhận và phổ biến hóa mới là điều quan trọng

    • Rust tốt hơn theo cách tương tự như Betamax tốt hơn VHS, Mastodon tốt hơn Twitter, bàn phím Dvorak tốt hơn QWERTY, Esperanto tốt hơn tiếng Anh, và Lua tốt hơn Javascript
    • Các ý tưởng của Rust cũng đang được sử dụng trong những ngôn ngữ khác như Swift
  • Khi tìm việc C++ ở Anh, người ta có nói đến sự quan tâm dành cho Rust, nhưng trên thực tế lại hiếm có cơ hội sử dụng

    • Việc làm Rust chủ yếu liên quan đến fintech tiền mã hóa và ngành công nghiệp quốc phòng
    • Thật đáng tiếc khi Rust chỉ được dùng như một phương án thay thế cho Ada
  • Không cần phải từ bỏ C++ để sử dụng Rust

    • Nên tìm kiếm cơ hội áp dụng Rust trong các dự án mới
  • Tình yêu dành cho Rust có thể bắt đầu từ các dự án sở thích

    • Rất khó để thực hiện những đợt cập nhật quy mô lớn sang Rust tại nơi làm việc
    • Nên cân nhắc các ngôn ngữ an toàn bộ nhớ khác trước
  • Có người yêu thích ngôn ngữ C và cởi mở với việc học ngôn ngữ mới

    • Học từ những người chỉ trích C không tạo được sự tin tưởng
    • Nếu muốn quảng bá Rust, những người yêu thích C nên là người giới thiệu nó
  • Việc chọn ngôn ngữ là một quyết định thiết kế

    • Thật không hợp lý khi đánh giá ưu nhược điểm của một ngôn ngữ mà không nêu rõ trường hợp sử dụng và yêu cầu của dự án
  • C và C++ là những ngôn ngữ của một thời kỳ nhất định

    • C++ cuối cùng rồi cũng sẽ bị thay thế, nhưng sẽ cần thời gian cho đến khi một thế hệ lập trình viên mới xuất hiện
  • Cũng có những người thích dùng C++

    • Những ngôn ngữ mới như Kotlin cũng tốt, nhưng rồi họ vẫn quay lại với C++
  • So sánh Betamax với VHS, và X với Mastodon là một điểm thú vị

    • Nếu muốn một ngôn ngữ lập trình an toàn và có độ toàn vẹn cao, họ sẽ chọn SPARK2014
    • Rust đã trở nên phổ biến trong giới công nghệ, nhưng SPARK lại được sử dụng trong các lĩnh vực như hàng không vũ trụ
    • Việc một ngôn ngữ lập trình được chấp nhận có liên quan cả đến xu hướng lẫn các ưu nhược điểm kỹ thuật
 
chureee 2024-12-02

Tôi đã bỏ cuộc cách đây vài tiếng.
Tôi đã thử làm firmware cho Raspberry Pico bằng Rust.
Hoàn toàn không thể tìm được tài liệu xử lý sự cố nào thực sự hữu ích. 😤