그린스펀의 열번째 프로그래밍 법칙(영어: Greenspun's tenth rule of programming)은 미국의 컴퓨터 과학자인 필립 그린스펀(영어: Philip Greenspun)이 컴퓨터 프로그래밍, 특히 그 중에서도 프로그래밍 언어의 순환에 관해 말한 잠언으로,[1][2] 내용은 다음과 같다.
충분히 복잡한 C 또는 포트란 소프트웨어는 모두 애드혹하고 대충 명세되었으며, 버그 덩어리의 느린 반쪽짜리 커먼 리스프 구현을 포함하게 된다.
영어: Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
이 격언은 리스프 프로그래밍 언어의 유연성과 확장성이, 만들어질 수 있는 모든 복잡한 소프트웨어에 이론상 필요한 모든 기능을 포함하며, 그런 복잡한 소프트웨어를 다른 프로그래밍 언어로 구현하고 보수(관리)했을 때 필요한 기능들이 리스프가 제공하는 유연성과 확장성과 결국 같은 것이나 다름없다는 관점을 내포한다. 그린스펀의 법칙은 유연성과 확장성을 위한 도메인 고유 언어(영어: Domain-specific language, DSL)를 구현하는 사제(私製) 인터프리터를 직접 만들기보다는, 리스프와 같이 그런 유연성과 확장성을 이미 갖추고 있는 언어를 쓸 것을 권하는 것이다.[3]
![]() |
이 글은 프로그래밍 언어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |