算法与计算机科学jsoftware.com编辑精选
记法作为思维的工具
Notation as a Tool of Thought (1979)
2015 — 2025,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是 Kenneth E. Iverson 的经典论文/演讲《记号作为思考的工具》,讨论记号如何影响人的思考,并主张把编程语言的可执行性、通用性与数学记号的优势结合起来,APL 是相关代表。文章强调无歧义、简洁的记号能帮助人更有效地推理和发现。
为什么经久不衰:它把语言和记号设计提升到认知工具层面,对编程语言、数学教育以及 APL/J 社区都有持久启发,因此多年后仍值得读。
HN 评论精选
好记号能带来新发现,但多数记号改革可能丢失创造性力量,且需要深入学习才能体会。
正如别处提到的,合适的记号让我们发现了此前从未有人做过的杂耍模式。我承认现行数学记号有问题,但大多数改革方案似乎丢掉了预测和创造能力,只剩记号本身。问题在于,不亲身体验那个额外维度就看不到这一点,而要体验它又得投入大量时间学数学。很棘手。
ColinWright查看英文原文
As mentioned elsewhere, the right notation[0] allowed us to discover new juggling patterns that had never been done[1][3]. I freely admit that current mathematical notation has problems, but most of the proposed reforms seem to lose the predictive and creative power, becoming mere notation and nothing more. The problem is that without experiencing that extra dimension it's impossible to see that, and you can't experience that extra dimension without investing the time and effort to learn mathematics to a significant level. Tricky. [0] https://www.numberphile.com/videos/juggling-by-numbers [1] As far as we know. Without the notation we don't actually know what had been done, but when I took the new patterns to juggling conventions, no one knew them[2]. [2] Actually it's stronger than that. I showed people some of the new patterns at the British Juggling Convention in 1985 and no one knew them. Then at the European Juggling Convention just 4 months later, people from the USA were proclaiming them as the latest patterns that they had just learned, and were perplexed at how I not only knew them, but knew many, many more. [3] And actually Paul Klimek had beaten us to it, but hadn't been able to get others interested in the notation. As far as we can tell, Paul was the first to get the notation.
合适的记号能极大加速问题解决,并促成新发现。
关于这个话题,我喜欢这个 Strange Loop 演讲:合适的记号让 John Conway 一个下午就解决了一个另一位数学家 Little 花了 6 年才解决的纽结问题!另一个例子是杂耍记号,它不仅让模式得以共享,还促成了新模式的发现。
emmanueloga_查看英文原文
On this subject I love this strangeloop talk [1]: the right notation allowed John Conway to solve in an afternoon a knot problem that took another mathematician (Little) 6 years to solve! Another example is juggling notation, that allowed not only the sharing of patterns but the discovery of new ones [2]. 1: https://www.youtube.com/watch?v=Wahc9Ocka1g 2: https://en.wikipedia.org/wiki/Juggling_notation
可执行、无歧义的记号加上简洁性,能提升人的推理能力。
Iverson 引入 APL 的著名论文。对我而言一个关键收获是:计算机使无歧义的记号成为可能。引用 Iverson 的话:“本文的论点是,编程语言中的可执行性和通用性优势,可以与数学记号提供的优势,在一个连贯语言中有效结合。”歧义是传统数学记号的一大问题。另一大收获是简洁性让推理更容易:能用更少代码表达更多的编程语言,让我们更容易推理代码。
cs702查看英文原文
Iverson's famous paper introducing APL. A key takeaway for me is that computers make it possible to have unambiguous notation. Quoting from Iverson's paper: "The thesis of the present paper is that the advantages of executability and universality found in programming languages can be effectively combined, in a single coherent language, with the advantages offered by mathematical notation." Ambiguity is a real problem with much of conventional mathematical notation, which has evolved in fits and starts throughout history. Mathematical symbols are used, reused, and overloaded with different meanings again and again, in so many ways, that context is often necessary for understanding. Ambiguity hampers the use of mathematical notation as a tool for thought. The other big takeaway from this paper, for me, is that succinctness makes it easier to reason. That is, programming languages that enable us to express more with less code make it easier for us to reason about -- and with -- code.
历次讨论
同类还值得读
位运算技巧集
Bit Twiddling Hacks
斯坦福页面上的经典位运算技巧合集,收录了 popcount、前导/尾随零、位反转、交换、舍入等大量技巧,并附有解释和性能讨论。
算法与计算机科学上首页 8 次 · 2011–2024graphics.stanford.edu编辑精选如何不按平均评分排序
How Not To Sort By Average Rating
经典文章解释了为什么按平均评分排序不可靠:只有少量评价的条目(比如仅一条五星)会轻易排到最前,而评价数量的差异被忽略。
算法与计算机科学上首页 7 次 · 2009–2024evanmiller.org编辑精选数据结构可视化
Data Structure Visualizations
旧金山大学 David Galles 教授制作的数据结构与算法交互式可视化网站,涵盖 B 树、红黑树、排序、图算法等,可逐步操作观察其运行过程。
算法与计算机科学上首页 6 次 · 2011–2021cs.usfca.edu编辑精选1996 年以来的计算机科学最佳论文奖
Best Paper Awards in Computer Science since 1996
Jeff Huang 维护的一个汇总页面,收录了自 1996 年以来计算机科学各主要会议的“最佳论文奖”获奖名单,并按年份和会议整理,方便读者一站式浏览历届获奖论文。
算法与计算机科学上首页 6 次 · 2010–2018jeffhuang.com编辑精选算法(Jeff Erickson)
Algorithms, by Jeff Erickson
伊利诺伊大学 Jeff Erickson 教授的算法课教材,免费在线开放。
算法与计算机科学上首页 5 次 · 2018–2022jeffe.cs.illinois.edu编辑精选