“你这算法效率太低了,怎么能直接用除法呢?你要用查表的方式!”段伏枥写完计算器没多久,同事老柳突然跑过来说要帮忙看看代码。
“查表?”段伏枥隐约记得,用查表的方式来计算除法,在没有除法器的单片机上为了加快运算速度是常用的方式。只不过在现在公司所用的夏普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 (终章)