标签: paradigms

面向对象编程的替代方案?

OOP可能是当今软件设计中使用最多的编程范例.我的问题是 - 其他范例可以与之竞争并且可以代替oop?为了澄清这个问题,我不是在询问其他范例是什么.其中有很多,我想知道哪一个:

  • 已经在实践中使用,不仅在理论上.
  • 可以与oop竞争,因此它可以在没有或最少痛苦的大型项目中使用.
  • 可用于开发具有业务逻辑,数据库等的桌面应用程序.
  • 不与oop的伴侣一起使用,但可以替换oop.

如果有的话,它的优缺点是什么,为什么它比oop更好/更差,最好用什么语言,在流行的语言中使用它,有任何设计模式,还可以完全取代oop?

language-agnostic oop paradigms programming-languages

72
推荐指数
3
解决办法
2万
查看次数

功能编程和非函数编程

在大学的第二年,我们被"教"了Haskell,我对它几乎一无所知,更不用说函数式编程了.

什么是函数式编程,为什么和/ xor我想在哪里使用它而不是非函数式编程?我认为C是非函数式编程语言是正确的吗?

paradigms glossary functional-programming

68
推荐指数
3
解决办法
2万
查看次数

功能编程的缺陷/缺点

你什么时候不想使用函数式编程?什么不太擅长?

我更多地寻找范式的缺点,而不是"没有广泛使用"或"没有好的调试器可用"之类的东西.到目前为止,这些答案可能是正确的,但它们处理FP是一个新概念(一个不可避免的问题)而不是任何固有的品质.

有关:

paradigms functional-programming

68
推荐指数
6
解决办法
2万
查看次数

Reactive和Functional-Reactive编程之间的区别

我最近一直在对反应式编程进行一些研究,我发现很难找到Reactive和Functional -Reactive 之间差异的良好描述.

是否只是使用功能方法/范例实现反应式编程而不是使用声明式或OO范式?

paradigms programming-languages functional-programming reactive-programming

67
推荐指数
2
解决办法
2万
查看次数

在.NET中进行双重检查锁定

我在本文中讨论了为什么在Java中打破了双重检查锁定范例的原因.如果声明变量,范例是否对.NET(特别是C#)有效volatile

.net paradigms multithreading double-checked-locking

52
推荐指数
4
解决办法
5万
查看次数

库和API之间是否仍然存在差异?

每当我向人们询问API和库之间的区别时,我都会得到不同的意见.有些人给出了这种定义,说API是规范,库是实现......

有些人会告诉你这种类型的定义,API是一堆映射的函数,而Library只是编译形式的分发.

所有这些让我想知道,在一个Web代码,框架和开源的世界中​​,是否真的存在实际的差异?像jQuery或cURL这样的库可以交叉到API的定义吗?

此外,框架是否完全交叉到这个类别?是否有一些Rails或Zend可能更像"API-like"或"libraryesque"?

真的很期待一些有启发性的想法:)

api paradigms frameworks

50
推荐指数
4
解决办法
3万
查看次数

为什么Clojure会动态输入?

我非常喜欢的一件事是阅读不同的编程语言.目前我正在学习Scala,但这并不意味着我对Groovy,Clojure,Python和其他许多人都不感兴趣.所有这些语言都具有独特的外观和一些特征.在clojure的情况下,我不理解这些设计决策之一.据我所知,Clojure非常强调其功能范式,并且几乎迫使你尽可能地使用不可变的"变量".因此,如果您的一半值是不可变的,为什么语言会动态输入?clojure网站说:

首先,Clojure是动态的.这意味着Clojure程序不仅仅是您编译和运行的东西,而是您可以与之交互的东西.

那听起来很奇怪.如果程序已编译,则无法再更改它.当然你可以与它"互动",这就是用户所使用的UI,但网站当然并不意味着整洁的"动态"GUI.

Clojure如何从动态类型中受益

我的意思是Clojure的特殊情况,而不是动态类型的一般优点.

动态类型系统如何帮助改进函数式编程

再一次,我知道没有溢出"int a;"的乐趣.整个源代码,但类型推断可以缓解很多痛苦.因此,我想知道动态类型如何支持函数式语言的概念.

paradigms functional-programming language-design clojure dynamic

50
推荐指数
5
解决办法
1万
查看次数

基于流程的编程

在过去的几天里,我一直在阅读基于流程编程的一些内容.有一个维基,提供更多细节.维基百科对此也有很好的概述.我的第一个想法是,"伟大的另一个乐高土地假装编程的支持者" - 一个可以追溯到80年代后期的概念.但是,当我读到更多内容时,我必须承认我已经被吸引了.

  1. 您是否将FBP用于实际项目?
  2. 你对FBP有什么看法?
  3. FBP有未来吗?

从某种意义上讲,自程序语言出现以来,我们的行业一直在追求重用的圣杯.

language-agnostic paradigms

40
推荐指数
4
解决办法
1万
查看次数

Scala与F#问题:他们如何统一OO和FP范式?

Scala和F#采用的方法在统一OO和FP范例方面有哪些主要区别?

编辑

每种方法的相对优点和缺点是什么?如果,尽管支持子类型,F#可以推断函数参数的类型然后为什么不能Scala?

comparison paradigms f# functional-programming scala

40
推荐指数
6
解决办法
8888
查看次数

您是否在生产软件中使用AOP(面向方面​​编程)?

在我看来,AOP是一个有趣的编程范例.但是,目前还没有关于stackoverflow的讨论(至少我找不到它们).你对此有何看法?你在项目中使用AOP吗?或者你认为它是一种利基技术,不会长时间存在或者不会成为主流(就像OOP一样,至少在理论上会这样做))?

如果您确实使用AOP,请告诉我们您使用的工具.谢谢!

paradigms aop

37
推荐指数
3
解决办法
7691
查看次数