작업 중인 코드
Coders at Work![]() | |
작가. | 피터 세이벨 |
---|---|
주제 | 소프트웨어 개발 |
출판인 | 아프레스 |
발행일자 | 2009년 9월 16일 |
ISBN | 1-4302-1948-3 |
Coders at Work: Reflections on the Craft of Programming (ISBN 1-430-21948-3)은 Peter Seibel이 2009년에 펴낸 책으로, 뛰어난 프로그래머 15명과 인터뷰한 내용을 담고 있습니다.인터뷰의 주요 주제는 인터뷰 대상자가 프로그래밍을 어떻게 배웠는지, 코드를 디버깅하는 방법, 좋아하는 언어와 도구, 문맹 프로그래밍에 대한 의견, 증명, 코드 읽기 등을 포함합니다.
인터뷰 대상자
- 제이미 자윈스키
- 브래드 피츠패트릭
- Perl을 공부하기 위해 그는 Mark Jason Dominus의 Higher-Order Perl을 추천합니다.
- 더글러스 크록포드
- 브렌단 아이히
- 조슈아 블로치
- 조 암스트롱
- 사이먼 페이튼 존스
- S-K 콤비네이터에 관한 David Turner의 논문을 언급합니다(cf).SKI 콤비네이터 미적분).S-K 결합기는 람다 미적분을 번역하고 실행하는 방법입니다.Turner는 논문에서 람다 미적분을 3개의 조합기 S, K, I로 변환하는 방법을 보여 주었다. 이 조합기는 모두 닫힌 람다 항이며 I = SKK이다.즉 람다 항을 사용하여 S와 K로 컴파일합니다.
- 어떤 부작용도 없이 이중 링크 리스트를 작성하는 방법을 보여준 Arthur Norman의 과정을 수강했을 때 함수 프로그래밍을 처음 배운 경우를 떠올립니다.
- 존 배커스의 논문 '본 노이만 스타일에서 프로그래밍을 해방할 수 있는가'에 대해 언급한다.
- John Hughes가 Journal of Functional Programming에 정적 타이핑이 나쁜 이유에 대한 논문을 쓰기를 원합니다.Hughes는 "기능 프로그래밍이 중요한 이유"라는 제목의 인기 있는 논문을 썼다.
- 매우 유용한 기능 데이터 구조인 "zipper"라는 데이터 구조를 언급합니다.페이튼 존스는 또한 휴즈가 게으르게 임의의 자릿수를 계산하기 위해 작성한 4-5행 프로그램에 대해서도 언급하고 있다.
- 더블 엔드 큐의 시퀀셜 실장은 첫해 학부 프로그래밍 문제임을 나타냅니다.노드당 잠금 기능이 있는 동시 구현의 경우 연구 논문의 문제입니다.트랜잭션 메모리는 또 학부 문제입니다.
- 마음에 드는 책/저자:Jon Bentley의 Programming Pearls, Brian Hayes의 "Writing Programs for the Book"이라는 제목의 장에서 그는 주어진 지점이 어느 쪽인지 결정하는 문제를, Don Knuth의 컴퓨터 프로그래밍, Okasaki의 순수 함수 데이터 구조를 탐색하는 방법을 탐구한다.부작용과 합리적인 복잡성 경계가 없는 큐와 힙과 같은 데이터 구조를 구축합니다.Abelson과 Sussman의 Structure and Interpretations, Andrew Appel의 Compilitations with Continuations, Dijkstra의 Programming, Per Brinch Hansen의 동시 운영체제 작성에 관한 책.
- Peyton Jones는 Fred Brook의 논문을 다시 읽고 "The Computer Scientist as Toolsmith"를 좋아했다고 언급했습니다.
- 피터 노비그
- Norvig가 아직 고등학교에 다닐 때, 그는 카드를 섞기 위한 Knuth 알고리즘을 발견했습니다.
- Norvig가 쓴 첫 번째 재미있는 프로그램은 Game of Life였다.
- '10년 후 자기 프로그래밍을 배우다'라는 에세이를 썼죠
- 학문적 개념의 실용적 적용에 대해 그는 문제의 일부는 학자들이 전체 문제를 보는 것이 아니라 또 다른 부분은 교육이라고 언급한다.만약 당신이 모나드가 무엇인지 이해하지 못하고 카테고리 이론의 수업을 듣지 않은 프로그래머들을 많이 가지고 있다면, 갭이 있습니다.
- Knuth, Cormen, Leiserson, Rivest, Sally Goldman, Abelson, Sussman, Code Complete 등 추천 도서/저자가 있습니다.
- Knuth는 TeX 개발에 관한 에세이를 썼는데, 여기서 그는 자신의 순수하고 파괴적인 QA 성격으로 전환하고 자신의 코드를 깨기 위해 최선을 다하는 것에 대해 이야기한다.
- 구글의 취업 면접 과정에 대해 말하고, 가장 좋은 신호는 직원 중 한 명과 함께 일했던 사람이 지원자를 보증할 수 있는지 여부라고 말합니다.또한 경험치, 프로그래밍 콘테스트 우승, 오픈 소스 프로젝트 작업 등의 이력 속성을 취합하여 적합성을 예측하는 "재개 예측자"에 대해서도 설명합니다.그는 또한 면접관들에게 1에서 4까지의 점수를 부여하고, 구글의 누군가가 그들을 고용하기 위해 싸우지 않는 한 면접관들 중 누구라도 1점을 받은 후보자들은 일반적으로 거절한다고 언급하고 있다.
- 가이 스틸
- 제럴드 서스먼과 협력하여 스킴 프로그래밍 언어의 원래 정의를 포함한 "람다 페이퍼"로 알려진 일련의 논문을 작성했습니다.
- 컴퓨터 공학 학위를 따면서, 가이는 순수 수학 전공을 시작했지만 무한 차원 바나흐 공간에 대한 직관이 전혀 없다는 것을 깨달았고, 그것이 그가 응용 수학 전공으로 전환하도록 만들었다.
- 좋아하는 작가와 책: Knuth; Aho, Hopcroft, Ulman (Guy는 이 책이 그가 "진짜"를 위한 정렬을 배운 곳이라고 말한다), 제럴드 와인버그, 프레드 브룩의 신화적 인간-월
- 경계를 특수한 경우로 취급하지 않고 경계에서도 자연스럽게 정확하도록 중간에 있는 항목의 규격을 설계할 것을 제안합니다.
- Dijkstra가 개발한 병렬 가비지 컬렉터 알고리즘으로, 반 페이지에 들어갑니다.David Gries는 이 알고리즘의 정확성을 증명하기 위해 그의 학생 Susan Owicki가 개발한 기술을 사용하여 CACM에 논문을 썼습니다.
- 댄 잉걸스
- 피터 도이치
- 켄 톰슨
- 프랜 앨런
- 버니 코셀
- 도널드 크누스
「 」를 참조해 주세요.
외부 링크
- 웹 사이트 예약