Кіріспе
Макроға негізделген бағдарламалау тілі. Web – Дональд Э. Кнуттың «сауатты бағдарламалау» деп атаған тұжырымының алғашқы іске асырылуы ретінде құрылған компьютерлік бағдарламалау жүйесі: бағдарламалық кодты түсіндірме мәтінге ендіру арқылы, әдеби туындылар сияқты жасау мүмкіндігі, әдетте көптеген бағдарламалау тілдерінде қолданылатын кері тәсілден өзгеше, адамдарға түсінікті болу үшін ыңғайлы ретпен, компилятордың талабына сәйкес емес ретпен ұйымдастыру. Web екі қосымша бағдарламадан тұрады: TANGLE, бастапқы мәтіндерден компиляцияланатын Pascal кодын жасайды, ал WEAVE, TeX арқылы әдемі форматталған, басып шығаруға дайын құжаттаманы дайындайды. CWEB – C бағдарламалау тілі үшін Web нұсқасы, ал noweb – Web-тен (атынан-ақ көрініп тұрғандай) шабыттанған, бірақ тілге тәуелді емес жеке сауатты бағдарламалау құралы. Web-те жазылған ең маңызды бағдарламалар – TeX және Metafont. Қазіргі TeX таратулары Web көзін C тіліне түрлендіру үшін Web2C бағдарламасын пайдаланады.
Web is a computer programming system created by Donald E. Knuth as the first implementation of what he called "literate programming": the idea that one could create software as works of literature, by embedding source code inside descriptive text, rather than the reverse (as is common practice in most programming languages), in an order that is convenient for exposition to human readers, rather than in the order demanded by the compiler. Web consists of two secondary programs: TANGLE, which produces compilable Pascal code from the source texts, and WEAVE, which produces nicely formatted, printable documentation using TeX. CWEB is a version of Web for the C programming language, while noweb is a separate literate programming tool, which is inspired by Web (as reflected in the name) and which is language agnostic. The most significant programs written in Web are TeX and Metafont. Modern TeX distributions use another program Web2C to convert Web source to C.
Философия
Басқа көптеген құжаттама жасаушы бағдарламалардан өзгеше, олар құжаттаманы баяндамаларға шектеседі, WEB тәсілі – бастапқы кодты қалай жасағанын түсіндіретін мақала жазу болып табылады. TeX мақалалары сияқты, код құжаттама ағынына сәйкес бөлімдерге бөлінеді. Мысалы, CWEB-те код бөлімдері дәлелдемелер тізбегінде үздіріссіз араласып кетеді.
Ерекшеліктері
Қолмен және автоматты түрде TeX кодын енгізе алады. C кодын жақсы форматтау үшін пішімдеуді жүзеге асыруға болады. Бөлімдерді анықтауға болады, сондай-ақ құжаттама мен кодтарды қамтуға болады, оларды кейін басқа бөлімдерге қосуға болады. Бас файл мен негізгі C кодын бір файлға жазып, бірдей бөлімдерді қайта пайдалануға болады, содан кейін оларды компиляция үшін бірнеше файлға тоқуға болады. Кез келген ескертулер мен қателер бастапқы кодқа сілтеме жасау үшін #line директиваларын қолдануға болады. Файлдарды қосу мүмкіндігі бар. Компиляциялау/басып шығару кезінде кодқа автоматты түрде біріктірілетін файлдарды өзгертуге болады. Басып шығарылған нұсқада идентификаторлар мен бөлімдер атауларының тізімін жасауға болады.