Postmodern Programming - Tony Van Eerd - ACCU 2026
원본 영상: Postmodern Programming - Tony Van Eerd - ACCU 2026
채널: ACCU Conference
개요
Tony Van Eerd는 “모던 C++도 이제 오래되었다”는 농담에서 출발해 ‘포스트모던 프로그래밍’이라는 화두를 꺼낸다. 강연에서 주목하는 것은 코드를 바라보는 관점이다. 상태를 관리하는 코드와 결정을 내리는 코드를 어떻게 나눌 것인가? API는 선언된 클래스와 함수만으로 설명되는가? 함수는 같은 코드가 반복될 때에만 필요한가?
이 질문들은 코드의 의사소통이라는 주제로 이어진다. 이름과 패턴, 서식과 함수의 경계는 독자가 코드를 이해하는 방식에 영향을 준다. Van Eerd는 익숙한 작성 습관을 다른 방향에서 바라보며, 코드에 담긴 여러 층의 소통을 함께 의식하자고 말한다.
상태를 관리하는 일과 결정을 내리는 일
입력 상태와 메뉴 동작을 다루는 대목에서 Van Eerd는 두 역할을 구분한다. 한쪽 코드는 상태를 관리하고, 다른 쪽 코드는 메뉴를 어떻게 할지 결정한다.

이 구분의 핵심은 사실을 기록하는 일과 그 사실에 따라 행동을 선택하는 일을 나누는 데 있다. 상태를 다루는 코드의 책임과 메뉴 동작을 판단하는 코드의 책임을 구별하면, 각각 무엇을 담당하는지 더 분명하게 설명할 수 있다.
익숙한 패턴에서 벗어났다면 이유를 남기기
Van Eerd는 통상적인 패턴이 문제를 해결하지 못해 다른 방식을 선택했다면, 왜 그렇게 했는지 주석으로 설명하라고 말한다. 다른 선택을 했다는 사실뿐 아니라 그 선택의 이유를 전달하라는 지침이다.

익숙한 패턴은 코드를 읽는 사람에게 기대를 만든다. 그 기대와 다른 코드가 필요할 때에는 판단의 배경이 이해를 돕는다. 이 대목에서 주석의 역할은 코드의 동작을 되풀이하는 데 그치지 않고, 작성자가 왜 다른 길을 택했는지 알려주는 데 있다.
API를 호출하는 코드에서 바라보기
Van Eerd는 API가 클래스와 함수로 정의된다는 관점을 뒤집어, 실제로 그것을 사용하는 코드에 주목한다. API의 의미를 살피려면 무엇이 선언되어 있는지와 함께, 호출하는 쪽에서 어떤 코드를 쓰게 되는지도 보아야 한다는 설명이다.

이는 구현을 바라보던 시선을 사용 지점으로 옮기는 제안이다. 호출하는 코드가 무엇을 표현하고 어떤 이해를 유도하는지 살피면, API를 다른 방향에서 검토할 수 있다.
이름에 관한 논의에서도 독자의 이해가 중요하게 등장한다. Van Eerd는 동작을 이해했다고 생각하는 상황과 valueless_by_exception()이라는 이름을 대비한다. 익숙해 보이는 표현이 잘못된 확신을 줄 수 있는 반면, 낯선 표현은 정확한 의미를 다시 살피게 할 수 있다는 문제다.

이 관점에서 이름의 친숙함만으로 전달력을 판단하기는 어렵다. 독자가 쉽게 읽는 것과 올바르게 이해하는 것은 함께 살펴야 할 문제다.

48:10 - 함수 인자의 범위를 묻는 냉장고와 개의 선문답
서식도 표현의 일부다
Van Erd는 고정된 서식을 “모든 것에 운율을 맞추려는 시도”에 비유한다. 일정한 형식을 따르는 일이 표현에 어떤 제약을 주는지 생각하게 하는 비유다.

이 비유는 서식을 코드의 의사소통과 연결한다. 코드에 무엇을 쓰는지뿐 아니라 어떻게 배치하고 표현하는지도 독자가 의미를 받아들이는 방식에 관여한다는 것이다.
함수는 중복되지 않은 작업에도 필요하다
“몇 번 반복되어야 함수로 만들 것인가?”라는 질문에 Van Eerd가 제시하는 답은 한 번이다. 함수로 분리하기 위해 코드가 반드시 중복되어 있어야 하는 것은 아니라는 설명이다.

이 주장은 함수의 가치를 중복 제거보다 넓게 보게 한다. 한 번만 수행하는 작업이라도 함수로 표현할 수 있다면, 반복 횟수만으로 함수 분리 여부를 판단할 필요는 없다. 작업을 어떤 단위로 이해하고 이름 붙일 것인지가 함께 중요해진다.
Van Eerd는 이어 함수를 “질문에 대한 답”이라고 표현하고, 자신이 원하는 함수를 작성하라고 말한다. 필요한 작업을 어떤 호출로 표현하고 싶은지 생각하는 것이 함수 설계의 출발점이 될 수 있다는 뜻이다.

이 관점은 API를 사용하는 코드에서 바라보자는 앞선 이야기와 맞닿아 있다. 원하는 사용 형태를 생각하는 과정은 작업을 나누고 함수의 역할을 정리하는 데에도 이어진다.
여러 층의 소통을 의식하기
강연 후반에 Van Eerd는 코드를 작성할 때 여러 층의 의사소통을 의식해야 한다고 강조한다. 상태와 결정의 분리, 패턴에서 벗어난 이유를 설명하는 주석, 호출하는 쪽에서 바라본 API, 이름과 서식, 함수의 경계가 이 주제로 모인다.

강연이 던지는 질문은 코드가 어떤 일을 하는지와 더불어, 그 일을 어떻게 드러내는지에 관한 것이다. 익숙한 패턴과 이름이 어떤 기대를 만드는지, 다른 선택에는 어떤 설명이 필요한지, 작업을 어떤 함수로 표현할 수 있는지 살피는 일이다. Van Eerd의 ‘포스트모던 프로그래밍’은 이러한 관점의 전환을 통해 코드를 다시 읽어보자는 제안으로 이어진다.
출처
Postmodern Programming - Tony Van Eerd - ACCU 2026 — ACCU Conference
Related Reports
- Design Patterns - The Most Common Misconceptions (3 of N) - Klaus Iglberger - ACCU 2026
- Object Oriented Programming in Contemporary C++ - Steve Downey - C++Now 2026
- C++26 Features: The Most Important New Updates
- C++26 Uncovered - Everything You Need to Know About the New Standard - Inbal Levi - ACCU 2026
- Dependency Injection and Dependency Inversion - C++ Perspective - Vladimir Vishnevskii - ACCU 2026