◈ 옮긴이의 말 ◈
프로그래밍 언어는 끝을 모르고 진화한다. 특히 C++처럼 거대한 언어는 그 속도와 규모를 따라잡기가 결코 쉽지 않다. 바쁜 일상 속에서 프로그래머는 새로 나온 버전과 기능을 익히느라 늘 고달프다. 이러한 고민을 들어주기라도 하듯이 C++의 창시자 비야네 스트롭스트룹은 이 책을 통해 변화하는 C++ 버전 속에서 어떤 점을 꼭 알고 넘어가야 하는지 간결하고 정확하게 짚어준다. 이 책 한 권으로 C++을 완벽히 숙달할 순 없어도 최소한 어디서부터 시작해야 하는지 알 수 있다. 위에 인용한 비야네 스트롭스트룹의 말처럼 간단하게 끝낼 일을 굳이 어렵게 돌아갈 필요는 없다.
저자는 단순히 기능을 나열하는 데서 멈추지 않는다. 여러 가지 개념을 연계하고, 어떤 상황에서 어떤 요소가 어떻게 쓰이는지 이해하기 쉬운 예제를 들어 설명한다. 적재적소에서 알맞은 표준 라이브러리를 소개하고, 참고하면 좋을 내용도 빠뜨리지 않는다. 독자라면 아무리 좋은 기능이라도 어떻게 조합하고 활용하느냐가 프로그램의 품질을 좌우한다는 사실을 익히 알고 있을 것이다. 훌륭한 유스 케이스를 많이 알아둘수록 코드 수준은 높아지기 마련이니 저자가 고심해 만든 예제를 가볍게 지나치지 말자.
C++는 C++20이 등장하며 큰 변화를 맞이했다. 무엇보다 사용자의 의도를 보다 직관적으로 반영할 수 있는 여러 요소가 대거 추가됐다. 모듈, 콘셉트, 코루틴이 대표적이다. 저자는 C++를 구성하는 기본 요소인 타입, 클래스, 연산, 템플릿, 컨테이너, 예외, 입출력 등을 각 장의 주제로 삼아 기초를 탄탄히 세움과 동시에 C++에 새로 추가된 요소들을 제네릭 프로그래밍과 협력적 멀티태스킹 같은 최신 개발 방식과 맞물려 설명한다. C++20을 기준으로 삼았으나 C++23에 담길 내용도 넌지시 내비친다. C++ 위원회에서 활동했던 경험을 바탕으로 현재 진행 중인 프로젝트를 간간이 언급하며 앞으로를 대비할 수 있게 돕는다.
시간이 촉박하다면 일단 차례부터 읽어보자. 한눈에 쉽게 들어오도록 구성된 차례가 원하는 방향과 목적지로 안내할 것이다. 저자가 아무 까닭 없이 제목을 『Tour of C++』로 지었을 리 없다. C++라는 세계를 즐겁게 여행하며 좀 더 쉽게 C++를 익히는 계기가 되기를 바란다.