2 điểm bởi GN⁺ 2025-12-22 | 2 bình luận | Chia sẻ qua WhatsApp
  • Trang web chính thức của Ruby đã được làm mới với thiết kế và cấu trúc mới, nhấn mạnh trực quan triết lý và hệ sinh thái của ngôn ngữ
  • Giải thích sức hấp dẫn của ngôn ngữ xoay quanh cú pháp đơn giản, hệ sinh thái phong phú, năng suất, và văn hóa cộng đồng của Ruby
  • Truyền tải giá trị và triết lý của Ruby thông qua các trích dẫn từ nhà sáng lập Yukihiro Matsumoto (Matz), David Heinemeier Hansson (RoR), Dave Thomas (The Pragmatic Programmer), Amanda Perino (giám đốc Rails Foundation) cùng nhiều người khác
  • Nhấn mạnh tinh thần “MINASWAN (Matz is nice and so we are nice)” của cộng đồng Ruby, làm nổi bật sự hợp tác giữa các nhà phát triển trên toàn thế giới và văn hóa thân thiện như một tài sản cốt lõi

Tổng quan về Ruby

  • Ruby là ngôn ngữ lập trình được giới thiệu với các nhà phát triển từ năm 1995 như “người bạn thân nhất của lập trình viên”
    • Phiên bản mới nhất là 3.4.8, có cung cấp liên kết tải xuống
    • Cung cấp môi trường tương tác Try Ruby cho phép chạy mã trực tiếp trên trang web
  • Các ví dụ mã cho thấy cú pháp trực quan của Ruby như xử lý chuỗi, thao tác mảng và định nghĩa lớp
    • Bao gồm ví dụ say = "I love Ruby", phép hiệu mảng và ví dụ lớp Greeter

Các đặc điểm chính của Ruby

  • Hệ sinh thái (Ecosystem)

    • Ruby sở hữu hệ sinh thái thư viện đồ sộ gồm hơn 200.000 gem
      • Hỗ trợ nhiều lĩnh vực, từ phát triển web đến xử lý dữ liệu
      • Cung cấp các framework và công cụ đã trưởng thành như Rails, RSpec, Bundler
    • Yukihiro Matsumoto cho biết mong muốn “làm cho lập trình viên hạnh phúc” của ông đã được hiện thực hóa thông qua cộng đồng
  • Đơn giản (Simple)

    • Ruby là ngôn ngữ dễ đọc, dễ viết với cú pháp gần với ngôn ngữ tự nhiên
      • Loại bỏ các ký hiệu phức tạp và cú pháp dài dòng để có thể biểu đạt trực tiếp
      • Thân thiện với người mới bắt đầu và dễ bảo trì đối với các nhà phát triển giàu kinh nghiệm
    • David Heinemeier Hansson đánh giá Ruby là “ngôn ngữ lập trình đẹp nhất”
  • Năng suất (Productivity)

    • Cú pháp giàu khả năng biểu đạt của Ruby giúp hiện thực hóa logic phức tạp với ít mã hơn
      • Nhờ metaprogrammingblock, có thể giảm lặp lại và tập trung vào giải quyết vấn đề cốt lõi
      • Các framework kiểm thử phong phú giúp duy trì chu kỳ phát triển nhanh và chất lượng
    • Dave Thomas mô tả Ruby là “ngôn ngữ biến ý tưởng thành mã một cách nhanh chóng”
  • Cộng đồng (Community)

    • Cộng đồng Ruby duy trì văn hóa ấm áp và hòa nhập xoay quanh tinh thần “MINASWAN
      • Các hội nghị và meetup được tổ chức sôi động trên khắp thế giới
      • Tạo ra môi trường hợp tác, nơi mọi người từ người mới bắt đầu đến chuyên gia đều giúp đỡ lẫn nhau
    • Amanda Perino mô tả cộng đồng Ruby là “một không gian đầy đam mê và sáng tạo, nơi chia sẻ niềm vui lập trình”

Tham gia cộng đồng

  • Những người dùng Ruby hoạt động tích cực được gọi là Rubyist
    • Câu “Rubyists who love Ruby are all nice #rubyfriends” nhấn mạnh sự thân thiện của cộng đồng
    • Có thể xem thông tin cộng đồng và lịch các hội nghị quốc tế trên trang chính thức

Tin tức mới nhất

  • Công bố Ruby 4.0.0-preview3: giới thiệu Ruby::Box và ZJIT, cùng nhiều cải tiến khác (công bố ngày 18 tháng 12 năm 2025)
  • Phát hành chính thức Ruby 3.4.8 (ngày 17 tháng 12 năm 2025)
  • Cũng cung cấp lịch sử cập nhật của các phiên bản trước như Ruby 4.0.0-preview2, Ruby 3.3.10

Thông báo bảo mật

  • Cung cấp danh sách các lỗ hổng CVE quan trọng được báo cáo gần đây
    • Ví dụ: CVE-2025-61594 (URI Credential Leakage), CVE-2025-58767 (REXML DoS), CVE-2025-24294 (resolv gem DoS) v.v.
    • Mỗi lỗ hổng đều ghi rõ người đăng và ngày tháng

2 bình luận

 
roxie 2025-12-22

Khi xem trên di động thì viền đen bên phải có vẻ dày hơn một chút, đây có phải là chủ ý không?

 
GN⁺ 2025-12-22
Ý kiến trên Hacker News
  • Trong 3 tuần qua tôi đã dùng Cursor để hiện đại hóa một dự án Ruby on Rails đã 12 năm tuổi
    Quay lại với Ruby sau một thời gian dài thật sự rất vui. Làm Typescript, Python, Rust rồi quay lại Ruby khiến tôi có nhiều cảm xúc mới
    Thật mừng khi bầu không khí tích cực của cộng đồng vẫn còn nguyên. Tôi tự hào về cộng đồng Ruby, nơi đã tạo ra những sản phẩm thực sự hữu ích

    • Tôi đã dùng Ruby khoảng 16 năm. Dù vài năm gần đây chủ yếu dùng Python, sáng nay khi bắt đầu một dự án cá nhân mới tôi đã thử Ruby 3.4
      Tôi thực sự hài lòng với lựa chọn này. Ruby vẫn là một ngôn ngữ rất thú vị để làm việc cùng
  • Nhiều web designer không tính đến UX khi trang chưa tải xong hoàn toàn hoặc khi trigger cuộn không hoạt động đúng
    Những kiểu animation số như “0 happy customers”, hay chèn animation tải 100% cho một website vốn không cần JS, đều là không cần thiết

    • Tôi nghĩ các designer hẳn đã cân chỉnh khá nhiều dựa trên phản hồi từ cộng đồng. Tôi hiểu rất rõ việc này không hề dễ
      Khi gần đây rebuild raku.org, tôi cũng có trải nghiệm tương tự.
      Tôi nghĩ đơn giản là tốt nhất, nhưng cảm quan thiết kế của Ruby có lẽ sẽ hấp dẫn được công chúng rộng hơn
    • Ban đầu tôi tưởng các đoạn code sample sẽ chạy ngay, nhưng hóa ra phải bấm hai lần mới chạy
      Dù vậy, các ví dụ vẫn khá thú vị vì thể hiện tốt những tính năng độc đáo của Ruby như thao tác trên list
    • Tôi thích thiết kế tối giản mang cảm giác thập niên 90 như HN. Các website ngày nay phức tạp một cách không cần thiết
    • Việc tải từng code snippet bằng một HTTP request riêng là điều khá đáng tiếc
      Dù vậy, bản thân các ví dụ rất tốt nên tôi định áp dụng vào mastrojs.github.io của mình
    • Thực ra kiểu vấn đề này có thể giải quyết dễ dàng chỉ với một chút chú ý trong HTML/JS
      Một web developer giỏi không chỉ là người “làm thật nhanh rồi phá thật nhanh”, mà là người suy nghĩ cẩn thận về cách mọi thứ vận hành
  • Tôi thích thiết kế của website, nhưng về mặt kỹ thuật thì có phần hơi thô
    Việc tối ưu hình ảnh chưa tốt, JS thừa, và dùng Tailwind quá nhiều đều khá đáng tiếc
    Nếu ai đó không biết Ruby nhìn vào, họ có thể hiểu lầm rằng chính ngôn ngữ này cũng cẩu thả như vậy

    • Tôi muốn biết cụ thể hơn phần nào chưa được tối ưu
  • Website mới nhìn rất đẹp, nhưng không có chức năng chọn phiên bản tài liệu, nên khá bất tiện
    Việc phải tự sửa URL là khá phiền.
    Sẽ tốt hơn nếu tham số tìm kiếm tài liệu được lưu trong URL để có thể truy cập nhanh bằng tính năng tìm kiếm tùy chỉnh của Chrome

  • Trước đây khi so sánh website của nhiều ngôn ngữ, tôi từng ấn tượng với câu “Ruby is…” trên ruby-lang.com
    Đó là một ví dụ hay về cách giới thiệu một ngôn ngữ phức tạp theo cách đơn giản và tự nhiên

    • Nhưng slogan mới “Programmer’s best friend” lại mơ hồ và kém hiệu quả
      Nhìn vào ảnh chụp màn hình phiên bản cũ,
      có thể thấy trước đây website giải thích rõ ràng đặc điểm và ưu điểm của Ruby.
      Theo tôi, thay vì dùng từ “người bạn”, những mô tả cụ thể hơn như “một ngôn ngữ động dễ đọc với cú pháp ngắn gọn” sẽ tốt hơn nhiều
  • Thiết kế mới ổn nhưng phụ thuộc vào JS quá nhiều
    Nếu tắt JS thì ví dụ code không tải được và bị kẹt ở “0%”
    Nếu chỉ là tải nội dung tĩnh đơn giản, hoàn toàn có thể nhúng luôn vào HTML
    Làm một website nhẹ và phản hồi tốt mà không cần JS là điều hoàn toàn khả thi

    • Dung lượng JS chỉ khoảng 9.7kB nên cũng không lớn. Không có tải thêm gì nữa nên tôi thấy vẫn ổn
    • Nhờ JS mà sau lần tải đầu có thể chuyển trang ngay lập tức. Đây là một điểm cộng
    • Nút chuyển dark mode cũng có thể làm chỉ bằng CSS mà không cần JS
  • Trong số các committer chính của website, Claude đứng thứ 3 nên tôi đã tự hỏi không biết có phải AI làm ra hay không
    Nhìn danh sách người đóng góp trên GitHub thì khá thú vị

    • Nhưng nhiều khả năng là do có các commit kèm “Co-Authored-By: Claude”. Có thể AI không trực tiếp viết ra nội dung đó
  • Tôi đã thử chuyển các ví dụ Ruby sang Raku
    Ví dụ 1, Ví dụ 2, Ví dụ 3
    Raku thích dùng {}my $var hơn, nhưng nhìn chung tái hiện khá tốt các ví dụ của Ruby
    Về nội suy chuỗi thì Raku chi tiết hơn một chút, còn thao tác mảng thì Ruby tự nhiên hơn
    Cấu trúc class gần như giống nhau, nhưng Raku cung cấp các tính năng mạnh như đa kế thừa và MOP

    • Lâu rồi mới nghe ai nhắc đến Raku, thấy vui thật. Không biết dạo này có web framework nào ổn không
  • Người khác thì bảo chậm, nhưng trong môi trường của tôi nó tải nhanh ngang HN và trông đẹp hơn nhiều

  • Tôi đã giật mình khi thấy phần trăm loading hiện ra ở giữa màn hình.
    Mấy thứ kiểu này tôi chưa thấy lại từ thời Macromedia Flash

    • Đúng vậy, không phải Micromedia mà là Macromedia