805得票22回答
编程中声明式和命令式范式有什么区别?

我一直在搜索关于声明式和命令式编程的定义,希望能让我更加明白。然而,我发现一些资源中使用的语言让我感到有些困难 - 比如在维基百科上。 请问是否有人可以给我展示一个真实世界的例子,以便更好地理解这个主题(也许是用C#)?

89得票4回答
为什么有时会将Haskell称为“最佳命令式语言”?

(我希望这个问题是符合主题的——我试着搜索答案,但没有找到明确的答案。如果这个问题与主题无关或已经有了答案,请进行适当的调整/删除。) 我记得曾经听说过或读到过几次Haskell被称为最好的命令式语言的半玩笑评论,这当然听起来很奇怪,因为Haskell通常以其函数特性而闻名。 所以我的问题...

63得票6回答
函数式编程 vs 声明式编程 vs 命令式编程

我一直习惯于命令式编程,这是通常告诉计算机逐步执行过程以获得最终结果的方式。另一方面,声明式编程只传递输入并期望输出,而不陈述完成任务的具体过程。我感到困惑的是函数式编程。我知道函数式编程是一种将计算视为数学函数求值的编程范式,避免状态和可变数据,并不是一种声明式语言。然而,我仍然无法理解它的...

50得票2回答
“函数式”Rust对性能有什么影响?

我正在Exercism.io上学习Rust编程语言。我有相当多的C/C++经验。我喜欢Rust的“函数式”元素,但我对其相对性能有所担忧。 我解决了'run length encoding' problem问题: pub fn encode(source: &str) -> ...

48得票13回答
现实世界中的Haskell与过程式编程对比

最近我对函数式编程产生了浓厚的兴趣。 尽管我对Haskell和它似乎提供的可能性感到非常激动,但我现在也认识到需要一段时间才能掌握它。在一个关于 如何学习Haskell 的SO问题中,有一个答案说除非 "掌握" 它,否则将需要数月甚至数年的时间。 我知道C、PHP、一些面向对象的东西等等。...

36得票13回答
混合面向对象和函数式编程

有哪些语言既支持面向对象编程又支持函数式编程?我知道任何支持一级函数的语言都可以被认为是函数式的,但我正在寻找一个特别针对这两种编程风格的语法。 使用这样的语言,我想将所有状态更改隔离到代码的一个部分,并使程序的其余部分纯粹是函数式的。仅仅想想就让我流口水(调试天堂!)。 到目前为止,我发...

34得票4回答
Clojure中用于进度报告的惯用语?

在Clojure中如何监控映射函数的进度? 在命令式语言中处理记录时,我经常打印一条消息来指示已经完成了多少工作,例如每处理1000个记录报告一次。实际上这是计数循环迭代。 我想知道在Clojure中,当我将一个函数映射到记录序列时,我可以采取哪些方法来监控进度。在这种情况下,打印消息(甚...

31得票4回答
编译器优化的函数式代码比命令式代码表现更好的示例

其中一种无副作用的引用透明函数式编程的承诺是这种代码可以被广泛优化。引用维基百科的话: “在许多情况下,数据的不可变性可以通过允许编译器做出在命令式语言中不安全的假设,从而提高内联扩展的机会,从而提高执行效率。” 我想看到的是函数式语言编译器通过生成更好的优化代码而优于命令式编译器的示例。...

18得票3回答
Python编程功能式与命令式代码对比

所以我正在上一门学习三种主要编程范式的课程。我知道Python使用了函数式和命令式编程范式。在明天的考试之前,我想要寻找Python中每个编程范式的简短示例代码,以更好地理解它们。谢谢!

17得票4回答
使用响应式编程的简单案例原因

请问有人能解释一下使用响应式风格的优势吗:Observable<String> greeting = Observable.just("Hello"); Observable<String> yelling = greeting.map(s -> s.toUppe...