2008년 05월 30일
Effective Java 2nd Edition
Amazon에서 예약주문 단계에서 판매상태로 바뀌었습니다.
http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1212115691&sr=8-1
회사에서 Yes24에서 책을 주문할 수 있는 쿠폰을 주기 때문에 저는 공짜로 보기 위해서 거기서 주문할 수 있을 때까지 기다리고 있는 중입니다.
Joshua Bloch과의 인터뷰를 보니 역시 Generics등 Java5 이후의 주제들에 대해서 내용이 보강되었다고 하네요. 정확히는 21개의 항목과 83페이지가 늘어났다고 합니다. 기대가 되는군요.
Book Excerpt and Interview: Effective Java, Second Edition
더불어 121페이지의 예제코드의 실수도 언급되어 있길래 옮겨봅니다.
지금 인쇄판에 들어간 코드
static Object reduce(List list, Function f, Object initVal) {
Object[] snapshot = list.toArray(); // Locks list internally
Object result = initVal;
for (Object o : list)
result = f.apply(result, o);
return result;
}
수정된 내용
static Object reduce(List list, Function f, Object initVal) {
Object[] snapshot = list.toArray(); // Locks list internally
Object result = initVal;
for (Object o : snapshot)
result = f.apply(result, o);
return result;
}
Joshua Bloch의 말에 따르면 다음에 찍는 인쇄판에서는 수정을 하겠지만 현재 시중에 나가는 판에는 이 오류가 포함이 되어 있다고 합니다.
이 책의 초판에 대해서 저도 워낙 많이 추천과 인용을 하고 다녀서 저를 아시는 분들은 이 책 이야기가 이제 지겹다고도 느끼실지도 모릅니다. 그래도 또 한번 해보겠습니다.
Java 개발자는 크게 두 종류로 나눌 수 있습니다. Effective Java의 내용을 아는 사람과 모르는 사람. 이 책을 읽지 않은 개발자가 Java의 API 설계에 참여했던 Joshua Bloch만큼 Java에 대해서 알거나 그만큼 천재가 아닌 경우를 빼고는 이 책을 읽은 개발자보다 좋은 Java 코드를 짜기는 힘들다고 생각합니다. 이 책을 읽지 않고도 자기가 짠 Java 코드를 공개한 적이 있는 사람이라면 읽고 나서는 당장 그 코드를 수정하고 싶어질 것입니다. 이 책을 읽지 않고도 '나는 괜찮은 Java개발자야' 라고 생각한다면 그것이 자만이나 착각일 가능성이 더 높습니다.
2001년도에 초판이 나온 이후로 Java 개발자의 필독서라고도 불려지고 있지만, 여기저기서 만나는 코드를 보면 아직도 이 책을 안 읽은 사람이 많은 것을 알 수 있습니다. 회사 전체에서 쓰는 프레임웍들에 들어간 코드에도 이 책에서 나오는 지침에 어긋나서 잠재적인 문제점을 가지고 있는 경우를 몇 번이나 봤습니다.
Ruby를 배우는 것도 좋고, 디자인 패턴이나 프레임웍을 공부하는 것도 좋습니다. 아니면 Java Language Spec를 바닥부터 공부하는 것도 중요할 수 있습니다. 하지만 그 이전에, Java를 쓰는 프로젝트에 있는 사람이라면 이 책을 읽는 것이 우선일 것입니다. 리팩토링을 배우는 것도 그 대상언어가 Java라면 마틴파울러의 책보다 이 책이 더 중요하다고 생각합니다. 마틴파울러의 리팩토링은 고민을 하고 프로그래밍을 하는 개발자라면 그 책을 읽지 않아도 이미 실천하고 있는 기법들이 많을 것입니다. 그러나 Effective Java의 교훈들은 책을 안 본 사람이 스스로 깨닳기에 힘든 내용도 많습니다.
사실 저도 최근에 책을 다시보니 처음 볼 때 깨닳지 못했던 것도 많이 배우고 있습니다. 그래서 저도 Effective Java의 교훈을 다 익히고 잘 활용하고 있는 사람이라고 말할 수는 없습니다.
그래도 이 책 덕분에 저는 많은 것을 얻었습니다. 이 책에서 배운 것을 바탕으로 쓴 글 덕분에 많은 분들을 알게 되기도 했으니까요. 널리 알려서 좋은 정보가 있으면 가끔이라도 정리해서 여기저기 올리는 일도 이 책을 읽고난 후부터 하게 되었던 것 같습니다.
# by | 2008/05/30 15:57 | 개발 이야기 | 트랙백 | 덧글(0)
2008년 04월 17일
Effective Java에 대한 서평에 재미있는 댓글
대신 Effective Java의 서평 중에서 재밌는 내용을 발견했습니다.
http://www.amazon.com/review/R296QBPY6ZC2LB/ref=cm_cr_pr_cmt?_encoding=UTF8&ASIN=0201310058#wasThisHelpful
E. Richardson says:
처음에 서평쓴 사람이 컴퓨터 과학전공 졸업자로서 35%의 내용정도만 유익했거나 재미있었다고 하니 밑에 답글로 '2년 정도 Java코드를 작성해보고 다시 책을 읽고 다시 서평을 쓴 것을 찾아봐라. 너는 생각을 바꾸게 되거나 진로를 바꾸게 될 것이다.' 라고 적었군요. ^^;
# by | 2008/04/17 12:32 | 개발 이야기 | 트랙백 | 덧글(4)
◀ 이전 페이지 다음 페이지 ▶



