2 คะแนน โดย GN⁺ 2024-09-24 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เป็นหนังสือที่ว่าด้วยการจัดโครงสร้างโปรแกรม Java โดยยึด ข้อมูลธรรมดา (plain data) เป็นศูนย์กลาง เพื่อให้ได้โครงสร้างที่เรียบง่ายกว่า เล็กกว่า และเข้าใจง่ายกว่า
  • ครอบคลุมฟีเจอร์ใหม่ ๆ ของ Java เช่น records, pattern matching, with expressions และ sum/product types แต่จุดเน้นไม่ได้อยู่ที่การอธิบายฟีเจอร์ หากอยู่ที่วิธีคิดในการจัดโครงสร้างโปรแกรม
  • ใช้แนวคิดหลักว่า “representation is the essence of programming” โดยมองว่าหากแสดงข้อมูลของโดเมนได้ดี การออกแบบส่วนที่เหลือของระบบก็จะตามมาอย่างเป็นธรรมชาติ
  • Data-Oriented Programming in Java จาก Manning เปิดให้เข้าถึงแบบ early access แล้วในขณะนี้ และกำลังรับฟีดแบ็กจากผู้อ่าน
  • หากใช้โค้ดส่วนลด mlkiehl ภายในวันที่ 9 ตุลาคม จะได้รับ ส่วนลด 50%

การจัดโครงสร้างโปรแกรม Java โดยยึดข้อมูลเป็นศูนย์กลาง

  • Data-Oriented Programming in Java เป็นหนังสือที่รวบรวมประสบการณ์เกี่ยวกับว่าการพัฒนาอย่างมีประสิทธิภาพใน Java คืออะไร
  • นำเสนอแนวทางที่วางแกนหลักของการจัดการโปรแกรมไว้ที่ โครงสร้างที่ยึดข้อมูลเป็นศูนย์กลาง ซึ่งนำไปสู่โค้ดที่เรียบง่ายกว่า เล็กกว่า และเข้าใจง่ายกว่า
  • ฟีเจอร์ภาษา Java รุ่นใหม่ ๆ

    • records, pattern matching, with expressions และ sum/product types ช่วยสนับสนุน data-oriented programming
    • อย่างไรก็ตาม จุดเน้นของหนังสือไม่ได้อยู่ที่ฟีเจอร์เฉพาะหรือวิธีใช้เครื่องมือ แต่อยู่ที่ว่าจะจัดโครงสร้างโปรแกรมอย่างไรให้เหมือนกับการ “สร้างบ้าน”

ข้อมูล early access และส่วนลด

  • หนังสือเปิดให้เข้าถึงแบบ early access อยู่ในขณะนี้ และกำลังรับฟีดแบ็ก
  • ดูได้ที่หน้า Manning: Data-Oriented Programming in Java
  • หากใช้โค้ด mlkiehl ภายในวันที่ 9 ตุลาคม จะได้รับ ส่วนลด 50%

1 ความคิดเห็น

 
GN⁺ 2024-09-24
ความคิดเห็นจาก Hacker News
  • ขอแสดงความยินดีในฐานะคนที่เคยเขียนหนังสือสายเทคนิคมาก่อน

    • ถ้านี่คือหนังสือเล่มแรก คุณก็คงกำลังเรียนรู้ว่ามันเป็นงานที่ต้องทุ่มเทด้วยใจรัก
    • เคยได้รู้จัก "การเขียนโปรแกรมเชิงข้อมูล" จาก Clojure
    • นวัตกรรมล่าสุดของ Java ทำให้สิ่งนี้ง่ายขึ้น
    • มีแผนจะลองดูหนังสือและขออวยพรให้ประสบความสำเร็จ
  • พยายามจะซื้อหนังสือแต่เกิดข้อผิดพลาด

    • สงสัยว่ารับมืออย่างไรกับสถานการณ์ที่ฟีเจอร์ภาษาใหม่ของ Java ยังอยู่ในสถานะ "preview"
    • ตัวอย่างเช่น String Templates ถูกถอดออกใน JDK 23
  • ซื้อหนังสือแล้วและอ่านบทแรก

    • บทแรกดีมาก
    • ฟีเจอร์ใหม่อย่าง Record types, switch statements เป็นต้น จะทำให้โปรแกรมเมอร์ Java คิดเรื่อง type บ่อยขึ้น
  • กล่าวถึงว่าบรรณาธิการด้านเทคนิคคือ Brian Goetz และแสดงความสนใจ

  • แสดงความยินดีและแนะนำให้นำไปโพสต์ในคอมมูนิตี้ Java บน Reddit

  • ขอแสดงความยินดีที่เขียนหนังสือเสร็จ และชี้ประโยคที่ทำให้งงในบทแรก

    • เสนอให้แก้เป็น "only cost was some time"
    • คิดว่าถ้าปรับใช้แนวทางแบบ functional ก็จะหาแพตเทิร์นที่ดีที่สุดได้
    • คุณสมบัติของข้อมูลมักถูกใช้งานในฐานะ "leaf node" เป็นหลัก และ type ไม่ได้สำคัญมากนัก
    • หากยอมรับสถาปัตยกรรมแบบ evolutionary ก็ไม่จำเป็นต้องกำหนดนิยามข้อมูลให้ถูกต้องครบถ้วนตั้งแต่แรก
    • หวังว่าจะได้เรียนรู้ว่าหนังสือนำสิ่งนี้ไปใช้อย่างไร
  • ขอแสดงความยินดีที่เริ่มต้นเข้าถึงแนวทางนี้ และรู้จักการเขียนโปรแกรมเชิงข้อมูลจาก Clojure และ F#

    • สงสัยว่าคุณเข้าหามันอย่างไรใน Java จึงซื้ออีบุ๊กมา
    • ขอให้หนังสือเสร็จสมบูรณ์อย่างราบรื่น
  • ขอแสดงความยินดีที่เขียนหนังสือเสร็จ และเล่าประสบการณ์ว่าเคยเขียนหนังสือเทคนิคมาก่อน

    • นึกถึงยุคที่หนังสือ Java ในอดีตหนามาก
    • กล่าวถึงหนังสือเล่มบางชื่อ "Java -- the Good Parts"
  • แสดงความยินดี และแนะนำหนังสือที่ตนกำลังทำอยู่สำหรับคนที่มองหาหนังสือ Java สมัยใหม่

    • อธิบายวิธีสร้าง single-page app ด้วย Java โดยใช้เฟรมเวิร์ก Flavour
    • เขียนด้วย Java บริสุทธิ์ 99.9% โดยไม่ใช้ปลั๊กอินหรือส่วนขยาย
    • ให้ลิงก์ไปยังโค้ดตัวอย่าง ตอนพอดแคสต์ที่เกี่ยวข้อง และเดโม