???? “你這算法效率太低了,怎么能直接用除法呢?你要用查表的方式!”段伏櫪寫完計算器沒多久,同事老柳突然跑過來說要幫忙看看代碼。
???
??? “查表?”段伏櫪隱約記得,用查表的方式來計算除法,在沒有除法器的單片機上為了加快運算速度是常用的方式。只不過在現在公司所用的夏普LH7A404這款ARM9核心的CPU,也需要用到查表的方式嗎?段伏櫪作為初學者,隱約覺得使用查表的方式似乎不妥,可又說不上為什么,但既然老鳥都發話了,那么肯定是必然有其道理。只不過段伏櫪現在發愁的是,這查表程序應該要怎么弄呢?那時候的段伏櫪還不善于使用baidu或google之類的搜索引擎,多次問題也是摸不著頭腦,而老柳也只是丟下這話之后拍拍屁股就走了。
???
??? 到中午和研發部幾個同事一起吃飯的時候,老章看出段伏櫪魂不守舍的樣子,問到:“咋了,遇到什么事情了,讓你如此大皺眉頭?”
???
??? “哎,老柳讓我將計算器的除法改成查表的形式,但我實在記不起來查表應該怎么做了。”
???
??? “為什么要改為查表的形式?”
???
??? “因為他說效率不高啊!”
???
??? “哈哈!那我問你,即使效率不高,那么對于用戶影響在哪里?”
???
??? “啊,這個……”段伏櫪一下子也懵了,是啊,影響在哪里?
???
??? “我問你,你現在做的計算器,什么時候會用上除法運算?”
???
??? “在按下除法運算符,然后再按下等于的時候啊!”
???
??? “那就是咯。假如查表運算真的很快,比如說快個400ms,然后在按下等于到你窗口顯示結果的這一過程中,對于用戶會有什么很大的影響嗎?”
???
??? “也是哦,好像沒有呢。但為什么老柳非要讓我改成查表的方式呢?”
???
??? “因為他是做單片機出身啊!單片機在做除法時為了效率都是這么做的,然后他就想當然現在也要這么做,只不過環境什么都變了,簡單的套用肯定不妥啦!”
???
??? “啊,這樣啊!”
???
??? “哼,他們就是死腦筋,抱著以前的東西不放!可要知道,現在的技術發展已經日新月異了,一個跟不上發展的程序員,是不適合這個時代的!”
???
??? “哦,恩~”段伏櫪也只能這么點頭,因為他自己也知道,其實自己根本沒有資格去評論別人。老柳也許是跟不上時代,但底子什么的都還在,可反觀自己呢,純粹的一個菜鳥,還是一空二白,什么都沒有。不過,在運算符這點上,段伏櫪還是聽了老章的建議,維持不動,還是采用C++的除法運算符,剩下的就交由編譯器處理吧。而老柳呢,也僅僅是這次提了一下而已,后來似乎壓根就忘了這事。
???
??? 只不過對于段伏櫪來說,他記住了老章說的一句話:一個程序員,一定要經常學習,不能落后于時代。作為一個程序員,其實是不幸的,同時也是幸運的:不幸在于,在這個行業中,一定要保持積極不倦的學習態度,不能倦怠,否則就會不適應技術的發展要求;幸運的是,做這行能夠接觸很多新鮮的東西,不會有別的行業一成不變的死氣沉沉。更為有意思的是,經驗在這行業中絕對不能生搬硬套,比如以前寫DOS程序,限于內存的大小,編程的建議是在一個函數中盡可能一個變量復用;而到處理器和內存飛速發展的現在,卻變成哪里用到變量才聲明,并且最好給予不同用途的變量于不同的名稱,這是因為一兩個變量的大小相對于如今的內存容量已經是微乎其微,現代更看重的是代碼的可讀性。但如果以為在現在都應該按照這準則來進行,那卻又是一番錯誤,雖然桌面微機發展得很快,但同時還要看到,如今還有不少單片機存在,并且還在各行各業發揮無可替代的作用,而這些相比于DOS時代的微機,資源其實也多不了哪去,這便需要以前的法則。只不過此時的段伏櫪并不知道這些,他緊緊關注的是,他一定要努力,爭取跟上時代的步伐。
???
??? 段伏櫪的計算器寫了大約有兩個月左右,算是大功告成了。只不過作為小公司,對于軟件的評測其實很可笑,技術總監過來,隨便點擊幾個按鈕,覺得結果是對的,那么這軟件就算合格了。沒有什么測試人員,自然也沒有什么嚴格的測試,只要上頭覺得可以,那就行了。只不過段伏櫪沒有那么樂觀,他只是默默地祈禱:以后千萬不要有人拿這個來計算重要的資金數額啊,如果出問題了,可千萬不要找上我!
???
??? 其實段伏櫪在學校也寫過計算數值的程序。那是物理的試驗報告,段伏櫪覺得自己手動計算這么多帶小數點的數值太麻煩了,所以用C語言寫了一個計算程序,可惜那時候自己不懂得整數和整數相除必然是整數,而只有浮點數才會有小數的道理,以致于最后的結果與正確數值差的天壤之別。只不過學校里面的老師大多是不負責任的,看到本子上有數值就算通過了。也正是因為這樣的老師存在,所以才會發生考試時,只要將題目抄一遍,將試卷填滿就能合格的笑話。沒念大學之前,段伏櫪看過一些報道,說國外不承認國內很多大學的文憑,那時候他覺得國外太過分了,太看不起國內了;可大學畢業之后,卻深深覺得國外的鄙視是完全有道理的。試想,如果一門課程,在最后一節課,老師會讓所有的學生到教室,然后翻看課本,說:大家翻到課本第XX頁,看到第x段,我在這里會出一道填空題;第XX段,我會出一道選擇題!這樣的教學和考核,有幾個人會覺得這文憑有含金量?但這大學卻又不上不行,你不上,你就沒文憑,招工時就少了敲門磚,就會因學歷不符合公司要求而被剔除。
???
??? 寫完計算器之后,段伏櫪過了兩天舒服日子,這不,技術總監布置任務來了:寫一個錄音機程序!段伏櫪可能沒想到,這個程序將他帶入了另一個更深的領域,讓他更深入地了解Windows CE這個操作系統。
- 前言
- 《那些年啊,那些事——一個程序員的奮斗史》——01
- 《那些年啊,那些事——一個程序員的奮斗史》——02
- 《那些年啊,那些事——一個程序員的奮斗史》——03
- 《那些年啊,那些事——一個程序員的奮斗史》——04
- 《那些年啊,那些事——一個程序員的奮斗史》——05
- 《那些年啊,那些事——一個程序員的奮斗史》——06
- 《那些年啊,那些事——一個程序員的奮斗史》——07
- 《那些年啊,那些事——一個程序員的奮斗史》——08
- 《那些年啊,那些事——一個程序員的奮斗史》——09
- 《那些年啊,那些事——一個程序員的奮斗史》——10
- 《那些年啊,那些事——一個程序員的奮斗史》——11
- 《那些年啊,那些事——一個程序員的奮斗史》——12
- 《那些年啊,那些事——一個程序員的奮斗史》——13
- 《那些年啊,那些事——一個程序員的奮斗史》——14
- 《那些年啊,那些事——一個程序員的奮斗史》——15
- 《那些年啊,那些事——一個程序員的奮斗史》——16
- 《那些年啊,那些事——一個程序員的奮斗史》——17
- 《那些年啊,那些事——一個程序員的奮斗史》——18
- 《那些年啊,那些事——一個程序員的奮斗史》——19
- 《那些年啊,那些事——一個程序員的奮斗史》——20
- 《那些年啊,那些事——一個程序員的奮斗史》——21
- 《那些年啊,那些事——一個程序員的奮斗史》——22
- 《那些年啊,那些事——一個程序員的奮斗史》——23
- 《那些年啊,那些事——一個程序員的奮斗史》——24
- 《那些年啊,那些事——一個程序員的奮斗史》——25
- 《那些年啊,那些事——一個程序員的奮斗史》——26
- 《那些年啊,那些事——一個程序員的奮斗史》——27
- 《那些年啊,那些事——一個程序員的奮斗史》——28
- 《那些年啊,那些事——一個程序員的奮斗史》——29
- 《那些年啊,那些事——一個程序員的奮斗史》——30
- 《那些年啊,那些事——一個程序員的奮斗史》——31
- 《那些年啊,那些事——一個程序員的奮斗史》——32
- 《那些年啊,那些事——一個程序員的奮斗史》——33
- 《那些年啊,那些事——一個程序員的奮斗史》——34
- 《那些年啊,那些事——一個程序員的奮斗史》——35
- 《那些年啊,那些事——一個程序員的奮斗史》——36
- 《那些年啊,那些事——一個程序員的奮斗史》——37
- 《那些年啊,那些事——一個程序員的奮斗史》——38
- 《那些年啊,那些事——一個程序員的奮斗史》——39
- 《那些年啊,那些事——一個程序員的奮斗史》——40
- 《那些年啊,那些事——一個程序員的奮斗史》——41
- 《那些年啊,那些事——一個程序員的奮斗史》——42
- 《那些年啊,那些事——一個程序員的奮斗史》——43
- 《那些年啊,那些事——一個程序員的奮斗史》——44
- 《那些年啊,那些事——一個程序員的奮斗史》——45
- 《那些年啊,那些事——一個程序員的奮斗史》——46
- 《那些年啊,那些事——一個程序員的奮斗史》——47
- 《那些年啊,那些事——一個程序員的奮斗史》——48
- 《那些年啊,那些事——一個程序員的奮斗史》——49
- 《那些年啊,那些事——一個程序員的奮斗史》——50
- 《那些年啊,那些事——一個程序員的奮斗史》——51
- 《那些年啊,那些事——一個程序員的奮斗史》——52
- 《那些年啊,那些事——一個程序員的奮斗史》——53
- 《那些年啊,那些事——一個程序員的奮斗史》——54
- 《那些年啊,那些事——一個程序員的奮斗史》——55
- 《那些年啊,那些事——一個程序員的奮斗史》——56
- 《那些年啊,那些事——一個程序員的奮斗史》——57
- 《那些年啊,那些事——一個程序員的奮斗史》——58
- 《那些年啊,那些事——一個程序員的奮斗史》——59
- 《那些年啊,那些事——一個程序員的奮斗史》——60
- 《那些年啊,那些事——一個程序員的奮斗史》——61
- 《那些年啊,那些事——一個程序員的奮斗史》——62
- 《那些年啊,那些事——一個程序員的奮斗史》——63
- 《那些年啊,那些事——一個程序員的奮斗史》——64
- 《那些年啊,那些事——一個程序員的奮斗史》——65
- 《那些年啊,那些事——一個程序員的奮斗史》——66
- 《那些年啊,那些事——一個程序員的奮斗史》——67
- 《那些年啊,那些事——一個程序員的奮斗史》——68
- 《那些年啊,那些事——一個程序員的奮斗史》——69
- 《那些年啊,那些事——一個程序員的奮斗史》——70
- 《那些年啊,那些事——一個程序員的奮斗史》——71
- 《那些年啊,那些事——一個程序員的奮斗史》——72
- 《那些年啊,那些事——一個程序員的奮斗史》——73
- 《那些年啊,那些事——一個程序員的奮斗史》——74
- 《那些年啊,那些事——一個程序員的奮斗史》——75
- 《那些年啊,那些事——一個程序員的奮斗史》——76
- 《那些年啊,那些事——一個程序員的奮斗史》——77
- 《那些年啊,那些事——一個程序員的奮斗史》——78
- 《那些年啊,那些事——一個程序員的奮斗史》——79
- 《那些年啊,那些事——一個程序員的奮斗史》——80
- 《那些年啊,那些事——一個程序員的奮斗史》——81
- 《那些年啊,那些事——一個程序員的奮斗史》——82
- 《那些年啊,那些事——一個程序員的奮斗史》——83
- 《那些年啊,那些事——一個程序員的奮斗史》——84
- 《那些年啊,那些事——一個程序員的奮斗史》——85
- 《那些年啊,那些事——一個程序員的奮斗史》——86
- 《那些年啊,那些事——一個程序員的奮斗史》——87
- 《那些年啊,那些事——一個程序員的奮斗史》——88
- 《那些年啊,那些事——一個程序員的奮斗史》——89
- 《那些年啊,那些事——一個程序員的奮斗史》——90
- 《那些年啊,那些事——一個程序員的奮斗史》——91
- 《那些年啊,那些事——一個程序員的奮斗史》——92
- 《那些年啊,那些事——一個程序員的奮斗史》——93
- 《那些年啊,那些事——一個程序員的奮斗史》——94
- 《那些年啊,那些事——一個程序員的奮斗史》——95
- 《那些年啊,那些事——一個程序員的奮斗史》——96
- 《那些年啊,那些事——一個程序員的奮斗史》——97
- 《那些年啊,那些事——一個程序員的奮斗史》——98
- 《那些年啊,那些事——一個程序員的奮斗史》——99
- 《那些年啊,那些事——一個程序員的奮斗史》——100
- 《那些年啊,那些事——一個程序員的奮斗史》——101
- 《那些年啊,那些事——一個程序員的奮斗史》——102
- 《那些年啊,那些事——一個程序員的奮斗史》——103
- 《那些年啊,那些事——一個程序員的奮斗史》——104
- 《那些年啊,那些事——一個程序員的奮斗史》——105
- 《那些年啊,那些事——一個程序員的奮斗史》——106
- 《那些年啊,那些事——一個程序員的奮斗史》——107
- 《那些年啊,那些事——一個程序員的奮斗史》——108
- 《那些年啊,那些事——一個程序員的奮斗史》——109
- 《那些年啊,那些事——一個程序員的奮斗史》——110
- 《那些年啊,那些事——一個程序員的奮斗史》——111
- 《那些年啊,那些事——一個程序員的奮斗史》——112
- 《那些年啊,那些事——一個程序員的奮斗史》——113
- 《那些年啊,那些事——一個程序員的奮斗史》——114
- 《那些年啊,那些事——一個程序員的奮斗史》——115
- 《那些年啊,那些事——一個程序員的奮斗史》——116
- 《那些年啊,那些事——一個程序員的奮斗史》——117
- 《那些年啊,那些事——一個程序員的奮斗史》——118
- 《那些年啊,那些事——一個程序員的奮斗史》——119
- 《那些年啊,那些事——一個程序員的奮斗史》——120
- 《那些年啊,那些事——一個程序員的奮斗史》——121
- 《那些年啊,那些事——一個程序員的奮斗史》——122
- 《那些年啊,那些事——一個程序員的奮斗史》——123
- 《那些年啊,那些事——一個程序員的奮斗史》——124
- 《那些年啊,那些事——一個程序員的奮斗史》——125
- 《那些年啊,那些事——一個程序員的奮斗史》——126
- 《那些年啊,那些事——一個程序員的奮斗史》——127
- 《那些年啊,那些事——一個程序員的奮斗史》——128 (終章)