學(xué)freertos還是ucos 譚浩強(qiáng)在程序員圈子里的口碑如何?為什么?
譚浩強(qiáng)在程序員圈子里的口碑如何?為什么?我特別討厭譚浩強(qiáng)。那一年他寫了一篇基礎(chǔ)文章。我們科學(xué)院的人建議大學(xué)應(yīng)該教C語言,而不是基礎(chǔ)語言。因?yàn)樗鼛砹藟牡木幊塘?xí)慣。他還寫文章與我們辯論。后來,他成了C語
譚浩強(qiáng)在程序員圈子里的口碑如何?為什么?
我特別討厭譚浩強(qiáng)。那一年他寫了一篇基礎(chǔ)文章。我們科學(xué)院的人建議大學(xué)應(yīng)該教C語言,而不是基礎(chǔ)語言。因?yàn)樗鼛砹藟牡木幊塘?xí)慣。他還寫文章與我們辯論。后來,他成了C語言的大師。太可笑了。你知道怎么編程嗎?誤導(dǎo)和傷害年輕人。
從事嵌入式底層軟件設(shè)計(jì)工作需要學(xué)習(xí)哪些?如何做好軟件設(shè)計(jì)?
事實(shí)上,嵌入式系統(tǒng)非常廣泛,包括裸機(jī)、RTOS(有幾個(gè)系統(tǒng),但它們是相似的)和Linux。在開發(fā)語言方面,C仍然是主流,C也是。如何做好軟件設(shè)計(jì),關(guān)鍵取決于個(gè)人的邏輯思維能力,以及程序的組織結(jié)構(gòu)??峙履愕倪壿嬎季S能力與你的教育背景有很大關(guān)系。對于相同的功能,不同的人會(huì)有不同的認(rèn)識(shí)。雖然可以工作,但有些人的代碼亂七八糟,沒有規(guī)則來定義,反正很難維護(hù);有些人的代碼干凈整潔,一目了然。
在我看來,功能的實(shí)現(xiàn)只是最基本的要求。如何實(shí)現(xiàn)代碼的簡化、整潔、高效和邏輯清晰是一個(gè)難點(diǎn),需要不斷的個(gè)人總結(jié)和改進(jìn)。
改別人代碼的bug,覺得有些吃力,是我太菜嗎?
調(diào)試程序的能力確實(shí)是評估程序員整體技術(shù)水平的一個(gè)重要方面。然而,由于不同的程序員經(jīng)常面臨不同的開發(fā)場景,因此存在許多不同形式的bug。因此,如果調(diào)試一些復(fù)雜度很高的程序,即使是有經(jīng)驗(yàn)的程序員也不會(huì)感到特別放松。
程序員調(diào)試程序的能力通常由三個(gè)因素決定:一是自己的經(jīng)驗(yàn);二是自己對業(yè)務(wù)的理解;三是算法設(shè)計(jì)的能力。
代碼量對程序員的調(diào)試能力有最直接的影響。一般來說,程序員擁有的代碼越多,調(diào)試能力就越強(qiáng)。這在調(diào)試一些常見的bug時(shí)尤其明顯。很多初級程序員在程序出現(xiàn)bug時(shí)往往需要很長時(shí)間進(jìn)行調(diào)試,而老程序員幾乎一眼就能發(fā)現(xiàn)問題的關(guān)鍵是角色的編程經(jīng)驗(yàn)。
程序員對業(yè)務(wù)流程的理解直接影響到調(diào)試能力,因?yàn)槌绦蛟O(shè)計(jì)往往需要與業(yè)務(wù)流程相適應(yīng),特別是對于管理軟件。許多復(fù)雜的邏輯來自于特定的業(yè)務(wù)規(guī)則,因此不理解業(yè)務(wù)規(guī)則就很難調(diào)試程序。事實(shí)上,許多程序員在中途接管程序代碼時(shí)需要對業(yè)務(wù)有一定的了解,而這個(gè)過程往往很耗時(shí)。
算法設(shè)計(jì)能力也會(huì)在很大程度上影響程序員的調(diào)試能力。雖然目前很多應(yīng)用級開發(fā)任務(wù)中關(guān)于算法的內(nèi)容并不多,但算法設(shè)計(jì)能力對程序員的邏輯思維能力也有很大的影響。因此,具有較強(qiáng)算法設(shè)計(jì)能力的程序員往往能夠更快地理解代碼。