沒事?lián)鞊煨∈瘔K - 析構(gòu)、icicle和flinger
剛剛在讀書的時(shí)候讀到一塊講現(xiàn)在的語(yǔ)言是如何從最原始的繁文縟節(jié)演變到現(xiàn)在的樣子,提到了一個(gè)分析的'析'字,本指把木頭劈開,現(xiàn)在指掰開揉碎研究一種現(xiàn)象,我就想起來(lái)不久前和朋友討論問題時(shí)提到C++的析構(gòu)函數(shù),我吐槽到每次看到這個(gè)詞我都要查是啥意思,一看英文原文是destructor,就想吐槽這是怎么翻譯成析構(gòu)這個(gè)生僻的詞的。因?yàn)槲宜驯榫W(wǎng)上,看到和析構(gòu)這個(gè)詞有關(guān)的用法基本都是析構(gòu)函數(shù)。就覺得怎么也聯(lián)想不到'分析'和destruct這兩個(gè)詞的聯(lián)系。
雖然后來(lái)也很快研究出來(lái)析構(gòu)函數(shù)的析也是分崩離析的析,即析本身確實(shí)是有分散、剝離等意思,而析構(gòu)這個(gè)詞中不要把'構(gòu)'當(dāng)成構(gòu)造(v.),而是結(jié)構(gòu)(n.),這樣這個(gè)詞就合理多了。不過(guò)對(duì)這個(gè)詞產(chǎn)生最初的質(zhì)疑,也是想當(dāng)然的認(rèn)為析只是'分析',完全不知道分析的析本身也是有剝離之含義的。讀到書里這一段的時(shí)候,恍然大悟的同時(shí)也感嘆了一下自己的無(wú)知。
相似的鉆名詞牛角尖的經(jīng)歷還有兩次,一次是做檢視代碼的時(shí)候看到有人入?yún)⒚衖cicle,因?yàn)橐谎圻€不認(rèn)識(shí)這個(gè)詞,第一反應(yīng)是認(rèn)為這人拼錯(cuò)了。后來(lái)才發(fā)現(xiàn)確實(shí)有icicle這個(gè)詞(冰錐),詞根應(yīng)該是ice,但是冰錐怎么也和那個(gè)人的代碼內(nèi)容聯(lián)系到一塊。于是又查了會(huì)資料,發(fā)現(xiàn)是某個(gè)叫onFreeze函數(shù)里Google的一個(gè)玩梗寫法(freeze,凍住了),這樣便把icicle和代碼聯(lián)系到了一起。當(dāng)然,就我檢視的那個(gè)代碼也和freeze沒啥關(guān)系,我還是更加確定那個(gè)人只是看到了這個(gè)寫法,想當(dāng)然就拿過(guò)來(lái)用了。
還有一次是對(duì)AOSP的SurfaceFlinger組件名稱的疑惑,不明白為什么要這么叫,是要把Surface給用投石器投出去?(有這樣的想法其實(shí)是我把fling和sling搞混了,不過(guò)fling也有類似的意思)。后來(lái)也只是知道Flinger可能是個(gè)機(jī)械裝置,而且不是簡(jiǎn)單的fling+er,有種類似導(dǎo)流器的裝置叫water flinger。不過(guò)奈何自己不是很懂機(jī)械和水利,到現(xiàn)在也沒把flinger和SurfaceFlinger所做的事情聯(lián)系起來(lái)。
這些事情看似無(wú)聊,畢竟只是了解某個(gè)詞源又不能加深我對(duì)業(yè)務(wù)的理解啥的,反而花了大量的時(shí)間研究這些無(wú)用的東西,確實(shí)有點(diǎn)不務(wù)正業(yè)的味道在里面。不過(guò)之所以寫這個(gè),是因?yàn)楦杏X自己讀書或者工作期間,被灌輸了很多類似的'抬頭看路,仰望星空'的思想,即不局限于手頭的工作,增加自己知識(shí)面的廣度。這個(gè)初衷本身是沒啥問題的,我個(gè)人也很不認(rèn)同整天埋頭自己的小知識(shí)圈里,而不看看外面的世界;但是有時(shí)候又覺得,只顧抬頭往前趕路,說(shuō)不定最后收獲的也只是走到了某個(gè)地方而已。腳底下的灰塵、土壤,固然無(wú)價(jià)值沒營(yíng)養(yǎng),但也許沒我們想象的那么無(wú)聊?
偶爾停下來(lái)?yè)鞊炻愤叺男∈瘔K把玩把玩,也挺不錯(cuò)。