标签: imperative-programming

-1
推荐指数
3
解决办法
9593
查看次数

OCaml 循环:命令式与递归

我刚刚偶然发现了一些 OCaml 代码,它编写了如下循环:

    let r = ref (f 0) in
    for i = 1 to k - 1 do
      r := f i * !r
    done ;
    !r
  in
Run Code Online (Sandbox Code Playgroud)

这很有趣,因为我通常看到这通常使用 OCaml 中的递归函数来完成。一个相对于另一个有优势吗?

recursion ocaml functional-programming imperative-programming

-1
推荐指数
1
解决办法
364
查看次数

命令式编程和函数式编程的效率

我对IP和FP的性能有疑问.假设我有一个计算第n个Fibonacci数的函数.

在命令式编程中,我可以选择使用迭代方式,递归或动态编程来计算第n个Fibonacci数.当然,与递归渐近相比,迭代方式和动态编程将表现得更好.

在函数式编程中,假设没有涉及的状态,那么我只能以递归的方式进行.

在这种情况下,这并不意味着功能编程在效率方面与渐进式编程相比总是表现得相同或更慢(渐近)?

现实世界的函数式编程如何处理这个问题?

algorithm performance functional-programming imperative-programming asymptotic-complexity

-2
推荐指数
1
解决办法
600
查看次数

陈述语言

我正在阅读一篇关于声明性编程语言的文章.

如果我不理解这种类型/范式的编程语言的质量,并且它与命令式语言形成鲜明对比,那么我是否应该阅读这种类型的编程语言(如Haskell)中的编程,然后再阅读该文章?

haskell imperative-languages imperative-programming declarative-programming

-4
推荐指数
1
解决办法
1839
查看次数