第十三章 异步和数据驱动编程
本章介绍
■ 异步工作流编程
■ 使用交互式 F# 浏览数据
■ 使用计量单位定义类型
■ 处理与可视化数据
我们首先引述了一次对比尔 · 盖茨的采访,他谈到他感兴趣的编程任务的类型,并描述了编写应用程序的典型情况:
从 web 获取数据,只把它当作文本处理是不够的,需要引入结构,然后… …以交互方式,尝试不同的数据表现方式。… 这样,写很少的代码,用专门的算法处理这类数据。[2008年,盖茨]
这正好说出了我们这一章的主题,我们将会看到,F# 语言和它的交互式控制台就能很好地完成这种任务,这称为探索式编程(explorative programming),它能在海量数据中,收集到有用的信息。本章主要讨论使用交互式 F#,这种方法非常有效,能够“写很少的代码”,用“专门的算法处理数据”,立即执行,看到结果。
F# 语言和库全面支持这种编程方式,所有重要的方面我们都会涉及到。我们异步工作流获取数据,它使用了我们在前一章介绍过的计算表达式语法;然后,使用 F# 的类型,在数据中“引入结构”;使用计量单位描述值,这样,它就不仅仅是一个浮点数了,而且有了单位,比如平方公里。
提示
我们在这一章使用的数据,由世界银行(World Bank)提供。我们将首先详细介绍,如何获得以正确格式表示的所有数据。
如果对处理和可视化数据更有兴趣,可以直接看 13.4 节。既可以按照前面描述的步骤从世界银行下载数据,也可以直接从本书网站获得所需数据。
最后,我们将讨论“尝试不同的数据表现方式”。特别是,用 .NET API 程序将结构化数据导出到 Excel,以图表形式呈现数据。