摘要
本文回顾了一些在R中被证明有用的编程技术,特别是在实际项目中。这些包括在大量R包中使用的面向对象编程的几个版本。审查试图澄清各种版本背后的起源和思想,每一个版本在适当的背景下都很有价值。
R也受到函数式编程思想的强烈影响,特别是受将函数式编程与面向对象编程相结合的愿望的影响。
为了阐明这种特殊的思想组合是如何在当前的R语言和支持软件中实现的,本文将首先回顾面向对象和函数式编程背后的基本思想,然后通过这些思想提供上下文来检查R的演变。
函数式编程支持定义良好、可防御的软件,从而提供可重复的结果。面向对象编程是一种机制卓越的用于管理复杂性,同时为用户保持简单。这两种范式在支持主要软件将模型拟合到数据和许多其他统计应用程序方面都很有价值。
这些范式在R中得到了采用和改编。函数式编程激发了R的大部分功能,但R并没有实施这种范式。从函数的角度来看,面向对象的编程与非函数语言中使用的编程不同,需要强调这一区别,以避免混淆。
R最初从贝尔实验室复制了S语言,而贝尔实验室又受到了早期程序库的强烈影响。在每个阶段,都会添加新的想法,但之前的软件也会继续在设计中显示其影响力。概述这一演变将进一步阐明为什么我们目前有这种不同寻常的想法组合。
信息
发布日期:2014年5月
首次在欧几里德项目中提供:2014年8月18日
数字对象标识符:10.1214/13-STS452
关键词:函数式编程,面向对象程序设计,编程语言
版权所有©2014数学统计研究所