看高手談?wù)剬纹瑱C編程的理解
不知道您有沒(méi)有誤解,反正我想讓你們把上面二十這個(gè)數字的單位理解成年。如果您沒(méi)有誤解,那么我聽(tīng)到會(huì )有一點(diǎn)點(diǎn)失望,如果您誤解了,我覺(jué)得很抱歉,真的。好像有個(gè)人說(shuō)過(guò)大概這樣一句話(huà),人生有兩件痛苦的事情,一是他的欲望沒(méi)被滿(mǎn)足,另一件是他的欲望被滿(mǎn)足了。嘿嘿,您爭使我陷入這兩個(gè)痛苦之一。其實(shí),我參加工作才一年半,也就是二十個(gè)月左右,離開(kāi)學(xué)校之前我基本沒(méi)編寫(xiě)過(guò)程序,c語(yǔ)言,僅知道有這么一個(gè)名詞。所以我還不具備能力對我下面所說(shuō)的話(huà)負責——在編程上我未成年——那我為什么要撒謊呢?因為我想吸引你們過(guò)來(lái),我想從你們那里得到下面這份資料:
實(shí)用單片機系統(McuSystem)的最新版,MS3,(如果您有,EMAIL給我,謝謝您!我的郵箱fuchilin@163.com)。我在論壇里找到了,可是沒(méi)有積分,有沒(méi)有熱心的朋友幫我下載個(gè)?
哦,還有個(gè)問(wèn)題,農民講習所當年就留下一個(gè)pdf文件(建立通用處理程序)嗎?有誰(shuí)知道的,能否解答下我的疑問(wèn)。謝謝
我先把正事擺在前面,不過(guò)水灌了太多了,我也不能太無(wú)良,人太無(wú)良,必有災殃啊。下面且聽(tīng)我撒幾句?!吧賰骸碑斝?,甄吾言,再顯式強調前面那句話(huà),“在編程上我未成年”。
既然是說(shuō)對編程的理解,那么,先胡亂下個(gè)定義。編程,我認為,是一個(gè)解決某個(gè)具體問(wèn)題的思維過(guò)程,只不過(guò)解決這個(gè)問(wèn)題的工具跟生活中普遍所提到的工具稍有不同,它是某種編程語(yǔ)言(嘿嘿。這句話(huà)貌似有個(gè)嵌套,倘若你認同這個(gè)觀(guān)點(diǎn),或者不是很反感,接著(zhù)往下看) 。好,既然它是一個(gè)思維過(guò)程,那么重要的是什么——思維方法,所以你在解決問(wèn)題的時(shí)候,對你來(lái)說(shuō)重要的不應該是什么工具。思維方法有那些,我覺(jué)得您應該抽空了解一下。有些東西沒(méi)有土生土長(cháng)的,舶來(lái)也不錯。哈哈。說(shuō)到這邊我決定快點(diǎn)打住,原因有二:中午沒(méi)休息(我平時(shí)有午休的習慣),天冷,加班,人少,更冷,結果頭很暈,怕說(shuō)錯太多話(huà)。二我想很多人都不喜歡“灌水”的。我如果在繼續這段的說(shuō)話(huà)方式,而且不加解釋的話(huà),我想我玩玩了。這邊我再解釋下,這段我絕無(wú)繼續灌水之意,您回憶一下,你在看編程書(shū)籍的時(shí)候,有沒(méi)有這種經(jīng)歷:您第一次看的時(shí)候,覺(jué)得某些地方作者泛泛而談,您心里在想,奶奶的盡講些大道理,這不灌水嗎,實(shí)在的(代碼)不來(lái)點(diǎn)。過(guò)了段時(shí)間,也許你會(huì )在編程遇到困難的時(shí)候,突然想起了跟當前問(wèn)題有關(guān)聯(lián)的大道理,你豁然開(kāi)朗了。其實(shí),人家在講空話(huà)的時(shí)候,殊不知腦海里閃過(guò)多少“烏云”,說(shuō)不定就有正蓋在你頭上的那朵。想想,有些東西確實(shí)不是很好表達,要是拿個(gè)例子來(lái)講,萬(wàn)一水平不好,或者哪里疏忽了,豈不統統暴露。面子就像女人的貼身衣物,能不丟就別丟,嘿嘿。另外,倘若我灌水了,我不是有意的,那是我的水平問(wèn)題了,而不是態(tài)度問(wèn)題,我也用心去寫(xiě)了,請理解我一下,拍磚的時(shí)候輕一點(diǎn),下手別太狠。
來(lái)點(diǎn)稍微具體的,然后結束。
一 抽象
我對抽象的理解是這樣的。第一種意思,按照人腦的思維,抽出問(wèn)題的幾個(gè)大方面,或者步驟。然后123。。。我強調人腦,方面,步驟。為何強調人腦。首先,解決問(wèn)題的是人,當然應該是人腦,我暫時(shí)認為當最初解決問(wèn)題的時(shí)候,不應該被工具束縛,不應該讓它的任何肢體進(jìn)入您的腦海。其次,程序員都是人,便于溝通,也就是可讀性的問(wèn)題。第二種意思:把現實(shí)世界中的事物,用數據結構把它描述出來(lái)。建議您可以去看看unix,linux操作系統里的東東。
二 分層
分層就是把一個(gè)大的問(wèn)題分解成有層次的小的問(wèn)題。這個(gè)方法符合大腦的“國情”,你首先要承認,人腦是有局限的,當問(wèn)題復雜到一定的程度的時(shí)候,你的大腦將疲于奔命,在復雜一點(diǎn)就“死機”了。分層也服務(wù)于抽象,你想,高度抽象的層次,不會(huì )處理下層瑣碎的事情。而這些瑣碎的事情就會(huì )被拋到別的層。分層的好處多多。我不想再在這個(gè)方面吐口水。
三 法
法,應該有效仿的意思。如果我沒(méi)用錯,這邊就取這個(gè)意思。這一點(diǎn)很玄乎,是我整個(gè)人生積累下來(lái)的經(jīng)驗,本人認為這個(gè)原則放諸四海皆準。不信你試試!法什么呢?法自然,法硬件,法別人的軟件等等,關(guān)于軟件可以效仿硬件,我是這么想的,微處理器的產(chǎn)生有一個(gè)方面就是為了簡(jiǎn)化電路的設計,而被微處理器代替的電路邏輯都要由微處理器借助軟件來(lái)實(shí)現,從這點(diǎn)出發(fā),它們是相通的,法是很自然的東東了。有時(shí)候,你法下硬件,問(wèn)題就解決了,而且借助硬件的分析方法,可靠性也大大提高了。法自然,嘿嘿,軟件也是生命體,自己想吧,愛(ài)怎么想怎么想,天馬行空的想最?lèi)芤?。我們一起想吧。法別人的軟件,你要提高自己的編程技巧,要經(jīng)常讀高手的好代碼,端杯茶,像讀小說(shuō)一樣去讀它。最好還能自己去實(shí)現它,只有親自去嘗試之后,你才會(huì )發(fā)現烏云掩面的天空。很多從事自然語(yǔ)言寫(xiě)作的人,在成為高手之前,都是通過(guò)模仿別人的作品來(lái)提高自己的寫(xiě)作水平,這種方法我們也可以法。編程還有編程元素,編程模式,這些概念的提出也是法別的領(lǐng)域提出來(lái)的??梢?jiàn),法的威力無(wú)窮。
在我現在的認識水平,我暫時(shí)認為,大的方面只要抓住前兩點(diǎn)就行了。不過(guò)記得兩手都要抓,兩手都要硬。第三點(diǎn)就要看個(gè)人的造化了。小的方面技巧太多了,不是三言?xún)烧Z(yǔ)就能說(shuō)清楚的。當我到了覺(jué)得不怕揭開(kāi)遮羞布時(shí)候,我會(huì )結合這兩個(gè)原則去實(shí)現系統的東西,然后拿出來(lái)和大家一起分享。不過(guò)這個(gè)時(shí)間估計還要很長(cháng),因為我真的還很菜很菜。。。
末了,前面兩點(diǎn)都是老生常談的東東了。不過(guò),同樣一個(gè)東東,你明白了它,切不一定能用好它。就像武俠小說(shuō)里說(shuō)的那樣,高手即使出的一招普普通通的入門(mén)把式,威力跟剛入門(mén)的弟子比起來(lái)就是不同。我們明白了這些東東,就要身體力行的去實(shí)踐它。我們的技藝才會(huì )有進(jìn)步。還有,上面說(shuō)的話(huà)未參考或者引用任何資料,完全是一家之言,貽笑大方了!不要對一些名詞的定義太較真,不過(guò)歡迎拍磚!
評論