AI 요약
비야네 스트로우스트럽이 제안한 언어 설계 원칙으로, 초보자는 명시적인(explicit) 문법을 원하지만 전문가는 간결한(terse) 문법을 선호한다는 법칙을 설명한다. Rust의 ? 연산자 도입 과정과 Python의 월러스 연산자(:=) 논란을 사례로 들며, 언어가 성숙해질수록 전문가 중심의 간결한 문법이 추가되어 초보자 학습 장벽이 높아질 수 있음을 지적한다. 저자는 TLA+ 교육에서도 이 법칙을 의식적으로 극복해야 한다고 강조한다.
핵심 포인트
- 비야네 스트로우스트럽이 C++ 회고에서 처음 언급한 언어 설계 원칙
- Rust는
match→try!매크로 →?연산자로 진화하며 간결성 추구 - Python 월러스 연산자(
:=) 도입 시 전문가(찬성) vs 교사/초보자(반대) 대립 발생 - TLA+ 예시:
\A w \in Workers: counter[w] >= 0(명시적) vscounter \in [Workers -> Nat](간결)
향후 전망
- 언어가 성숙할수록 전문가 친화적 기능이 추가되어 초보자 진입 장벽이 높아지는 '블로트(bloat)' 현상 심화 가능성
- AI 코딩 어시스턴트가 초보자에게는 명시적 문법, 전문가에게는 간결한 문법을 자동 추천하는 방식으로 해결책 제시 가능
출처:hackernews
