文学编程,让打码更优雅

文学编程,让打码更优雅

最近在研究Jupyter Notebook的时候发现了文学编程的这个概念。左手程序员,右手艺术家,文学编程是什么,编程又如何能编出文艺范儿呢?

文学编程的概念

文学编程是一种由Donald Knuth提出的编程范式。这种范式提供了用自然语言来解释程序逻辑的机会。当然你一定会想到Markdown或者源代码中的注释。** ********与之不同的是,文学编程中间穿插着宏片段和传统的源代码,从中可以生成可编译的源代码。********

文学编程的好处

文学编程提供了更高质量的程序,因为它迫使程序员明确地陈述程序背后的思想,使考虑不周的设计决策更加容易被察觉。

同时,文学编程提供了一个一流的文档系统,它是在程序创建、阐述思想过程中自然建立的。生成的文档允许作者在以后的任何时候重新回忆起自己的思想过程,并允许其他程序员更容易地理解程序的构造。

文学编程工具与文档生成器

文学编程经常被误解为只是一个注释提取工具,如Perl普通旧文档或Java Javadoc系统。然而文学编程工具实现了抽象概念网络,或者提供改变源代码的顺序、以便人类理解的能力,它们是有别于普通的注释提取工具。

文学编程工具的工作流

文学编程工具往往的工作由两部分组成:

文档生成

可执行代码生成

两者在同一个源上生成,因此它们是一致的。

文学编程举例

不同的文学编程工具有着不同的用法,这里列举一个常见的文学编程工具Jupyter Notebook(IPython Notebook是它的前身)。

左手程序员,右手作家:你必须会的Jupyter Notebook

28 Jupyter Notebook tips, tricks, and shortcuts -- [翻译版]

文学编程工具

第一个出版的有文化的编程环境是WEB,由Donald Knuth在1981年为他的TeX排版系统而引入。文学编程概念还有许多其他实现,如Axiom、noweb、Latex、Jupyter Notebook、Julia......

更多参考

DK大神的论文

网站

相关推荐

【豉汁蒸粉肠】
365买球平台下载苹果

【豉汁蒸粉肠】

📅 07-04 👁️ 5071
全球及中国雨伞行业产业链价值链深度研究报告(2025年)
365买球平台下载苹果

全球及中国雨伞行业产业链价值链深度研究报告(2025年)

📅 07-25 👁️ 4225
dnf卢克团队模式周几可以打 卢克raid一周到底能打几次
Java的变量详解:定义、分类、作用域与命名规范
365买球平台下载苹果

Java的变量详解:定义、分类、作用域与命名规范

📅 07-29 👁️ 8900
侠探杰克
beat365手机下载

侠探杰克

📅 07-07 👁️ 8759
花呗套现软件哪个好用?(花呗提现app排行榜盘点)
365买球平台下载苹果

花呗套现软件哪个好用?(花呗提现app排行榜盘点)

📅 06-29 👁️ 6665