来自Alan J. Perlis的编程警句:
22. 好的系统不能有弱的命令语言。
这是什么意思?什么是这个原则的好例子?
我在哪里可以了解有关如何实现符合此标准的命令语言的更多信息?
你必须知道制定它的一些背景。链接的文章仅在 1982 年发表,其中任何一个警句都可能比它早几十年。然而,即使是 1982 年,也比我的时代还早,我当时的相关印象是:
“命令语言”仅仅意味着今天的 shell 脚本。请记住,在 shell 提示符下输入“命令”。
抛开这些基础知识,这是对我说的关于 The Unix Way™ 的话题。
与 Windows 程序在自动化方面的困难相比,许多程序(甚至操作系统)需要 GUI 来更改某些设置。(Microsoft PowerShell 对此的态度有所改变,但它仍然缺少遵循其他操作系统具有的这一原则的数十年经验。)
此外,当任何用户的基本操作模式是您系统的命令语言时(就像 1982 年的 Unix 一样),那么您的命令语言在另一种方面很强大:所有用户都知道如何使用它,而不必学习单独的工具。在那种情况下,系统可以做任何命令语言无法完成的事情,因为命令语言实际上就是系统。
我知道没有任何一种资源可以阐明所有这些想法,并且您可以将其用作实现自己的命令语言的路线图。这个概念比写在石头上的更空灵,因为其他警句一般也是如此。我鼓励您阅读一般的 Unix、shell(例如 POSIX 的 sh 标准和其他诸如 bash)、其他 shell 脚本语言(任何带有 shebang 行的语言,例如 Perl 和 Python)等等。