问题标签 [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.
paradigms - 字符数组和字符串有什么区别?
把时间花在高级语言上,我突然意识到我不知道字符数组和字符串之间的区别。我认为它们是同一件事,但不确定。有区别吗?它只是一个带有一些抽象的字符数组吗?
language-agnostic - 是否有关于“保护语句”与“单函数退出点”范式的可维护性的研究?
我想知道是否有任何关于使用“保护语句”范式与“单功能退出点”范式的项目可维护性的研究(包括随意的和稳健的)?
Guard 语句示例(在 C# 中):
单个函数退出点示例(在 C# 中):
我知道两者的优缺点一直在无休止地争论 SO,但我正在寻找关于每种范式的可维护性的实际研究*。这可能是未知的,但我想如果信息在那里,SO 上的某个人会知道它在哪里。到目前为止,我的网络搜索还没有成功。
**我也知道许多程序员(包括我)在他们的代码中使用这两个原则,这取决于具体情况。我只是希望发现哪一个具有更高可维护性的可靠记录,可用作首选范例。*
c# - 编程范式之间的异同
在过去的 4 年里,我一直作为一名开发人员工作,而在此之前的 4 年是在大学学习软件开发。在我从事该行业的 4 年中,我在 VB6 中做过一些工作(这是一个笑话),但大部分都是在 C#/ASP.NET 中完成的。在此期间,我已经从“对象感知”过程范式转变为面向对象的范式。
最近我对那里的其他编程范式很好奇,所以我想我会问其他开发人员他们对这些范式之间的异同的看法,特别是对于 OOP?在 OOP 中,我发现非常关注概念之间的关系和逻辑交互。对于其他范式,您必须采用哪些思维框架?
c++ - C++ 入门(从 Python 的范式转变)
我想学习 C++,这样我就可以为服务器相关的东西开发 C++ Python 模块。
我是一个纯粹的动态语言开发人员(Python、PHP、Ruby 等)。我想学习一门快速的语言,如果我要这样做,我宁愿学习一门非常快速的语言,比如 C++。不过,在我开始之前,我就明白突然使用静态类型、不同的语法和编译代码将是一种范式转变。有没有什么建议可以让具有动态语言经验的 C++ 开发人员给我以帮助我更快地实现这一转变?
multithreading - 如何在后台自动运行?
我不确定它还没有实现,我希望它是。但我知道在.Net 程序员应该在后台线程中手动运行耗时的任务。
所以每次我们处理一些 UI 事件时,我们都知道这需要一些时间,我们也知道这会挂起 UI 线程和我们的应用程序。然后我们让所有这些背景工作并处理回调或其他任何事情。
所以我的问题是:
在某些语言/平台中是否有一种机制可以在后台自动运行耗时的任务并自行完成所有相关工作?所以我们只需要编写处理特定 UI 事件的代码,这些代码会以某种方式被检测为耗时并在后台执行。
如果没有,那为什么?
jquery - jQuery范式?
在我看来,jQuery 似乎并没有被写成一个 OOP 框架,它似乎太短了,而且不够冗长。我的想法是否正确,如果它不是写为 OOP,那么他们使用的是什么方法/范式?
oop - 函数式编程语言是如何工作的?
如果函数式编程语言不能保存任何状态,那么它们如何做一些简单的事情,比如读取用户的输入?他们如何“存储”输入(或为此存储任何数据?)
例如:这个简单的 C 语言如何转化为 Haskell 等函数式编程语言?
(我的问题受到这篇优秀文章的启发:“名词王国中的执行”。阅读它让我更好地理解了究竟什么是面向对象编程,Java 如何以一种极端的方式实现它,以及函数式编程语言如何成为一种对比。)
jquery - jQuery Paradigm 是反对单元测试还是补充它?
是的,我知道QUnit,但是使用 jQuery Paradigm 可以用更少的代码更快地完成任务,这与 TDD 范式有什么不同吗?或者它以某种方式补充它?
scala - Scala 与 F# 的问题:它们如何统一 OO 和 FP 范式?
Scala 和 F# 统一 OO 和 FP 范式的方法之间的主要区别是什么?
编辑
每种方法的相对优缺点是什么?如果尽管支持子类型化,F# 可以推断函数参数的类型,那么为什么 Scala 不能?
paradigms - 发布/订阅范式:为什么消息类必须不知道他们的订阅者?
来自维基百科:“发布/订阅(或发布/订阅)是一种消息传递范式,其中消息的发送者(发布者)没有被编程为将他们的消息发送给特定的接收者(订阅者)。相反,发布的消息被描述为类,而不知道可能有什么(如果有的话)订阅者”
我可以理解为什么不能对发送者进行编程以将其消息发送给特定的接收者。但是为什么发布的消息必须是不知道其订阅者的类呢?
似乎一旦消息系统本身就位,随着软件的发展,通常会发生变化的是发送的消息、发布者和接收者。将消息与订阅者分开似乎意味着订阅模型也可能发生变化。这是原因吗?另外,这在现实世界中会发生吗?
我意识到这可能是一个基本问题,但我正在努力理解这种范式,非常感谢您的回复。