웹 (프로그래밍)

웹(WEB) 도널드 커누스가 만든 컴퓨터 프로그래밍 시스템이다. 본인이 제안한 문학적 프로그래밍(literate programming)을 실제로 적용하기 위해 만들었다. 보통 프로그램을 짤 때 프로그램을 먼저 짜고 나중에 주석으로 프로그램의 동작을 설명하는 방법을 쓴다. 문학적 프로그래밍에서는 문학작품을 쓰는 것처럼 프로그램이 어떻게 동작해야 하는지 말로 풀어쓰고, 그 동작과 관련된 코드는 특별한 기호로 구분하여 작성한다. 그리고 웹을 이용해서 설명과 관련된 부분은 출력가능한 문서로 뽑아내고 소스 코드 부분은 컴파일 가능한 코드로 뽑아낸다.

WEB은 'tangle'과 'weave'라는 두 가지 프로그램으로 구성된다.

 tangle: 소스코드에서 컴파일 가능한 파스칼 코드를 뽑아내는 프로그램
 weave: 출력가능한 TeX 문서를 뽑아내는 프로그램.

WEB의 새로운 버전 CWEB도 있다.

참고 문헌 
 Donald E. Knuth, Literate Programming, Stanford, California: Center for the Study of Language and Information, 1992, CSLI Lecture Notes, no. 27.

외부 링크 
 CWEB 홈페이지

자유 문서 생성기
문학적 프로그래밍
TeX