더북(TheBook)

  

옮긴이의 말

 

 

세상에는 수많은 프로그래밍 언어가 있습니다. C++는 개발자들이 많이 사용하는 프로그래밍 언어 중 다섯 손가락 안에 들어가는 프로그래밍 언어입니다. C++를 사용해 PC, 서버, 임베디드뿐만 아니라 안드로이드와 iOS 앱도 개발할 수 있습니다. 특히 게임 개발에 있어서 C++는 빼놓고 이야기하기 힘들기 때문에 게임 프로그래머가 반드시 알아야 하는 프로그래밍 언어로 손꼽힙니다.

C++는 멀티 패러다임 언어입니다. 멀티 패러다임 언어란 "하나 이상의 프로그래밍 스타일을 따르는 프로그래밍 언어"*를 말합니다. 따라서 C++를 제대로 다룰 줄 안다면 다른 언어도 굉장히 쉽게 배울 수 있고 잘 활용할 수 있습니다. C++를 잘 다룬다는 건 하드웨어 친화적인 저수준 기능부터 소프트웨어 디자인의 고수준 기능까지 모두 다 할 줄 안다는 것을 의미합니다.

한동안 C++는 2003년에 제정한 C++03 표준 이후로 새로운 표준을 만들지 않다가 2011년을 기점으로 ‘모던 C++’라는 이름 아래 3년마다 새로운 표준(C++11/14/17)을 제정하고 있습니다. 덕분에 새로운 기능이 끊임없이 나오고, 배워야 할 내용은 무한히 쌓여갑니다.

하지만 C++에 있는 모든 내용을 한 번에 배울 수는 없습니다. 반드시 알아야 할 기본 지식부터 배우면서 조금씩 지식의 깊이를 더해 가야 합니다. 예를 들어 C++의 타입 변환에는 여러 가지 규칙이 있습니다. 대부분은 대표적인 규칙 몇 개만 알아도 괜찮지만, 실제로 프로젝트를 하다 보면 굉장히 드문 경우에 해당하는 예외 규칙을 마주치게 됩니다. 그러면 덮어 놨던 책을 다시 펴거나 참고 사이트를 뒤져가며 왜 이렇게 되는지 찾아봐야 합니다.

이런 이유로 다른 사람에게 C++를 알려줄 때 가장 고민하는 게 바로 ‘어디까지 알려줘야 할까?’입니다. 너무 적게 알려주자니 구현할 수 있는게 없고, 너무 많이 알려주자니 어려워서 그만두게 될까 봐 망설여지게 됩니다. 항상 생각하지만, 마땅한 답이 잘 나오지 않는 질문입니다. 이럴 땐 경험만큼 큰 스승이 없습니다.

<모던 C++ 입문>의 저자인 피터 고츠슐링은 3년간 대학에서 컴퓨터 공학 전공이 아닌 학생들에게 C++ 프로그래밍 수업을 가르쳤습니다. 수업을 시작하기 전에는 C++에 대해 아무것도 모르던 학생들이 수업이 끝날 때는 고급 C++ 기법을 사용해 여러 프로그램을 구현할 수 있었습니다. 이 책은 학생들에게 가르쳤던 내용을 정리한 책입니다. 따라서 C++ 프로그래밍을 처음 배우려고 하는 독자분들에게 가장 적합한 책이 아닐까 생각합니다. 책을 읽다가 궁금한 점이 있거나 C++ 관련 질문이 있다면 언제라도 이메일 (utilForever@gmail.com) 또는 저장소(https://github.com/utilForever/DiscoveringTheModernCpp)에 이슈를 달아 남겨주시기 바랍니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.