编程与软件工程youtube.com
APL 演示(1975)[视频]
APL Demonstration (1975) [video]
2014 — 2024,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是一段 1975 年的 APL 演示视频,展示这种以符号和数组为核心的编程语言在早期如何被讲解和操作。评论延伸讨论了 APL 的简洁表达力、现代 direct functions,以及把它做成计算器应用的设想。
为什么经久不衰:APL 极端的简洁与符号化表达至今仍有启发,而这类未经商业包装的早期教学演示也成了珍贵的语言史资料。
HN 评论精选
推荐 Aaron Hsu 的 APL 演讲,认为其尖锐但很有吸引力。
顺便提一下,Aaron Hsu 做过很多关于 APL 的演讲。这些演讲对主流编程风格有点刺耳(强调美感和简洁,而不是易用性和变量名),但我个人觉得它们正中我的喜好。
agumonkey查看英文原文
Just in case, Aaron Hsu made a bunch of talks about APL https://www.youtube.com/results?search_query=aaron+hsu It's a bit caustic to the mainstream (beauty, terseness over ease and variable names) but I personally find it tickles all my boxes.
现代 APL 的 direct functions 让简洁表达和 tacit programming 更强大。
尽管这段演示很酷,但 APL 在视频拍摄后的 34 年里已经进步了很多。最值得注意的是,如今 APL 有了 direct functions,带来的简洁程度和对 tacit programming 的支持是其他任何编程语言都无法匹敌的(是的,包括 Haskell)。作为一个简单例子,这里用 direct function 朴素实现斐波那契:`fib←{1≥⍵:⍵⋄(∇⍵-1)+∇⍵-2}`
codesections查看英文原文
As cool as this is, APL has improved a lot in the 34 years since that video was made. Most notably, these days, APL has `direct functions`, which enable a degree of concision and tacit-programming support unmatched in any other programming language (yes, including Haskell). As a minor taste of the power of direct fns, here's a naive implementation of the Fibonacci sequence with one: `fib←{1≥⍵:⍵⋄(∇⍵-1)+∇⍵-2}`
设想把 APL/J 做成带符号按钮的计算器应用,适合展示单行代码。
我感觉做一个基于 APL(或 J)的计算器应用——给那些花哨符号都配上按钮——可能会很有意思。那些强大的单行代码似乎很适合这种应用。不知道有没有现成的;我知道 Android 上有 J,但一个专注于短小巧妙代码、界面精致的封闭应用会很好玩。
yeellow查看英文原文
I have a feeling that apl (or j) based calculator app (with buttons for all fancy symbols) could be something. All those nice powerful one liners seem to be suited for such app. I wonder if something like that is available. I know there is j for Android, but having a nice closed interface focused on short clever code would be fun.
历次讨论
同类还值得读
开源应用架构
The Architecture of Open Source Applications
《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。
编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选编程语言简史:简短、不完整且多半错误
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。
编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.comSQLite 是如何测试的
How SQLite is tested
SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…
编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选高级编程语言(2009)
Advanced programming languages (2009)
Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…
编程与软件工程上首页 8 次 · 2009–2022matt.might.net我的 Forth 与栈机器经历
Yosefk - My history with Forth & stack machines
作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。
编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选