프로그래머가 반드시 읽어야 할 10 가지 고전 논문
Source
Evernote/Technote scraps/10 Papers Every Programmer Should Read (At Least Twice).md
Summary
마이클 피더스(Michael Feathers)는 소프트웨어 업계가 10 년마다 언어와 표기법을 재발명하며 지식이 단편화되는 문제를 지적하며, 프로그래머가 반드시 두 번 이상 읽어야 할 10 가지 고전 논문을 소개합니다. 이 목록은 모듈화, 분산 컴퓨팅의 한계, 함수형 프로그래밍의 기초, 보안, 객체지향 사고 등 소프트웨어 공학의 근본적인 아이디어를 다루며, 경험 중심 학습이 강조되는 현대 업계에서 잃어버린 깊은 통찰을 되찾기 위한 목적으로 작성되었습니다.
Key Points
- 소프트웨어 지식의 단편화: 업계가 주기적으로 언어를 재발명하며 공통 지식이 부족해지고, 깊이 있는 기술 문헌은 20 년 안에 구식이 됨.
- 고전 논문의 가치: 현대의 실용주의적 학습 경향 속에서 50 년간 축적된 근본적인 아이디어를 재발견하는 것이 중요함.
- 추천 논문 목록 및 핵심 주제:
-
- Parnas: 모듈화를 통한 설계 결정 숨기기 (단일 책임 원칙의 선구자)
-
- Waldo et al.: 분산 컴퓨팅의 투명성 신화 깨기 (분산 시스템 설계의 한계)
-
- Landin: 표현 중심 프로그래밍 및 지연 평가의 기초 (함수형 프로그래밍)
-
- Backus: 폰 노이만 스타일에서 해방된 프로그래밍
-
- Thompson: 신뢰할 수 있는 신뢰 (보안 및 컴파일러 백도어)
-
- Gabriel: Lisp 의 장단점 및 성공 전략
-
- Knight & Leveson: 다중 버전 프로그래밍의 독립성 가정 실험 평가
-
- Noble: 논증과 결과
-
- Beck & Cunningham: 객체지향 사고를 위한 교육 실험실
-
- Ungar & Smith: Self 언어의 영감, 프로그래밍을 경험으로