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