在我的一次采访中,他们问我声明性编程和程序编程types之间的区别。 他们与例子有什么区别? PS:除了这两个面向对象编程之外,还能告诉我哪些types的编程语言? 因为他们也可能会问其他的编程语言之间的区别。 还有类似这样的问题,但太分散了。
我真的很难理解程序和函数编程范例之间的区别。 以下是维基百科关于函数式编程的前两段: 在计算机科学中,函数式编程是一种将计算看作是math函数的评估并避免状态和可变数据的编程范例。 它强调function的应用,与强调状态变化的命令式编程风格形成鲜明对比。 函数式编程的根源在于lambda演算,这是20世纪30年代为了研究函数定义,函数应用和recursion而开发的一个正式系统。 许多函数式编程语言可以被看作是lambda演算的详细描述。 在实践中,math函数与命令式编程中使用的“函数”概念之间的区别在于,命令式函数会产生副作用,从而改变程序状态的值。 正因为如此,它们缺乏参考透明性,即相同的语言expression式可能会在不同的时间导致不同的值,这取决于正在执行的程序的状态。 相反,在函数代码中,函数的输出值只依赖于input到函数的参数,所以用参数x的相同值调用函数f两次将产生相同的结果f(x) 。 消除副作用可以使得更容易理解和预测程序的行为,这是函数式编程发展的关键动机之一。 在第2段中说的 相反,在函数代码中,函数的输出值只依赖于input到函数的参数,所以用参数x的相同值调用函数f两次将产生相同的结果f(x) 。 对程序devise来说,这不是一回事吗? 在程序和function方面,应该看到什么呢?