더북(TheBook)

언뜻 보기에 두 코드는 꽤 비슷해 보인다. 그리고 우리는 무슨 코드를 더 좋아하는지 여러분께 말할 것이다. 첫 번째 버전은 원칙적으로 순수 C로 작성되었다. 즉, C 컴파일러로 컴파일할 수 있다. 장점은 무엇이 최적화되었는지 직접 볼 수 있다는 점이다. 바로 (강조 표시된 함수 매개변수로 나타낸) double 값을 갖는 2D 함수다. 두 번째 버전은 (강조 표시된 타입 및 함수 매개변수로 볼 수 있는) 임의의 값 타입을 갖는 임의의 차원 함수인데, 더 널리 사용되는 코드이기 때문에 우리는 두 번째 버전을 선호한다. 놀랍게도 다용도의 구현이라고 해서 덜 효율적이지는 않다. 반대로 F와 G에 주어진 함수는 인라인(1.5.3절 참조)될 수 있으므로 함수 호출 오버헤드가 작아지는 반면, 왼쪽 버전에서는 (못생긴) 함수 포인터를 명시적으로 사용하기 때문에 최적화를 하기 어려워진다.

정말로 참을성 있는 독자를 위해 부록 A(A.1절)에 기존 스타일과 새로운 스타일을 비교하는 더 긴 예제가 나와 있다. 모던 프로그래밍이 갖는 이점은 여기에 있는 장난감 같은 예제보다 훨씬 명백하다. 그러나 우리는 전초전으로 여러분을 너무 오래 붙들고 싶지 않다.

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