功能编程更好地操纵数据库数据列表?

时间:2010-02-06 21:02:09

标签: functional-programming list database

我正在观看关于功能编程和主要'数据结构'的一些讲座,但是在FP中确实没有一个是列表,所以我的问题是:当一个人处理很多数据库和'列出数据,那么功能编程是不是优于OOP?

2 个答案:

答案 0 :(得分:6)

近年来从数据库中读取的最大改进之一是LINQ。 LINQ实际上基于函数式编程原理。事实上,SQL也是一种非常实用的样式语言。

我发现使用函数式语言从数据库读取数据没有问题。

现在修改数据库......这是一个不同的故事。我会把它留给另一天。 :)

答案 1 :(得分:2)

好吧,Lisp处理列表,但列表是异类的,可以很好地代表树。其他语言,如Haskell,为您提供结构化类型,命名和未命名,以及 - 与lisp相反 - 允许静态类型检查。

纯函数式语言没有的一件事是可以赋值的有状态变量的概念。一些Lisp实现提供了这样的状态 - 你得到一个setq操作符 - 而Haskell没有。然而,读取和编写数据库的关键在于拥有状态 - 以及大量数据库,这是数据库的用途 - 以及读取和写入数据库。因此,在数据库上操作与使用函数式语言完全相反。

然而,创建一种数据库查询语言是有意义的,该语言以非命令性的方式表达数据库操作,但是以声明方式,因此以功能方式表达。这就是SQL有意义的方式,而LINQ的定义方式也是如此。

因此,有一种功能正常的数据库语言是有道理的,但这不是因为列表。

相关问题