當項目中需要 xml 解析器、文本索引程序和搜索引擎、正則表達式編譯器、XSL 處理器或 PDF 生成器時,我們中大多數人從不會考慮自己去編寫這些實用程序。每當需要這些設施時,我們會使用商業實現或開放源碼實現來執行這些任務原因很簡單 — 現有實現工作得很好,而且易于使用,自己編寫這些實用程序會事倍功半,或者甚至得不到結果。作為軟件工程師,我們更愿意遵循艾薩克·牛頓的信念 — 站在巨人的肩膀之上,有時這是可取的,但并不總是這樣。(在 Richard Hamming 的 Turing Award 講座中,他認為計算機科學家的“自立”要更可取。)