2 điểm bởi GN⁺ 2024-09-24 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trách nhiệm này trình bày cách tổ chức chương trình Java xoay quanh dữ liệu thuần túy (plain data) để tạo ra cấu trúc đơn giản hơn, nhỏ gọn hơn và dễ hiểu hơn
  • Có đề cập đến các tính năng Java gần đây như records, pattern matching, with expressions, sum/product types, nhưng trọng tâm nằm ở tư duy tổ chức chương trình hơn là giải thích tính năng
  • Lấy “representation is the essence of programming” làm ý tưởng cốt lõi, cho rằng nếu biểu diễn tốt dữ liệu miền nghiệp vụ thì phần còn lại của thiết kế hệ thống sẽ tự nhiên đi theo
  • Data-Oriented Programming in Java của Manning hiện đang được cung cấp dưới dạng early access và đang nhận phản hồi từ độc giả
  • Đến ngày 9 tháng 10, dùng mã giảm giá mlkiehl sẽ được giảm 50%

Tổ chức chương trình Java xoay quanh dữ liệu

  • Data-Oriented Programming in Java là cuốn sách tổng hợp kinh nghiệm về thế nào là phát triển hiệu quả trong Java
  • Cuốn sách bàn về cách tiếp cận đặt trọng tâm quản lý chương trình vào cấu trúc hướng dữ liệu, từ đó dẫn đến mã nguồn đơn giản hơn, nhỏ gọn hơn và dễ hiểu hơn
  • Các tính năng ngôn ngữ Java gần đây

    • records, pattern matching, with expressions, sum/product types hỗ trợ lập trình hướng dữ liệu
    • Tuy nhiên, trọng tâm của sách không nằm ở cách dùng một tính năng hay công cụ cụ thể, mà ở cách tổ chức chương trình như “xây nhà”

Thông tin early access và ưu đãi giảm giá

  • Cuốn sách hiện đang được cung cấp dưới dạng early access và đang nhận phản hồi
  • Có thể xem trên trang Manning: Data-Oriented Programming in Java
  • Đến ngày 9 tháng 10, dùng mã mlkiehl sẽ được giảm 50%

1 bình luận

 
GN⁺ 2024-09-24
Ý kiến trên Hacker News
  • Chúc mừng từ một người từng có kinh nghiệm viết sách kỹ thuật

    • Nếu đây là cuốn sách đầu tiên, hẳn bạn đang học rằng đây là một công việc làm vì đam mê
    • Đã biết đến "lập trình hướng dữ liệu" nhờ Clojure
    • Những đổi mới gần đây của Java khiến điều này trở nên dễ dàng hơn
    • Sẽ xem qua cuốn sách và chúc nó thành công
  • Đã định mua sách nhưng gặp lỗi

    • Tò mò không biết bạn đã xử lý thế nào với việc các tính năng ngôn ngữ mới của Java vẫn còn ở trạng thái "preview"
    • Ví dụ, String Templates đã bị loại bỏ trong JDK 23
  • Đã mua sách và đọc chương đầu tiên

    • Chương đầu tiên rất hay
    • Các tính năng mới như record types, switch statements, v.v. sẽ khiến các lập trình viên Java suy nghĩ về kiểu dữ liệu thường xuyên hơn
  • Nhắc đến việc Brian Goetz là biên tập viên kỹ thuật và bày tỏ sự quan tâm

  • Gửi lời chúc mừng và khuyên nên đăng lên cộng đồng Java trên Reddit

  • Chúc mừng vì đã hoàn thành cuốn sách và chỉ ra một câu gây khó hiểu ở chương đầu

    • Đề xuất sửa thành "only cost was some time"
    • Cho rằng nếu áp dụng cách tiếp cận hàm, có thể tìm ra mẫu tốt nhất
    • Thuộc tính dữ liệu chủ yếu được tiêu thụ như các "leaf node", và kiểu dữ liệu không quá quan trọng
    • Nếu chấp nhận kiến trúc tiến hóa, thì không cần phải xác định dữ liệu thật chính xác ngay từ đầu
    • Mong được tìm hiểu cách điều này được áp dụng trong sách
  • Chúc mừng vì đã bắt đầu cách tiếp cận ban đầu, đồng thời cho biết đã biết về lập trình hướng dữ liệu từ Clojure và F#

    • Tò mò về cách tiếp cận điều này trong Java nên đã mua bản điện tử
    • Chúc cuốn sách hoàn thiện tốt đẹp
  • Chúc mừng vì đã hoàn thành cuốn sách và chia sẻ kinh nghiệm từng viết sách kỹ thuật trước đây

    • Nhớ lại thời những cuốn sách Java ngày xưa còn rất dày
    • Nhắc đến một cuốn sách mỏng có tên "Java -- the Good Parts"
  • Gửi lời chúc mừng và giới thiệu cuốn sách mình đang thực hiện cho những ai đang tìm sách về Java hiện đại

    • Giải thích cách tạo ứng dụng single-page bằng Java với framework Flavour
    • Được viết bằng 99.9% Java thuần, không cần plugin hay extension
    • Cung cấp mã mẫu cùng các liên kết đến tập podcast và bản demo liên quan**