자연어 프로그래밍의 어리석음에 대한 비판
- 자동 계산기 초창기부터, 형식적인 기호 체계를 요구하는 프로그래밍 방식에 불만을 가진 사람들이 존재함
- 기계는 주어진 명령을 그대로 수행하는 '충실한 노예'로서, 명백한 오류도 그대로 실행함
- 일부 사람들은, 기계가 오류를 무시하고 실행하는 대신, 더 ‘이성적인’ 행동을 하길 기대함
고급 프로그래밍 언어의 등장과 발전
- 기계어는 오류 검출이나 중복이 거의 없어 위험한 인터페이스로 인식됨
- 이에 따라 고급 프로그래밍 언어가 등장하게 되었으며, 오류 메시지로 잘못된 결과를 방지하는 발전이 있었음
- 그러나 여전히 프로그래밍은 형식 기호를 요구하며, 여전히 세심한 정확성이 필요함
자연어로 프로그래밍하자는 주장과 그에 대한 반론
- 자연어로 기계를 제어하면 사용자는 편해질 것이라는 주장이 있었음
- 이는 기계가 더 복잡해지면서, 사용자에게 도움이 될 수 있다고 보았음
- 하지만 인터페이스의 변화는 일의 분담을 조절하는 것이 아니라, 오히려 협력과 소통의 작업량을 추가로 유발함
- 실제로는 인터페이스가 넓어질수록 양측의 작업량이 증가하여 오히려 복잡해지는 경우가 많았음
수학과 기호 체계의 역사적 사례
- 고대 그리스 수학은 언어적·그림 중심의 방식에 머물러 발전이 정체됨
- 이슬람 수학도 기호 체계를 채택하지 못해 중단됨
- 유럽은 Vieta, Descartes, Leibniz, Boole 등의 인물들이 형식 기호 체계를 도입하면서 비약적인 발전을 이루었음
형식 언어의 이점과 자연어의 한계
- 형식 언어는 몇 가지 간단한 규칙만으로 많은 오류를 방지할 수 있음
- 형식 기호는 과거에는 천재만이 가능했던 논리적 사고를 학생도 가능하게 함
- 자연어는 애매하고 의미 없는 말이 섞이기 쉬워, 오류 없는 논리적 표현에 적합하지 않음
자연어가 주입/출력의 유일한 방식이었다면?
- 초기부터 자연어만으로 기계를 제어했다면, 우리는 결국 다시 형식 시스템으로 돌아가는 ‘부트스트랩’ 과정이 필요했을 것임
- 이 과정은 수천 년이 걸릴 수도 있었으며, 결국 형식 언어로 귀결되었을 것임
교육적 퇴보와 ‘신 문맹’ 현상
- 최근 수십 년간 지적 훈련의 약화로, 많은 사람이 자신의 모국어조차 제대로 다루지 못함
- 과학 논문, 기술 보고서, 정부 문서 등에서 무의미한 말이 넘쳐나는 현상이 이를 증명함
- 이러한 현상은 자연어 프로그래밍의 실패를 예견하게 함
결론적 직감
- 자연어로 프로그래밍 가능한 기계를 만드는 일은 그것을 사용하는 일만큼이나 어려울 것이