GN⁺: Show HN: Data Oriented Programming in Java
(news.ycombinator.com)- 이 책은 Java에서 효과적인 개발이 무엇인지에 대한 모든 것을 요약한 것임
- 데이터를 "단순한 데이터"로 조직하는 방법과 그로 인해 발생하는 놀라운 이점에 대해 다룸
- 데이터를 중심으로 구축된 프로그램은 더 간단하고, 작으며, 이해하기 쉬움
Java의 변화
- Java는 최근 몇 년 동안 급격히 변화했음
- 데이터 지향 프로그래밍을 지원하는 새로운 언어 기능(레코드, 패턴 매칭,
with
표현식, 합 및 곱 타입)을 도입했음 - 그러나 이 책은 도구에 관한 것이 아님
- 도구를 공부하는 것만으로는 집을 짓는 방법을 배울 수 없음
- 이 책은 집 짓기에 초점을 맞추고 있음
- 토지를 선택하고, 기초를 놓고, 어떤 폭풍에도 견딜 수 있는 집을 짓는 방법을 설명함
DoP의 기본 아이디어
-
DoP는 매우 간단한 아이디어에 기반을 두고 있음
-
"표현은 프로그래밍의 본질이다"라는 개념은 컴퓨팅의 시작부터 사람들이 재발견해온 것임
-
도메인의 데이터를 잘 캡처하면 시스템의 나머지 부분이 자연스럽게 자리 잡는 경향이 있음
-
이 책은 현재 초기 접근 단계에 있음
-
피드백을 듣고 싶음
-
10월 9일까지 코드
mlkiehl
을 사용하면 50% 할인을 받을 수 있음
GN⁺의 정리
- 이 책은 Java에서 데이터 지향 프로그래밍의 중요성과 이점을 강조함
- 데이터 중심의 접근 방식이 프로그램을 더 간단하고 이해하기 쉽게 만듦
- Java의 최신 기능을 활용하여 더 나은 프로그램을 작성하는 방법을 설명함
- 데이터 지향 프로그래밍에 관심 있는 개발자에게 유용할 것임
- 유사한 기능을 가진 다른 책으로는 "Clean Code"와 "Effective Java"가 있음
Hacker News 의견
-
기술 서적을 쓴 경험이 있는 사람으로서 축하의 말을 전함
- 첫 책이라면, 이는 사랑의 노동임을 배우고 있을 것임
- Clojure 덕분에 "데이터 지향 프로그래밍"에 노출되었음
- Java의 최근 혁신이 이를 더 쉽게 만들어줌
- 책을 살펴볼 예정이며, 성공을 기원함
-
책을 구매하려 했으나 오류 발생
- Java의 새로운 언어 기능들이 여전히 "미리보기" 상태인 상황에 대해 어떻게 대처했는지 궁금함
- 예를 들어, String Templates는 JDK 23에서 제거됨
-
책을 구매하고 첫 장을 읽었음
- 첫 장이 매우 좋았음
- Record types, switch statements 등의 새로운 기능이 Java 프로그래머들이 타입을 더 자주 생각하게 만들 것임
-
기술 편집자가 Brian Goetz임을 언급하며 관심을 보임
-
축하의 말을 전하며 Reddit의 Java 커뮤니티에 게시할 것을 권장함
-
책을 완성한 것에 대해 축하하며, 첫 장에서 혼란스러운 문장을 지적함
- "only cost was some time"이라고 수정 제안
- 함수형 접근 방식을 채택하면 최상의 패턴을 찾을 수 있다고 생각함
- 데이터 속성은 주로 "리프 노드"로 소비되며, 타입은 크게 중요하지 않음
- 진화적 아키텍처를 수용하면 데이터 정의를 처음부터 정확히 할 필요는 없음
- 책에서 이를 어떻게 적용했는지 배우기를 기대함
-
초기 접근을 시작한 것에 대해 축하하며, Clojure와 F#에서 데이터 지향 프로그래밍을 알고 있음
- Java에서 이를 어떻게 접근했는지 궁금하여 전자책을 구매함
- 책의 완성을 기원함
-
책을 완성한 것에 대해 축하하며, 과거에 기술 서적을 쓴 경험을 공유함
- 과거 Java 서적들이 두꺼웠던 시절을 회상함
- "Java -- the Good Parts"라는 얇은 책을 언급함
-
축하의 말을 전하며, 현대 Java 책을 찾는 사람들을 위해 자신이 작업 중인 책을 소개함
- Flavour 프레임워크를 사용하여 Java로 싱글 페이지 앱을 만드는 방법을 설명함
- 플러그인이나 확장 없이 99.9% 순수 Java로 작성됨
- 샘플 코드와 관련 팟캐스트 에피소드 및 데모 링크를 제공함