summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-06-17 15:58:45 +0800
committereltrac <hi@eltr.ac>2026-06-17 15:58:45 +0800
commitba81b1bcbc6e0dd612b3a65f46a5422d587b5fcb (patch)
tree64735c184cd183f00b7fcce0b7d4b8a2eae0c230 /content
parent1f5cd83d2e8f2339a191dfd610e80641ee6fb37c (diff)
[draft] update
Diffstat (limited to 'content')
-rw-r--r--content/weekly/86.md24
1 files changed, 23 insertions, 1 deletions
diff --git a/content/weekly/86.md b/content/weekly/86.md
index a4f1b66d..1ed33444 100644
--- a/content/weekly/86.md
+++ b/content/weekly/86.md
@@ -21,18 +21,34 @@ Blah, blah.
## 连接
+### Simple Made Easy
+> [!note] 📺
+> ["Simple Made Easy" - Rich Hickey (2011)](http://farside.link/invidious/watch?v=SxdOUGdseq4)
+
+Clojure 作者 Rich Hickey 在 2011 年 Strange Loop Conference 上发表的演讲,内容是为何以及如何创造简明(Simple)的软件系统,而不只是关注于使用容易(Easy)且熟悉的工具。
+
+演讲开头对比了 Simple 与 Easy 的区别,前者是客观的,表明系统没有把一个以上的实体交织在一起;后者是相对的,一部分人熟悉某个事物,所以觉得它容易。此外还有 Construct(构造)和 Artifact(产物)的区别,前者是源代码和工具,后者是交付给用户的东西。容易使用的开发工具不应该阻碍软件开发者交付简明好用的软件产物。
+
+Rich Hickey 对比了软件开发中复杂的东西和简明的东西。比方说,状态是复杂的,如果要排错,就需要复现系统中所有的状态;不可变的值是简明的,它没有把数据和时间交织在一起。再者,方法是复杂的,因为它把命名空间、数据和行为交织在一起;函数和多态是简明的。[^1]
+
+使用这些工具编写软件,就能让创造简明的软件系统变得容易——*Simple Made Easy*。要保证软件质量,首要的是让系统尽可能简明,这对用户更好,也对后续的开发、拓展和维护更好,而「有了测试就有了安全网」的观点是次要的,复杂的系统有测试的保护依旧会失败,如今 Bug 的典型特征就是:它通过了类型检查,通过了测试,但它还是存在!简明的系统可以让 Bug 更容易被发现和修复。
---
## 茶歇
+### OpenAI 亏损 385 亿美元
+
+> [!note]
+> [Leaked OpenAI financials put a hard number on Altman's compute burn](https://runtimewire.com/article/openai-leaked-financials-altman-compute-burn)
+
### NetNewsWire 现状
> [!note]
> [NetNewsWire Status](https://inessential.com/2026/06/15/netnewswire-status.html)
-## 不再使用 Conventional Commits
+### 不再使用 Conventional Commits
> [!note]
> [Scoped Commits](https://scopedcommits.com/)
@@ -98,3 +114,9 @@ Summer Evans 指出 Conventional Commits 是有害的,它把关注点放到了
不过谁叫我用一个人的战力打一个被设计给多人一起解决的 Boss 呢?
+### 六月十七日
+
+- 我讨厌雨天出门,脚是湿的,人也很困,没有精神。
+
+[^1]: 与类无关的方法(函数)如何与多态一起替代传统 OOP 语言(如 Java)中将方法与类绑定的机制,可以阅读《[从 CLOS 审视 Java 面向对象编程](/article/clos/#不属于类的多态)》。文中的例子是 Common Lisp 的对象系统,其中有关多态的设计与 Clojure 相似。
+