“所有 UNIX 應用程序”是 Kernighan/Ritchie 的錯字嗎?
我正在閱讀Brian Kernighan 和 Dennis Ritchie的 The C Programming Language (2nd edition)。我在第一版的前言中,有一行寫著:
作業系統、C 編譯器和基本上所有的 UNIX 應用程序(包括用於編寫本書的所有軟體)都是用 C 編寫的。
我很難解析這個片段“UNIX 應用程序”。據我了解,應用程序和程序是同義詞。如果中間有一個and,那將是有道理的。如果應用程序是單數的,那麼它又是有意義的。
我錯過了什麼嗎?程序和應用程序之間有區別嗎?
“應用程序”和一般的應用軟體是旨在供最終使用者使用的軟體。引文中提到的排版系統
troff
就是一個典型的例子,因為它的開發有助於證明貝爾實驗室在 1971 年左右開發 Unix 作業系統的成本是合理的(僅在用 C 重寫 Unix 的幾年前)。troff
後來在 1975 年為 Unix 第六版用 C 重寫(連同 Thompson shell、全新awk
語言和許多其他工具的 C 實現),C 書於 1978 年出版(1988 年的第二版還包含相同的報價)。維基百科對應用軟體這樣說:
在資訊技術中,應用程序(app)、應用程序或應用軟體是旨在幫助人們執行某項活動的電腦程序。根據為其設計的活動,應用程序可以操作文本、數字、音頻、圖形以及這些元素的組合。一些應用程序包專注於單個任務,例如文字處理;其他稱為集成軟體的軟體包括幾個應用程序。
至於“應用程序”中“應用程序”末尾的“s”,它只是表示一個程序或一組程序可能有多個應用程序。您有時會在“應用程序技術”、“應用程序開發人員”等術語中看到相同的“s”(實際上,我自己的職位正式名稱為“系統開發人員”,末尾有相同的複數“s” “系統”)。在本書的後面部分,您還將找到關於 Unix 系統提供的工具的“應用軟體”。
“應用程序”一詞在今天比“應用程序”更常見,“應用程序”和“程序”在當今很大程度上是同義詞,這並不意味著如果您想強調最終使用者作為“應用程序”是多餘的該計劃的目標受眾。
另請注意,“程序”本身並不一定意味著其目標受眾是最終使用者(與支持或維護產品的使用者相反)。“程序”本身與“原始碼”的含義聯繫更緊密,韋氏詞典將“程序”定義為
可以插入到機制中的編碼指令序列。
…劍橋詞典將其定義為
可以放入電腦中以使其執行操作的一系列指令