工具与资源github.com
Aho:用 Awk 实现的 Git
Aho – a Git implementation in Awk
2021 — 2024,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是 djanderson 用 Awk 写的 Git 实现 Aho 的源码仓库,能完成 init、add、commit 等基本操作,并支持部分底层命令。它证明了 Awk 不只是文本处理工具,配合 GNU Awk 5.0 起提供的命名空间,也能支撑起有一定规模的程序。
为什么经久不衰:它把"用最轻的工具做最重的事"推到极致,是理解 Git 内部对象模型与 Awk 语言能力的一颗小而完整的教学宝石。
HN 评论精选
命名空间让 Awk 能写大项目,并推荐了一篇讨论 Awk 当代价值的文章。
GNU Awk 5.0+ 的命名空间让 Awk 相当适合较大规模的项目(Aho 就是证明),但它始终没能真正流行起来。GoAwk 作者写的这篇文章很好地讨论了 Awk 在 2020 年的意义。
bewuethr查看英文原文
Namespaces (GNU Awk 5.0+) make Awk pretty well suited for larger projects (as demonstrated by aho), but it never quite took off; this article (by the author of GoAwk[1]) is a nice look at the relevance of Awk in 2020: https://lwn.net/Articles/820829/ [1]: https://github.com/benhoyt/goawk
Awk 除局部变量语法之外其实很现代,关联数组尤其超前。
Awk 唯一真正让人难受的地方是函数里声明局部变量的方式——只能靠多加几个参数(靠调用时默认初始化)。除此之外,它就是个相当常规的脚本语言,还自带关联数组(超前于时代)。
veltas查看英文原文
The only really horrid thing about awk is the way you declare local variables in a function ... by just adding more parameters (and letting them be default-initialised on calls). Otherwise it can act like a relatively conventional scripting language, aware of associative arrays (ahead of its time).
有人在为 Awk 做 IDE 插件,说明其生态仍有活力。
顺带一提,我正在开发一个 IntelliJ IDEA 的 Awk 插件,已经可以从插件市场安装了。
xonix查看英文原文
Btw, I’m developing an IntelliJ IDEA plugin for Awk: https://github.com/xonixx/intellij-awk You can already install it from marketplace.
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com