book.jayu.org
코딩 호러의 이펙티브 프로그래밍

코딩 호러의 이펙티브 프로그래밍

제프 앳우드 (지은이), 임백준 (옮긴이)

위키북스·2013-03-29

  • 총류
  • KDC 005.1

로그인하면 내 서재에 추가할 수 있어요.

책 소개

90년대 초반에 프로그래밍을 했던 사람들에게는 백과사전처럼 두툼한 API 책을 손에 들고 다니던 추억이 있다. 인터넷이 잘 발달한 요즘에는 그런 책을 책상 근처에 두는 일마저 없어졌지만, 그때는 일단 인터넷 검색이라는 개념 자체가 없던 시절이었다. PC 통신이나 유즈넷 같이 텍스트 모드 화면을 이용해 질문을 올리고 답변을 구하는 일이 있긴 했지만, 개발자가 코드를 작성하다가 마주친 문제에 도움을 줄만큼 친절한 사람을 만나는 것은 드문 일이었다. 질문에 대한 답이 올라오는 데 몇 주가 걸릴 수도 있고, 아예 답이 올라오지 않는 경우도 많았다. 답이 올라와도 그것이 도움이 된다는 보장조차 없었다. 그래서 그 무렵에는 회사에서 프로그래밍 실력이 뛰어난 선배나 동료를 만나는 것이 각별한 행운이었다. 내가 필요한 API를 머릿속에 잘 정리해 놓고 있는 친구나, 깔끔한 알고리즘을 척척 만들어내는 선배를 만나면 수시로 묻고 도움을 얻으면서 작업을 진행해 나갈 수 있었기 때문이다. 90년대 후반으로 접어들어서 인터넷 검색의 시대가 열리고, 백가쟁명의 시기를 거쳐서 마침내 구글이 인터넷 검색을 평정하자 프로그래머들은 구글 검색을 통해 많은 정보를 얻을 수 있게 되었다. 자기가 사용하는 언어의 API가 인터넷에 웹페이지와 하이퍼링크를 통해 정리돼 있기 때문에 무거운 책은 더는 필요하지 않았다. 이러한 변화는 프로그래밍 지식을 책이나 옆자리의 동료에게 의존해야 했던 시절에 비하면 엄청난 진보였다. 하지만 코드를 작성하는 프로그래머에게 떠오르는 질문은 API에 국한되지 않는다. 인터넷 검색은 내가 필요한 정보를 스스로 찾아서 답을 구하는 데 도움을 주지만, 내가 가진 질문에 대한 직접적인 답을 제공하지는 않는다. 어떤 구체적인 기술적 내용, 특정한 알고리즘, 실행환경의 작동 방식, 언어의 내면 등에 대한 개별적인 궁금증은 쉽게 해소될 수 없는 게 많았다. 제프 앳우드와 조엘 스폴스키가 만든 스택오버플로우는 바로 이러한 인터넷 검색의 한계를 극복하고 프로그래머들에게 실제로 도움이 되는 사이트를 구축하고자 하는 열정을 구현한 아름다운 웹사이트다. (조엘 스폴스키는 라는 책을 통해 한국의 독자들에게도 잘 알려져 있다.) 스택오버플로우가 생긴 것은 불과 몇 년 전이지만 나는 스택오버플로우의 도움 없이 프로그래밍을 하는 것을 상상하기 힘들다. 프로그래밍을 하다가 떠오른 질문에 대한 답을 구하기 위해 구글 검색을 하면 거의 대부분의 답이 자연스럽게 스택오버플로우로 연결되기 때문이다. 배열을 리스트로 변환하는 API가 무엇인지 찾아보고 싶은가? 구글에 “convert array to list”라고 입력해서 검색해보라. 자바 언어로 전환하는 방법과 C#으로 전환하는 방법이 검색 결과의 맨 위에 나타날 것이다. 그리고 두 링크는 모두 스택오버플로우로 연결돼 있을 것이다. 이 책의 저자인 제프 앳우드는 프로그래밍 일도 하고 자신의 비즈니스도 운영하면서 틈틈이 코딩호러(www.codinghorror.com)라는, 프로그래머 사이에서는 예전부터 잘 알려진 블로그에 글을 올리고 있다. 블로그에 들어가서 확인해 보니 코딩호러는 2004년부터 시작됐다고 한다. 그가 블로그에 올리는 글은 컴퓨터 프로그래밍과 관련된 이야기를 비롯해 원격지에 멀리 떨어져 있는 프로그래머들과 함께 팀을 꾸리는 방법, 프로그래머를 고용하기 위해 인터뷰하는 방법, 프로그래머가 평생을 함께 보내는 좋은 의자를 고르는 방법, 사용자 인터페이스와 관련된 상념에 이르기까지 폭이 넓고 다양하다. 나는 오래전부터 생각이 날 때마다 코딩호러를 방문해 그가 올린 글을 읽곤 했다. 여러분이 손에 들고 있는 이 책은 제프 앳우드가 코딩호러에 올린 글 중에서 사람들의 관심을 끌었던 글을 선택해서 묶은 것이다. 책의 원문을 읽고 싶은 사람은 코딩호러를 방문하면 글의 원문과 다른 사람들이 남긴 댓글을 확인할 수 있을 것이다. 프로그래밍을 처음 배우는 사람, 혹은 끊임없이 쏟아져 나오는 새로운 기술과 유행 앞에서 조급한 마음을 품는 사람들 중에는 구체적인 기술을 다루는 책이 아니면 읽지 않는 사람이 많다. 마음에 여유가 없기 때문이다. 하지만 정말로 프로그래밍을 사랑하는 사람은 프로그래밍과 관련된 모든 것을 좋아한다. 구체적인 API나 알고리즘이 아니더라도 소프트웨어와 관련된 모든 것들에 대해 관심을 갖고, 그것에 대해 말하고 토론하기를 즐긴다. 그러한 관심과 여유 속에서 새로운 발상이 떠오르고 새로운 동기를 부여받을 수 있기 때문이다. 조엘 스폴스키나 제프 앳우드는 그렇게 소프트웨어 개발과 조금이라도 관련이 있는 모든 주제에 대해 폭넓은 관심과 지식을 갖추고 있는 대표적인 사람들이다. 나는 한국에 있는 개발자들이 이렇게 다양한 이야기나 주제에 대해 더 많이 읽고 더 많이 생각해야 한다고 믿는다. 더 중요하게는 그렇게 폭넓은 주제에 대해 관심을 기울일 만큼 마음에 여유가 있어야 한다고 생각한다. 그런 의미에서 이번에 제프 앳우드의 책을 번역하는 것은 즐거운 작업이었다. 이 책을 읽는 여러분에게도 앳우드의 이야기가 재미있게 느껴지기를 희망한다.

리뷰 남기기

로그인하면 리뷰를 남길 수 있어요.

리뷰 0개

아직 리뷰가 없어요.