蒯因与引用透明

transparent),这是面向函数范式FP中的一个术语,也是FP语言如Scala等相比Java特色所在。 为什么他们称为引用透明Referentially transparent 一文中谈到: “引用

10 年 前

Rust能让我写出好的代码 - Reddit

,每个分支都是意图驱动的,而不是一些语言强制分支的必要性。 模块系统- 模块的直观文件夹结构,同时仍然允许完全的灵活性,并记住模块应该导出多个结构,甚至允许重新导出以隐藏下游布局细节。这个模块系统有很多

1 年 前

Rust有面向对象特性吗?

不同的格式。 [list] [*]OOP -> 对象作用于世界和自身 [*]Rust(以及更多 FP) -> 函数作用于数据 [/list] 每种语言(或多或少)都是独特的,并且都有自己的

6 个月 前

鲍勃大叔《Clean Code》书籍反对意见的收集

,拥护SOLID观点的人数也一直在稳步下降。该书着重于Java代码,排除了其他编程语言,甚至其他面向对象的编程语言。Java当时很流行,Java可能是正确的选择,但是如今有更好的选择。最后,本书对

3 年 前

Lambdas不意味着函数式编程

,Idris,Ocaml(甚至Scala)不同,Java编译器不会帮助我们。 如果我们要采用函数原则在Java中试图成功地混合面向对象oop和函数编程fp,我们最好知道它们分别定义是什么,函数式语言的核心

5 年 前

Julia是Lisp的转世 - Arnuld

Scheme和Common Lisp之间学习(在Google Groups上可以找到一个这样的对话)。我读这些都是出于强烈的兴趣,现在我意识到这都是为了更好地理解编程语言而经历的一部分。我喜欢Lisp,我想要

2 年 前

Haskell视频和课程

我很久没回来道场聊聊了,才发现独立这么一个板块。 投些资料吧,最近在知乎看到一个总结,非常不错。 http://www.zhihu.com/question/20193745 原文都是带链接的,略

9 年 前

为什么我推荐功能驱动的软件设计方法? - khalilstemmler

功能feature代表了软件设计的基本复杂性。这是无法避免的复杂性。其他所有内容(语言,工具,模式等)都是意外复杂性的一种形式。因此,要编写最简单的代码(无论我们在堆栈的哪一侧),都应该采用功能

3 年 前

DDD和OO的重要区别:上下文重于抽象

够好的 Haskell,人们也很容易地在 FP 语言中提出糟糕的抽象: 幽默:程序员耍小聪明导致认知负担  总之,在DDD中,上下文的边界重于对这些上下文中共同特征的抽象,是最底层逻辑,上下文重要性

2 年 前

建立快速响应软件开发的四个关键 - Andy Hunt

必须“学会”几乎和你学到的一样。 这是让人们尝试学习新的开发方法,或学习新的编程语言范例(例如,从程序到 面向对象 到功能)的事情之一。你必须摆脱旧的习惯,旧的心理地图,解决旧问题的方法,因为现在

5 年 前

否定OOP的面向数据编程DOP原理 - Yehonathan Sharvit

,而可以使用Ocaml,Haskell,JavaScript(甚至使用Clojure)之类的功能编程(FP语言来破坏它们。 实际上,在本章中,我将说明如何在JavaScript(一种支持FP和OOP

3 年 前

微软小语言模型Phi-3-Mini-4K-Instructk开源发布

安全措施的直接偏好优化。当根据测试常识、语言理解、数学、代码、长上下文和逻辑推理的基准进行评估时,Phi-3 Mini-4K-Instruct 在参数少于 130 亿的模型中展示了强大且最先进的性能

1 周 前

纯函数式编程的缺点

语言都是由此演变而来。在上世纪70年代Schema作为Lisp相同的数据表示策略。在上世纪80年代,SML增加了unboxing with tuple,堆分配作为一个单一的内存块。在上世纪90年代

7 年 前

范畴类别思维

”决定。范畴的选择可以由文化和语言决定,也可以随着时间的推移而变化。回到彩虹示例 - 并非所有语言都有相同的基本颜色词组。例如,俄罗斯和希腊都认为浅蓝色和深蓝色是单独的颜色。专业从事颜色的人如画家可以

2 年 前

基于函数式编程的领域驱动设计 - Scott Wlaschin

适合的。   在FP中建立战术设计模型 DDD中很多都是非常面向对象的,如实体和聚合体,这些是低层次战术的领域驱动设计。 值对象在 DDD 中是一个对象,如果你有一个不同的对象,里面有

2 年 前