日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unix编程艺术之第一部分

發布時間:2024/8/1 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unix编程艺术之第一部分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 第一部分 上下正文
    • 第一章.哲學
      • 文化?什么文化?
      • Unix的持久性
      • 反對學習Unix文化的案例
      • Unix出了什么問題

第一部分 上下正文

第一章.哲學

文化?什么文化?

這一本有關于Unix編程的書籍,但是我們反復提到’文化’,'藝術’和’哲學‘。如果你不是一個程序員,或你是一位很少接觸過Unix的程序員,對這些詞語可能奇怪。然而Unix有一種文化,它具有一種獨特的編程藝術;文化承載著一種強有力的設計哲學。理解這些傳統文化會幫助你構建出更好的軟件,即使你不在Unix平臺上開發。

每種工程設計分支都有技術文化。在大多數工程領域中,這個領域不成文文化與(隨著經驗增長,甚至更重要)官方手冊和教科書一樣重要,這種文化成為從業人教育的一部分。高級工程師發展出大量的隱性知識,這些知識通過(正如佛教禪宗所說的)“經文之外的一種特殊傳播”傳遞給下級。

軟件工程通常對這種規則是一種例外,技術改變的非常快,軟件環境來的快,消失的也快。技術文化是很脆弱的和短暫的。然而對于這個例外是有例外的。很少的軟件技術能夠持久地發展強有力的技術文化,獨特的藝術和代代工程師傳承的相關設計理念。

Unix文化就是其中之一。互聯網文化是另一種文化,或者在21世紀,可以說是同一種文化。從1980初以來,這兩種文化越來越難分離,在這本書中我們不會特別努力去分開的。

Unix的持久性

Unix誕生于1969年,從那時開始連續的生產使用。以行業標準來看,這是幾個地質時代,比PC、工作站、微型處理器、甚至視頻顯示終端還要老,和第一個半導體存儲器同時出現。在如今所有生產分時系統中,僅有IBM的VM/CMS可以聲稱存活的時間更長,Unix機器可以提供成百上千倍服務時間,實際上,Unix可能支持比所有其他分時系統加起來還要多的計算。

相比其他操作系統,Unix在更廣泛的機器上得到應用。從超計算機到手持設備和嵌入式網絡硬件,通過工作站、服務器、PC和小型計算機,Unix可能比其他三種操作系統加起來都還要多體系結構和更多的古怪的硬件。

Unix支持令人難以置信的廣泛使用。沒有任何其他操作系統能同時作為研究工具、技術定制應用程序的友好主機、商用現成商業軟件的平臺和互聯網的重要組成部分技術而閃耀。

自從Unix誕生以來,每年有人滿懷信心的預測,Unix會枯萎,或者被其他操作系統排擠出去。然而,Unix,在它今天的化身中,如Linux、BSD、Solaris和MacOS X以及其他六個變種,似乎比今天更強。

至少Unix的核心技術之一—C語言–已經在其他地方廣泛的使用。實際上很難想象沒有C作為普遍存在的系統編程語言來進行軟件工程。Unix也引入了無處不在的樹形文件名稱空間和目錄節點、已經連接程序的管道。

Unix的耐久性和適應性令人震驚。其他技術像蜉蝣樣來來去去。機器的能力已經提高了千倍,語言在改變,行業實踐已經經歷多次變革–并且Unix仍然存在,依然在生產,支付訂單,仍然贏得了地球上許多最好、最聰明軟件技術專家的忠誠。

計算能力與時間的指數曲線以及軟件開發的相應的速度所帶來的后果之一是,人們所知道的東西50%會在每18個月就會過時。Unix并沒有消除這個現象,但是在包含這種現象方面做的很好。

唯有不變的基礎–語言、系統調用、工具調用–可以使用多年,甚至幾十年。在其他地方,不可能預測什么是穩定的,甚至整個操作系統停止使用。在Unix下,瞬時知識和長久知識之間有相當明顯的不同,人們可以提前知道(大約90%都是確定的),當他們學習時,什么東西可能會落到哪個類別。因此就是Unix 命令。

Unix的穩定性和成功在很大程度上歸功于其固有的優勢,這要歸功于Ken Thompson、Dennis Ritchie、Brian Kernighan、Doug McIlroy、Rob Pike以及早期Unix開發人員在一開始所做的設計決策;一遍又一遍被證明是正確的決定。但這也要歸功于早期圍繞Unix發展起來的設計理念、編程藝術和技術文化。從那以后,這個傳統就一直在與Unix的共生關系中成功地傳播著。

反對學習Unix文化的案例

Unix耐久性和技術文化當然是那些已經喜歡Unix感興趣的,同時也是技術歷史學家感興趣的。但是Unix最初作為中型和大型計算機的分時操作系統的應用程序正在迅速退出歷史迷霧,被個人工作站所消滅。對被微軟主導的主流商業桌面市場上,微軟能取得成功還是有懷疑的空間。

局外人常常把Unix當作學術玩具或黑客的沙箱而不屑一顧。一個著名的論戰,Unix Hater者的手冊》(加芬克爾),遵循一個敵對的Unix本身一樣古老,在寫它的信徒崇拜的宗教狂和輸家。當然,AT&T、Sun、Novell以及其他商業供應商和標準協會在錯誤定位和錯誤營銷Unix方面一再犯的巨大錯誤已經成為傳奇。

甚至從Unix世界內部來看,Unix似乎在普遍性的邊緣徘徊了很長一段時間,以至于人們懷疑它永遠不會真正實現它。一個持懷疑態度的外部觀察者的結論可能是,Unix太有用而不能消亡,但太笨拙而不能從后面的房間里跳出來;一個永久的操作系統。

最讓懷疑論者困惑的是Linux和其他開源的unix(如現代的BSD變種)的興起。事實證明,Unix的文化非常重要,即使十年來供應商管理不善也無法遏制它。今天,Unix社區本身已經控制了技術和營銷,并且正在迅速而明顯地解決Unix的問題(我們將在第20章更詳細地研究這種方法)。

Unix出了什么問題

對于可以追溯到1969的一個設計來說,在Unix中識別明顯錯誤的設計選擇是非常困難的。有個幾個很受歡迎的候選方案,但是每個都仍然是激烈辯論的主題,不僅僅在Unix愛好者之間,而且在思考設計操作系統的更廣泛群體中也是如此。

Unix文件沒有超過字節級的結構。文件刪除是不可撤銷的。Unix的安全模型可以說太原始。工作控制太拙劣。事物有太多種類的名稱。擁有一個文件系統是一個錯誤的選擇。我將在20章討論這些技術問題。

但是,這個對Unix最持久反對可能是它的一個理念的特性的結果,這個特性最初由X窗口系統設計者明確提出。X努力提供機制,不是策略,支持一組非常通用的圖像操作,并將有關工具包和界面外觀(策略)的決策推遲到應用級別。Unix的其他系統級別服務也顯示出類似的趨勢,最終行為的選擇被盡可能推向用戶。Unix用戶可以在多個shell中進行選擇。Unix程序通常提供許多行為選項和精心設計的首選工具。

這中趨勢反映了Unix作為主要為技術用戶設計的操作系統的傳統,并且用戶比操作系統設計人員更了解他們自己的需求。

但是機制-非策略方法的代價是,當用戶可以設置策略時,用戶必須設置策略。非技術用戶經常發現Unix豐富的選項和接口風格勢不可擋,并退回到至少假裝提供簡單性系統中。

在短期內,Unix的自由放任方法可能會失去很多非技術用戶。然而,從長期來看,這種“錯誤”可能會帶來一個關鍵的優勢——因為政策的壽命往往很短,而機制往往很長。今天界面外觀的時尚常常成為未來進化的死胡同(使用過時的X工具包的人會告訴你一些感覺!)因此,另一方面,“機制,而不是策略”哲學可能使Unix能夠在競爭者更多地將其聯系在一套策略上或已經從人們視野退化的界面選擇之后很久,Unix才更新了它的相關性。

總結

以上是生活随笔為你收集整理的Unix编程艺术之第一部分的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。