读《UNIX编程艺术》随记
?
?
2012-07-07
《UNIX編程藝術(shù)》這本書(shū)是人介紹的,
一看到這書(shū)的厚度,我有想打退堂鼓的沖動(dòng)。好厚的說(shuō)。
不過(guò),聽(tīng)到可以不用細(xì)也可以,就硬著頭接下這本書(shū)了。
?
先看它的書(shū)皮,一位師傅與一個(gè)徒弟先入眼球,
再看“藝術(shù)”這二字,似乎是一位師傅在傳授而徒弟在聆聽(tīng)。
最后就糾結(jié),我該從哪里看這本書(shū)。
?
出于習(xí)慣的原因,我從書(shū)后面開(kāi)始閱。。。
?
?我先看附錄D上的內(nèi)容。先總結(jié)再細(xì)說(shuō)。
看這附錄上的內(nèi)容,沒(méi)有unix的知識(shí)及歷史做背景真的很難看懂。
而且看了也不知道是不是自己所想的意思。
現(xiàn)在摘一個(gè)自己能看得懂的。
?
無(wú)名師與腳本狂
??? 無(wú)名師和學(xué)生吃早飯時(shí),從黑客大陸來(lái)了人陌生訪客。
??? “I hear y00 are very 133t, ”他說(shuō),“Pl33z teach m3 all y00 know. ”(我聽(tīng)說(shuō)你很牛請(qǐng)把你會(huì)的都教給我。)
??? 無(wú)名師的學(xué)生面面相覷,都沒(méi)聽(tīng)懂這類粗鄙言語(yǔ)。無(wú)名師微笑道:“你想弄懂Unix?”
??? “I want to b3 a wizard hax0r, ”陌生人回答,“and 0wn ever3one's b0xen. ”(我想當(dāng)個(gè)頂尖黑客,能掌握所有人的機(jī)器。)
??? “我不教這個(gè)”,無(wú)名師答道。
??? 陌生人很激動(dòng)?!癉00d, y00r nothing but a p0ser”,他說(shuō),“If y00 n00 anything, y00 wud t33ch m3. ”(哥們們,敢情你沒(méi)真本事啊,你要知道點(diǎn)兒東西就教給我了。)
??? “有條路,”無(wú)名師說(shuō),“可以將你帶入真知?!彼诩埳蠈?xiě)了個(gè)IP地址?!昂诘暨@臺(tái)機(jī)器,這對(duì)你來(lái)說(shuō)應(yīng)該不費(fèi)什么力氣,它的管理員不稱職。回來(lái)后告訴我你發(fā)現(xiàn)了什么?!?/p>
??? 陌生人鞠了一躬就離開(kāi)了。無(wú)名師把他的早飯吃完。
??? 幾天過(guò)去了,幾個(gè)月過(guò)去了。沒(méi)人再想起陌生人。
??? 數(shù)年過(guò)去了,黑客大陸來(lái)的陌生人回來(lái)了。
??? “你混蛋!”他說(shuō),“我黑掉了那臺(tái)機(jī)器,你說(shuō)的沒(méi)錯(cuò),太容易了。但是我被FBI抓起來(lái)扔進(jìn)監(jiān)獄了。”
??? “好”,無(wú)名師說(shuō),“你可以繼續(xù)下一課了?!彼诹硪粡埣埳蠈?xiě)了個(gè)IP地址交給陌生人。
??? “你瘋了?”陌生人喊道?!敖?jīng)過(guò)這事,我再也不黑別人的機(jī)器了?!?/p>
??? 無(wú)名師臉現(xiàn)微笑?!斑@里就是”,他說(shuō),“真知的開(kāi)始?!?/p>
??? 聽(tīng)到此,陌生人眼中一亮。
故事到這里為止了。
?
說(shuō)這故事是講黑客的呢,還是講學(xué)習(xí)的真道呢?
可是這故事的題目是“無(wú)名師與腳本狂”,“腳本狂”這一詞又怎么解釋呢?
看完這個(gè)故事,頭腦想著,它想說(shuō)點(diǎn)什么呢?
?
看了《UNIX編程藝術(shù)》一個(gè)小時(shí)多一點(diǎn)就看不下去,于是找一些其它的內(nèi)容來(lái)豐富一下自己。
上網(wǎng)搜索了一些內(nèi)容,忘了搜索的主題是什么了。。
Hacker 和 Backer
不知道指的是誰(shuí),大概意思說(shuō),
黑客不是“黑”他人的機(jī)器就成功,而在于他能否找出系統(tǒng)漏洞并完善它。(對(duì)開(kāi)源的說(shuō)。)
原文找不到了,以上的說(shuō)法是自己回憶+總結(jié)的,有不對(duì)的,請(qǐng)指出。
未完。
?
?
?
?
2012-07-11
?
讀這本書(shū)第一章,我感興趣的是UNIX的生成原則。
生成原則:避免手工hack,盡量編寫(xiě)程序去生成程序。
以前從來(lái)沒(méi)有想過(guò),代碼也可以自動(dòng)生成。
?一直想著代碼是人寫(xiě)的,而現(xiàn)在有了新的觀點(diǎn),代碼由機(jī)器生成更值得信賴。
?引用書(shū)上的話語(yǔ):
?
“程序中的任何手工hacking老師滋生錯(cuò)誤和延誤的溫床。程序規(guī)格越簡(jiǎn)單越抽象,設(shè)計(jì)者就越容易做對(duì)。由程序生成代碼幾乎(在各個(gè)層次)總是比手寫(xiě)代碼廉價(jià)并且更值得信賴。
?當(dāng)代碼生成器能夠提升抽象度時(shí)——即當(dāng)生成器的說(shuō)明性語(yǔ)句要比生成碼簡(jiǎn)單時(shí),使用代碼生成器會(huì)很合算,而生成代碼后就根本無(wú)需再費(fèi)力地去手工處理了。
?而第一章讓我印象深刻的,則是它的“KISS”原則。
K.I.S.S: Keep It Simple, Stupid!
?呃,這個(gè),有點(diǎn)難以理解。
?只知道,UNIX提供了一個(gè)應(yīng)用KISS原則的良好環(huán)境。
??
第一章只是簡(jiǎn)單的說(shuō)了UNIX的相關(guān)哲學(xué)內(nèi)容,并沒(méi)有深入。
?慢慢來(lái),越看越有感覺(jué)。?
接著,這本書(shū)講UNIX的發(fā)展歷史了。
歷史,說(shuō)真的,不喜歡。?
但是,能從中體會(huì)了當(dāng)時(shí)的元老的思想也是一樣不錯(cuò)的收獲。?
近期才慢慢接觸UNIX領(lǐng)域,不說(shuō)從技術(shù)上跟隨先,?
而我則是從思想上崇拜它而學(xué)習(xí)它。(以下是個(gè)人體會(huì),可能有不對(duì)的請(qǐng)?zhí)岢觥?#xff09;?
浸泡在UNIX的思潮中,有技術(shù)有能力的人站在前方,而這些人卻不會(huì)高高在上。?
他們不斷地吸收各種精華并融入到UNIX系統(tǒng)中。?
當(dāng)然他們也會(huì)毫不猶豫地把降低整體性能的代碼delete了。?
引用Ken Thompson的一句話:?
我最有成效的一天就是扔掉了1000行代碼。
?
呵呵,看到這里就著實(shí)嚇到了,原來(lái)UNIX的優(yōu)化原則還有這一說(shuō)法的。?
說(shuō)到這里,再看第一章,第一章與第二章的思想上是相連的。?
到了第二章的最后,有一小節(jié)引人深思。?
UNIX的歷史教訓(xùn)
?在UNIX歷史中,最大的規(guī)律就是:距開(kāi)源越近就越繁榮。任何將UNIX專有化的企圖,只能陷入停滯和衰敗。
?雖然我們?cè)谲浖O(shè)計(jì)這個(gè)重要但狹窄的領(lǐng)域比其他人聰明,但這不能使我們擺脫對(duì)技術(shù)與經(jīng)濟(jì)相互作用影響的茫然,而這些就發(fā)生在我們的眼皮底下。即使UNIX社區(qū)中最具洞察力、最具遠(yuǎn)見(jiàn)卓識(shí)的思想家,他們的眼光終究有限。對(duì)今后的教訓(xùn)就是:過(guò)度依賴任何一種技術(shù)或者商業(yè)模式都是錯(cuò)誤的——相反,保持軟件及其設(shè)計(jì)傳統(tǒng)的靈活性才是長(zhǎng)存之道。
?另一個(gè)教訓(xùn)是:別和低價(jià)而靈活的方案較勁?;蛘?#xff0c;換句話說(shuō),低檔的硬件中要數(shù)量足夠,就能爬上性能曲線而最終獲勝。
?真正的專業(yè)和奉獻(xiàn)精神,正是我們?cè)谇谑浪子^念的“合理商業(yè)做法”之前的所作所為。
?這里的教訓(xùn)二,看不明白。
?
?
?
?
2012-07-21
前一段時(shí)間,想在這本書(shū)找一找makefile的一些小鏈接,看能不能從中找到信息讓自己更能體會(huì)MAKEFILE。。。
沒(méi)有發(fā)現(xiàn)MAKEFILE的一些信息,只有MAKE的一些操作介紹。
這本書(shū)介紹MAKE時(shí)也插入一些MAKEFILE的信息,這讓我頭暈了。
通用生成目標(biāo)很多常用的典型makefile中根本沒(méi)有文件依賴關(guān)系。它們是將某些開(kāi)發(fā)者想要自動(dòng)化的小過(guò)程捆綁在一起的方法。
接下來(lái),書(shū)上引用了Stuatr?Feldman的話:
生成目標(biāo)非文件,這早已有之?!癿ake all” 和“clean”是早些日子我自己的習(xí)慣。有一個(gè)老Unix笑話,輸入“make love”,輸出是“Don't know how to make love”。?
?其實(shí)make與makefile有什么區(qū)別呢。??
求解。。。
~!~!~!~!
?
待完。
轉(zhuǎn)載于:https://www.cnblogs.com/feminping/archive/2012/07/07/3feelingTheAatOfUnixProgramming.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的读《UNIX编程艺术》随记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C# Dev控件中的 GridContr
- 下一篇: 华为路由器的NAT配置