책 소개

홍재민

2020년 7월 23일 11시 11분


인사이트 출판사의 제안으로 프로그래밍 언어에 대한 책을 쓰게 되었습니다. 책의 가제는 “프로그래밍 언어의 기본 원리”이고, 여러 언어의 밑바탕에 있는 공통된 원리를 소개해 독자들이 새로운 언어를 쉽게 익힐 수 있도록 돕는 것이 의도입니다. 출판사에서 원고를 웹 사이트에 올리는 것을 허락해 주셔서 작성 중인 원고를 여기에도 올릴 수 있게 되었습니다. 여기에 올라오는 내용은 아무런 교정도 거치지 않은, 순전히 제 손만 닿은 초고이기 때문에 실제 책이 나올 때는 달라질 수 있습니다. 더 좋은 책이 나올 수 있도록 읽어 주신 분들의 많은 의견 부탁드립니다. 의견은 아래에 댓글로 달거나 jaemin.hong@kaist.ac.kr로 보내 주시면 됩니다. 또한 주변인들에게도 소개해 주신다면 정말 감사하겠습니다. 좋은 기회를 주신 인사이트 출판사에 감사드리고 지금까지 작성했던 부족한 글들을 여기저기에 알려 주신 분들께도 감사드립니다.

목차

아래는 현재 계획 중인 책의 목차입니다. 책을 쓰면서 목차가 조금 변경될 수도 있습니다.

1장: 들어가며

1부: 프로그래밍 언어의 기본 원리

2장: 문법과 의미 - 프로그래밍 언어는 무엇으로 이루어지는가

3장: 기본 값과 연산 - 프로그래밍 언어가 제공하는 가장 기본적인 값들

(2장 내용을 예시를 들어 설명하기 위한 장)

4장: 변수 - 값에 이름을 붙이고 사용하기

5장: 일차 함수 - 반복되는 코드는 한 번만 작성하자

6장: 일급 함수 – 함수도 값이다

7장: 재귀 – 자기 자신을 사용하기

8장: 상태 – 프로그램이 실행되는 동안 변하는 것들

9장: 흐름 제어 – 프로그램의 흐름을 갑작스럽게 바꾸기

2부: 프로그래머를 돕는 프로그래밍 언어의 기능들

10장: 메모리 관리 – 프로그램이 실행될 때 어떻게 메모리를 효율적으로 사용할까

11장: 객체 – 값과 동작을 함께

12장: 정적 타입 검사 – 프로그램을 실행하기 전에 오류를 찾는 방법

13장: 느긋한 계산 – 계산 결과가 필요할 때까지 계산을 미루기

14장: 미처 하지 못한 이야기

(책의 분량이나 난이도 조절을 위해 다루지 못한 흥미로운 주제들에 대한 소개)

의존적 타입, 커리 하워드 동형, 점진적 타입, …