编程与软件工程ferd.ca
小小的 printf
The Little Printf
2015 — 2018,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
《小 printf》是一篇致敬《小王子》的软件工程寓言:叙述者遇到小 printf,并借不同开发者角色的故事,谈论造工具和框架的执念、反复救火、维护开源项目却只处理 issue,以及把系统本身当成目的所带来的倦怠。它最终追问的是:你做的东西是否解决了值得解决的问题,是否还记得其中的人。
为什么经久不衰:它用轻巧的寓言把开发者共有的倦怠、工具崇拜和意义感问题讲透,多年后读仍像在照镜子。
HN 评论精选
肯定角色刻画,但批评结论空泛;强调关注最终成果而非工具本身。
人物刻画很好,但结论对我来说只是一些空泛的“人性面孔”套话。我会接受这个提醒:应该相信自己最终要完成的结果,而不是只痴迷于把手中的工具或正在做的系统本身变得更好。
jongraehl查看英文原文
Nice characterizations but the conclusion was only empty "human face" platitudes for me. I'll take the reminder that we should believe in the end result we're accomplishing and not only obsess about making the tools we're working with or system we're working on better as an end in itself.
补充开源维护者只分诊 issue、不修复的困境。
一篇极好的小寓言,我在好几个人物身上看到了自己。我想补充一种开发者:深陷于维护 FOSS 软件,只能给工单打标签和分诊,却总找不到时间真正动手修复。我最近就困在这种状态里,正想办法一点点啃掉自己放任长成的“Issue 怪物”。
RKoutnik查看英文原文
Fantastic little parable. Saw a part of myself in quite a few of those. One I'd like to add is the developer who's so enmeshed in maintaining FOSS software that all they can do is label & triage tickets but never quite find time to start fixing them. I've found myself caught in that lately and am trying to figure out how to chip away at the ever-growing Issue Monster I've let form.
指出擅长救火的人反而被永久困在救火里,失去原本热爱的工作。
“确实如此;而且因为你是最熟悉这些火情的人,你只会越来越多地去救火,直到雇主另找人来接替你原来喜欢的那份工作。如果你足够在乎自己的工作,愿意去做所有人都不愿做的事,那么得到的回报就是做越来越多你不喜欢的事,直到你只会做这些。然后,再也没什么能让你享受了。”唉。
mcguire查看英文原文
"It is; and because you're the most familiar person with these fires, you get to only work on them more and more, until your employer hires someone else to cover your old job, the one you loved. If you care hard enough about your work to be the one doing the stuff everyone else hates, you're thanked by doing more and more of that work you don't like, until that's all you do. And then there's nothing left for you to enjoy." Sigh.
摘录故事核心段落,认为它精准刻画职业,并强调需要比“解谜快感”更深的动机。
“人们玩的游戏、追逐的角色与名声、解决复杂问题带来的短暂快感,都只能好玩一阵。最终,如果你没解决任何值得做的事,忘了其中的人,它永远不会真正让人满足。”……“正是你花在系统上的时间让它如此重要;当你忘了为什么值得花时间,当它变成自尊的游戏,它带来的痛苦就会多于解脱。”这个故事是我读过对软件工程职业最好的刻画之一:最初着迷于解决复杂问题的快感会逐渐变淡,人需要更大的“为什么”来维持日常满足感。
bootsz查看英文原文
"The games people play, the roles and reputations they chase and entertain, the fleeting pleasure they derive from solving intricate problems, is all fun for a while. Ultimately though, if you do not solve anything worthwhile, if you forget about the people involved, it's never gonna be truly fulfilling." "It is the time you have spent on your system that makes it so important", the man added, "and when you lost sight of why it made sense to spend time on it, when it became a game of pride, it caused more grief than relief. "Developers have often forgotten this truth; If you lose sight of things, working on your system becomes its own problem, and the most effective solution is to get rid of the system, given it's the problem." This story is easily one of the best depictions of the software engineering profession I've ever come across. I originally got hooked on programming because of the thrill of solving "intricate problems"... but the fleeting nature of that thrill only becomes more and more apparent as time goes on. Fundamentally I think it's necessary to have a deeper motivation, a bigger "why" behind what you do, in order to sustain your satisfaction from day to day.
历次讨论
同类还值得读
开源应用架构
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编辑精选