问题标签 [paradigms]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 多范式语言
使用一种语言,例如(因为我现在正在使用它)PHP,它支持过程和面向对象的范例。
是否有一个好的经验法则可以确定哪种范式最适合新项目?如果没有,你怎么能做出决定?
aop - 您在生产软件中使用 AOP(面向方面编程)吗?
在我看来, AOP是一种有趣的编程范式。但是,在 stackoverflow 上还没有关于它的讨论(至少我找不到它们)。您对此有何看法?你在你的项目中使用 AOP 吗?还是您认为它是一种不会出现很长时间或不会成为主流的利基技术(就像 OOP 那样,至少在理论上 ;))?
如果您确实使用 AOP,那么请让我们知道您还使用了哪些工具。谢谢!
paradigms - 您是否使用 MDA/MDD/MDSD,任何一种模型驱动的方法?会是未来吗?
编程语言在其历史上有几个(r)进化步骤。有些人认为模型驱动的方法将成为下一件大事。有一些工具,如 openArchitectureWare、AndroMDA、Sculptor/Fornax Platform 等,可以极大地提高生产力。然而,我的经验是,一开始很容易上手,但当你尝试一些意料之外的事情时,或者很难找到足够的信息来告诉你如何开始你的项目时,也会在某个时候卡住,因为可能有很多事情需要考虑。
我认为从模型驱动的东西中获得任何东西的一个重要见解是理解模型不一定是一组漂亮的图片或树模型或 UML,但也可能是文本描述(例如状态机、业务规则ETC。)。
你怎么看,你的经历告诉你什么?模型驱动开发(或任何您可能想要的名称)是否有未来?
更新:似乎对这个话题没有太多兴趣。如果您对模型驱动方法有任何(好的或坏的)经验,或者您为什么认为它一点都不有趣,请告诉我。
functional-programming - 函数式编程和非函数式编程
在我大学的第二年,我们被“教授”了 Haskell,我对此几乎一无所知,对函数式编程更是一无所知。
什么是函数式编程,为什么和/或我想在哪里使用它而不是非函数式编程,我认为 C 是一种非函数式编程语言是否正确?
multithreading - 在未来的多核计算机中,哪种编程范式最成功?
今天,我们中的许多人在我们的桌面上有两个或更多的 CPU 内核。大多数应用程序的工作方式与我们只有一个内核时的工作方式非常相似。
但是当一台典型的台式机有 1000 多个内核时呢?
那么我们将使用什么编程范式。我们当前的线程和同步解决方案很少能很好地扩展到这么多内核。
你认为 Thread 类在 JDK 中被弃用了吗?
paradigms - 哪种编程语言范式适合哪种工作?
据我所知(我承认不多),目前流行的编程范式是面向对象(Java、C#、Ruby)与函数式(F#)。作为最熟悉第一范式的人,我有几个问题:
- 程序员可以一生都坚持一种范式吗?或者换句话说,所有问题都可以归结为一把锤子的钉子吗?
- 如果不是,哪种工具适合哪种类型的任务?例如:基于 Web 与桌面,创建美观且响应迅速的界面,能够快速处理数据等。
- 人们是否曾经需要学习新的范式?对于我过去的两份工作,我的工作场所需要 Java 和 C#。是否有专门使用非面向对象语言的工作场所?
显然,没有“最好”的语言,但我想知道是否值得投入时间和精力来学习新的范式。提前致谢!
functional-programming - 从 Ruby、Lisp、Haskell 和 Erlang 转向 Ocaml
我一直在阅读有关 Ocaml 始终如一的速度、快速原型设计能力和出色的内存管理的信息,并决定接受它。
因为我已经掌握了 Ruby、*lisp、Haskell 和 Erlang,所以我特别感兴趣的是我应该在 Ocaml 中注意哪些违反 KISS 的特性。
如果您以上述语言的背景开始 Ocaml,那么最令人沮丧的事情是什么?你是如何解决这个困难的?什么类比帮助你进入了语言的流程?
我也很想知道你是否已经做的不仅仅是简单地学习了 Ocaml,并且实际上已经为你的大部分编码问题转换了它。
oop - 面向方面编程与面向对象编程
像这里和全世界的大多数开发人员一样,多年来我一直在使用面向对象编程 (OOP) 技术开发软件系统。因此,当我读到面向方面编程 (AOP) 解决了许多传统 OOP 无法完全或直接解决的问题时,我停下来想,这是真的吗?
我已经阅读了很多信息,试图学习这种 AOP 范式的关键,并且我在同一个地方,所以,我想更好地了解它在现实世界应用程序开发中的好处。
有人有答案吗?
aop - 什么是面向方面编程?
我了解面向对象的编程,并且已经编写了很长时间的 OO 程序。人们似乎在谈论面向方面的编程,但我从未真正了解它是什么或如何使用它。什么是基本范式?
这个问题是相关的,但并不完全问它: