文学编程 

文学式编程(英語:literate programming)是由高德纳提出的编程方法,希望能用來取代结构化编程范型。[1]

正如高德纳所构想的那样,文学编程范型不同于传统的由计算机强加的编写程序的方式和顺序,而代之以让程序员用他们自己思维内在的逻辑和流程所要求的顺序开发程序。[2]文学编程自由地表达逻辑,而且它用人类日常使用的语言写出来,就好像一篇文章一样,文章里包括用来隐藏抽象的巨集和传统的源代码。文学编程工具用来从文学源文件中获得两种表达方式,一种用于计算机进一步的编译和执行,称作“绕出”(tangled)的代码,一种用于格式化文档,称作从文学源代码中“织出”(woven)。[3]。虽然第一代文学编程工具特定于计算机语言,但后来的工具可以不依赖具体语言,并且存在于比编程语言更高的层次中。

  1. ^ v w x y z Knuth, Donald E. Literate Programming (PDF). The Computer Journal (British Computer Society). 1984, 27 (2): 97–111 [January 4, 2009]. doi:10.1093/comjnl/27.2.97. (原始内容 (PDF)存档于2019-08-19). 
  2. ^

    "我感觉自顶向下和自底向上是两种截然相反的方法论:一个更适合分析程序,一个更适合创建程序。但是,使用WEB编程后,我意识到不必在自顶向下和自底向上之间艰难抉择,因为我们最好把程序的结构看作网状而不是树状的。层级结构是存在的,但对于程序来说,最重要的是其结构的关系。一个复杂的软件由多个简单部分和它们之间的简单关系构成。程序员的任务是用人类最易理解的顺序,而不是用像自顶向下或自顶向上之类刻板僵硬的顺序,来描述清楚这些部分和关系。"

    高德纳 , Literate Programming[1]

  3. ^ 如果有人记得该工具的第一个版本称作WEB,一段好玩的高德纳隐藏其中的文学作品引用不言自明:“啊,自从我们第一次撒谎,就开始编织(weave)一张错综复杂(tangled)的网” - 沃尔特·司各特, in Canto VI, Stanza 17 of Marmion (1808) 写于1513年的一部关于弗洛登战役的史诗。-- 该引文实际上出自1986年5月喬恩·本特利和高德纳发表在"Communications of the ACM, vol 29 num 5 on p.365"的经典栏目“编程珠玑”上的一篇文章的引言中



取材自維基百科 - 中文時事百科