程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> APUE《UNIX 環境編程》讀後感,《unix環境編程》

APUE《UNIX 環境編程》讀後感,《unix環境編程》

編輯:關於C語言

APUE《UNIX 環境編程》讀後感,《unix環境編程》


今天終於把APUE前17章全部看完了,基本上主要知識就在這些章節裡。

之前看完《unix/linux編程實踐教程》時,有一種豁然開朗、心曠神怡的感覺,在代碼級別了解了linux很多系統機制,和一直不理解編程細節,而且對UNIX編程的整體知識結構有了很好的把握。

APUE是公認的經典,事無巨細的把每個知識講解很透,還有很多細心的提示。但是看起來的過程並不覺得那麼美好,原因有以下幾點:

  • 1.譯者那糟糕的水平!很多句子根本就不是中國人能說口的。無奈英語爛,頂多能看看man的水平,只能看中文版了。這本書是尤晉元和幾個研究生一起翻譯的,有的地方勉強能通暢的閱讀,但是有的章節,真的要去仔細揣摩原意到底是什麼。如果恰巧遇到一些難以理解的知識點,感覺坑爹到家了,非要百度google一番才能愉快下去。雖然翻譯如此,還是能夠體會到作者嚴謹的編撰水平。
  • 2.很多章節對細節摳得太多了。導致很容易陷入紛繁的細枝末節,而忘了該章節整體的知識脈絡。系統編程很多功能並列的函數,很多位旗標,很多參數設置,讓人叫苦不迭。
  • 3.只限於講解接口,沒有多少擴展的知識,對UNIX系統本身的一些機制和原理涉及得並不多。這個實踐教程做得比較好,目錄結構,重定向,進程,腳本特性,shell原理講得津津有味。
  • 4.圖例很少,內存分析,結構體關系,程序結構,系統內核交互圖,這些都是非常有助於理解知識的圖。
  • 5.實例非常少,很多都是特定為了一個接口做的例子,很少有一些實際意義的將知識點串聯的例子。而且有些難以理解的章節,沒有實例,只是介紹一下接口功能,而至於怎麼去用,在實際編程中起到什麼作用,並不知道。仿佛就在說,現在給你看看,有這個接口,等哪天你用到了,來參考吧。
  • 6.學院派研究精神體現的太多,很多時候都到了一種挑剔的地步。全篇充斥著各個平台的各種對比評判。我相信很多人第一次,都不會樂於糾結這些東西。可能大而全的書,特別是UNIX like這麼多版本,想要一本書涵蓋所有情況,不得已所造成的結果吧,但這也是跨平台所必須考慮的細節。
  • 7.它的確像是一本UNIX重點接口的參考手冊,不要指望能一下子吃透,看完理想情況下應該是這樣的:記得有哪些功能、接口和特性,至於細節和用法,再查一查應該能夠馬上理解。
  • 8.他對新手很不友好,仿佛看書的人就已經在unix上編程領域摸爬滾打過,只是還沒形成經驗、知識體系而已。沒有linux操作經驗,是完全不能直視這本書的,就算有了很多linux運維(常用命令,linux系統機制,文件系統,管道,進程特點,shell腳本)的功底,但沒有完整的c語言、數據結構,和一點操作系統、gcc編譯知識的功底,也會碰到很多大小困難。其實這本書,本質上算參考書,不算入門之作,已經盡力循序漸進了。

 

至於這本書優點,不消說,網上歌頌的太多。對我而言,最主要的是,對一個操作系統能夠為用戶程序層提供的功能,也就是所謂系統接口 ,有了一個全面深刻的了解——讓我知道程序究竟能夠做哪些事,也能大致知道復雜的軟件,底層到底用的是哪些技術。對C語言安全、穩定編程,和跨平台程序開發有了很好的認識。終於理解了 直來直去、直擊要害的C語言 和 簡約至上、只做好一件事的UNIX 之間的血緣關系。

 

最後說一下,看這本書的過程 。當然是對著電腦,而且是對著有UNIX like系統的聯網電腦,這是必須的。

沒有用vi,但我不反對用他,甚至很欣賞用得6的人。我只是不想被那些宗教信仰所束縛,不想為其他細節干擾著我的精力,只想痛痛快快的學編程,做好一件事,這才是主要的,不捨本求末。

虛擬機Ubuntu12.04帶控制台的gedit和gcc是開發環境,不斷手動編譯和調試,才能理解程序的構造運行過程。

有一句話不是說,在信息時代,所有客觀困難幾乎不存在,有一台速度過的去的電腦,加上一條寬帶,和與之獻身的決心,你即可擁有任何你想擁有的編程境界。

網絡資料太有用處了,學習上遇到的困難,前輩幾乎都遇到過,這幾乎是最好的老師了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved