我一直认为函数式编程可以用Python完成.因此,我很惊讶Python在这个问题上没有得到很多提及,当提到它时,它通常不是很积极.然而,没有给出很多理由(没有提到模式匹配和代数数据类型).所以我的问题是:为什么Python不适合函数式编程?是否有更多的原因,而不是缺乏模式匹配和代数数据类型?或者这些概念对函数式编程如此重要,以至于不支持它们的语言只能被归类为二级函数式编程语言?(请记住,我在函数式编程方面的经验非常有限.)
功能语言很好,因为它们通过消除状态来避免错误,但也因为它们可以很容易地自动并行化,而不必担心线程数.
作为Win32开发人员,我可以将Haskell用于我的应用程序的一些dll吗?如果我这样做,是否会为我自动采取真正的优势?如果是这样,那么编译器给我这个优势呢?
F#是否并行自动编写多个内核和cpu的函数?你会看到任务管理器中的线程数增加吗?
基本上我的问题是,如何以实用的方式开始使用Haskell,如果我这样做,我真的会看到一些好处吗?
你什么时候不想使用函数式编程?什么不太擅长?
我更多地寻找范式的缺点,而不是"没有广泛使用"或"没有好的调试器可用"之类的东西.到目前为止,这些答案可能是正确的,但它们处理FP是一个新概念(一个不可避免的问题)而不是任何固有的品质.
有关:
如何将值重新分配给先前分配的变量?我需要它像这样工作:
<xsl:variable name="variable2" select="'N'" />
....
<xsl:when test="@tip = '2' and $variable2 != 'Y'">
<xsl:variable name="variable2" select="'Y'" />
</xsl:when>
Run Code Online (Sandbox Code Playgroud) 功能编程似乎是计算机科学的一种范式,它具有越来越多的回声.
我想知道使用函数式编程方法而不是更传统的面向对象方法可以更好地解决哪种问题.
谢谢.
可能重复:
为何选择函数式语言?
我开始用C/C++,VB和最终的Python编程 - 所有命令式语言.我参加了一门关于编程语言的课程并学习了我的第一个函数式语言 - OCaml.太可怕了.
除了语法和其他恐怖之外,OCaml采用了我的命令式思维过程并将其抛到了窗外.这令人沮丧.我坚持认为,所有可以在功能上完成的事情也可以强制执行.我认为函数式编程是命令式编程而没有肢体(副作用).为了回应我的沮丧,我的教授可以提出的唯一好处是FPL能够并行化无副作用的功能.
无论如何,足够的谈话.
谢谢,
Advait