首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >客观思考与功能思考

客观思考与功能思考
EN

Stack Overflow用户
提问于 2013-08-12 14:22:10
回答 4查看 299关注 0票数 4

当我试图增加我对函数式编程的知识时,我发现很难从函数的角度重新设想我用OOP语言解决的问题的解决方案,特别是在涉及小部件的情况下。像Project和4Clojure这样的站点对于学习核心函数和操作原始数据的技术非常有用,但我真正想要的是一个资源,讨论如何将OOP构造具体转换为FP,并特别注意如何识别何时以及如何使用状态。(要使用一个具体的例子,在Clojure中实现钢琴键盘的最佳方法是什么?)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-08-12 14:54:20

我知道两本可能有用的书:

题名/责任者:面向对象程序员的函数式编程 /E/C/E/E.

"Clojure程序设计“由查斯爱默里克,布赖恩卡珀和吉尔斯托波格兰德。第12章是关于如何将面向对象的设计模式“转换”到Clojure。

票数 3
EN

Stack Overflow用户

发布于 2013-08-12 14:51:30

我真正想要的是一个资源,讨论如何将OOP构造具体地转换为FP。

不,那是个经典的XY问题

我讨厌类比,但在工程学中,一个类似的说法可能是,你已经掌握了金属制品,并希望通过在塑料中重新创造出相同的形状来学习塑料。在现实中,你永远不想把你所知道的转化为你正在学习的东西。您真正想做的是学习如何使用新技术解决熟悉的问题。回到工程方面,良好的塑料设计与金属设计的形状不同。在编程方面,使用一种范式构建的解决方案永远不会很好地转化为另一种模式。你应该从头开始重新解决问题。

票数 7
EN

Stack Overflow用户

发布于 2013-08-12 14:40:11

我不知道有哪一本书会教我们如何将OOP构造转换成功能结构。只要给自己一些时间,你就会掌握这些功能成语。

不要试图在OOP代码和FP代码之间映射。学习一门语言(口语)的最好方法是让自己沉浸在语言中,并思考它。编程语言也是如此。

三年前我开始学习Clojure。当时,我甚至不知道什么是Lisp,什么是函数式编程语言。我说:嗯?那到底是什么?我能用Lisp做些有用的事吗?我读了很多书,学了很多,更好的是,我在Clojure找到了一份工作!

现在用函数式语言编程对我来说是自然的,这是有意义的。在数据结构和函数中编程是我所需要的。简单!

需要记住的一点是,函数式编程语言在默认情况下并不困难,而OOP语言在默认情况下并不容易。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18189447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档