프로그래밍 언어가 복잡한 이유: 단순한 문법 뒤에 숨은 구조