软件成品之美

本文探讨了为何乔治·R·R·马丁选择过时的WordStar4.0写作,提倡的是成品软件理念,即稳定、不变的软件带来的可靠性和用户满意度。作者指出,在追求不断更新的软件世界中,这样的持久性提供了新鲜视角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Let me introduce you to WordStar 4.0, a popular word processor from the early 80s.

Wordstar 4.0 WordStar 4.0

As old as it seems, George R.R. Martin used it to write “A Song of Ice and Fire”.

Why would someone use such an old piece of software to write over 5,000 pages? I love how he puts it:

It does everything I want a word processing program to do and it doesn't do anything else. I don't want any help. I hate some of these modern systems where you type up a lowercase letter and it becomes a capital. I don't want a capital, if I'd wanted a capital, I would have typed the capital. George R.R. Martin

This program embodies the concept of finished software — a software you can use forever with no unneeded changes.

Finished software is software that’s not expected to change, and that’s a feature! You can rely on it to do some real work.

Once you get used to the software, once the software works for you, you don’t need to learn anything new; the interface will exactly be the same, and all your files will stay relevant. No migrations, no new payments, no new changes.

This kind of software can be created intentionally, with a compromise from the creators that they won’t bother you with things you don’t need, and only the absolutely necessary will change, like minor updates to make it compatible with new operating systems.

Sometimes, finished software happens accidentally; maybe the company behind it has disappeared, or the product has been abandoned.

There are also some great examples in the UNIX world of finished software: commands like cd(to change the current directory) or ls(to list what’s there) won’t ever change in a significant way. You can rely on them until the end of your career.

The seduction of constant updates

Our expectations for software are different from other products we use in our daily lives.

When we buy a physical product, we accept that it won’t change in its lifetime. We’ll use it until it wears off, and we replace it. We can rely on that product not evolving; the gas pedal in my car will always be in the same place.

However, when it comes to software, we usually have the ingrained expectations of perpetual updates. We believe that if software doesn’t evolve it’ll be boring, old and unusable. If we see an app with no updates in the last year, we think the creator might be dead.

We also expect new versions of any software will be better than the previous ones. Once it’s released, most of our problems will be solved! What a deceiving lie.

Sometimes, a software upgrade is a step backward: less usable, less stable, with new bugs. Even if it’s genuinely better, there’s the learning curve. You were efficient with the old version, but now your most used button is on the other side of the screen under a hidden menu.

Finished software is a good reminder

In a world where constant change is the norm, finished software provides a breath of fresh air. It’s a reminder that reliability, consistency, and user satisfaction can coexist in the realm of software development.

So the next time you find yourself yearning for the latest update, remember that sometimes, the best software is the one that doesn’t change at all.


References

[1] George R.R. Martin in Conan show (2014). https://www.youtube.com/watch?v=X5REM-3nWHg.

译文

让我向您介绍WordStar 4.0,这是 80 年代初流行的文字处理器。

字星4.0 词之星4.0

尽管它看起来很古老,乔治·R·R·马丁却用它来写《冰与火之歌》。

为什么有人会用这么老的软件写5000多页呢?我喜欢他的说法:

它可以完成我希望文字处理程序执行的所有操作,并且不会执行其他任何操作。我不需要任何帮助。我讨厌一些现代系统,在这些系统中,你输入一个小写字母,它就会变成大写字母。我不需要大写字母,如果我想要大写字母,我就会输入大写字母。 乔治·R·R·马丁

该程序体现了成品软件的概念——您可以永远使用的软件,无需进行不必要的更改。

成品软件是预计不会更改的软件,这就是一个功能!您可以依靠它来完成一些实际工作。

一旦您习惯了该软件,一旦该软件适合您,您就不需要学习任何新东西;界面将完全相同,并且您的所有文件都将保持相关性。没有迁移,没有新的付款,没有新的变化。

这种软件可以有意地创建,创建者会做出妥协,他们不会用不需要的东西来打扰你,只有绝对必要的东西才会改变,比如小的更新以使其与新操作系统兼容。

有时,完成的软件是偶然发生的;也许其背后的公司已经消失,或者产品已被放弃。

在 UNIX 世界中的成品软件中也有一些很好的例子:诸如cd(更改当前目录)或ls(列出其中的内容)之类的命令永远不会发生重大变化。您可以信赖它们,直到您的职业生涯结束。

不断更新的诱惑

我们对软件的期望与我们日常生活中使用的其他产品不同。

当我们购买实物产品时,我们承认它在其使用寿命内不会发生变化。我们将使用它直到它磨损为止,然后我们更换它。我们可以相信该产品不会进化;我车上的油门踏板始终位于同一个位置。

然而,当谈到软件时,我们通常对永久更新有着根深蒂固的期望。我们相信,如果软件不不断发展,它就会变得乏味、陈旧且无法使用。如果我们看到一个应用程序在去年没有更新,我们认为创建者可能已经死了。

我们还预计任何软件的新版本都会比以前的版本更好。一旦发布,我们的大部分问题都将得到解决!多么具有欺骗性的谎言啊。

有时,软件升级是一种倒退:可用性较差,稳定性较差,并且存在新的错误。即使它确实更好,也存在学习曲线。您使用旧版本的效率很高,但现在您最常用的按钮位于屏幕另一侧的隐藏菜单下。

成品软件是一个很好的提醒

在一个不断变化成为常态的世界里,成品软件提供了一股新鲜空气。这提醒我们,可靠性、一致性和用户满意度可以在软件开发领域共存。

因此,下次当您发现自己渴望最新更新时,请记住,有时,最好的软件就是根本不改变的软件。


参考

[1] 柯南秀 (2014) 中的乔治·R·R·马丁。https://www.youtube.com/watch?v=X5REM-3nWHg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值