蒯因与引用透明
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 年 前