我眼中的《APUE》

2021-08-28 19:00:35 字數 1550 閱讀 8166

stevens的書單可以在很多人的推薦學習書籍中發現,這似乎變成了一件十分正常的事。當我自己買到這些書的英文版時,我才發現那麼多人推薦的這些書在內容上便極其龐大,這就是最初的印象。

我仍舊在學習這些書,從大學開始閱讀這些書。時有終止,卻總能再次拿起。垂頭大嚼,其中的喜悅與難受可見一斑。以我的經歷來談,閱讀這些書完全不像推薦給別人那樣輕鬆,讀不下去也時常發生,即便看看書的厚度也可能讓人心有餘悸!

《apue》我讀完了80%,即便如此每次重讀仍舊能夠找到新的知識點,這一度讓我懷疑自己的理解。有人說,這本書適合在用到某個api時再去翻閱,這一觀點我並不完全贊成,但是我自己有時也在這樣做著。

如果以這種觀點去看待《apue》這本書,那麼其實完全不需要花費太多的時間。更進一步講其實完全不需要這樣的一本書,unix-like系統中自帶的幫助文件就能輕鬆解決你的問題,當然,如果你在開發跨平台程式時,這本書可能是最好的參考書了。

如果單單以該書龐大的內容量來考慮,那麼對於大部分人來說完全可以使用上述方式來進行學習。簡單講就是用到什麼再去學相關的知識。這樣的方式可以將你從大量的閱讀與練習中解放出來,但長遠來看,這也讓你難以窺其全貌,難以從系統角度去思考你遇到的問題。

誠如其名,《apue》不只講解unix-like系統中的系統呼叫api,它也花了大量的筆墨來講解系統呼叫背後的環境。這個環境既包含每種系統呼叫的使用環境,也包含了其背後隱藏的unix-like系統的執行環境。

《apue》的全稱為advanced programming in the unix environment,這裡有兩點需要注意。第一在於對advanced的理解,第二在於對unix environment的理解,這是我們能從這本書中學習到的兩方面的知識,也是非常值得思考的問題。

ap 指的是高階程式設計,ue 指的是 unix 環境,這兩個名詞看似簡單,其背後卻蘊含了太多的東西。

我在如下兩篇博文中分別描述了我對這兩個概念的理解:

用兩個例子詮釋《apue》中高階程式設計含義

什麼是 unix environment?

我想《apue》是旨在讓讀者了解unix-like 系統為程式執行提供的環境。這一環境包換程序與執行緒的執行在內,也包括了程序間通訊的方式及操作 io 的方法等等。它能夠讓讀者建立起 unix-like 系統提供的整套程式執行環境的知識體系,極大的加深讀者對 unix-like 系統的了解。

我的建議最好還是將該書的大部分內容都閱讀下,將那些 demo 都在自己的環境上執行下,這樣一定會帶來意想不到的收穫!

我,眼中的詩歌

我,眼中的詩歌 給我一杯茶,乙個幽靜的地方,我好看些詩歌。寫前面 詩歌是一種態度。詩歌是燕子低低地飛過屋簷。詩歌是古代西方 盛行的決鬥。詩歌是人類本身一直都存在的 極為樸素的一種本能。詩歌和性別無關 和身材無關,和你曾看過多少書也沒有直接的 聯絡,造物主將嘴巴賦予人類的同時 也賦予了人類詩歌。詩歌是...

我眼中的委託

首先委託是乙個型別,和int string一樣,我們日常說的委託其實是委託型別的變數,委託的作用就是把方法當成引數來傳遞,將方法賦值給委託型別的變數,然後由這個變數去呼叫執行方法。換個方式,委託沒有具體實現體,因為委託就是叫別人去辦事,自己當然不需要實現了,但是委託別人必須要清楚自己想辦什麼事,這個...

我眼中的Spring MVC

spring mvc 是應用於web應用程式 mvc架構的 c 首先說一下spring mvc框架文件中的一句話 對擴充套件開放 對修改閉合 那麼特點就來了 高擴充套件性 這是它最大的特點還有 友好的設計的結構,思想,引數繫結,允許其他mvc的實現等等 總的來就是簡單易用 在這裡只是簡單介紹一下有哪...