17 另类的方法

老杨很吃惊地看着绝影。

他缓缓地说:“不好。一张公交卡里面有50块钱,车上贼又多,不小心掉了就全没了。我觉得还是折现好些。”

绝影还算是聪明人。这就好比现在BOSS总跟你说:“小张啊,好好干,再干两年就分点公司股份给你。”你要是真信了就傻了,这句话完全有资格收录到十大谎话里面。你要是够聪明你就应该跟BOSS说:“BOSS啊,股份这东西太高级咱懂不起,还是不要了,折现吧。”

这么一说没想到老杨又大方起来,同意给他300块钱。他说:“你安排下,每周什么时候能来?”

绝影没怎么去上课,记不得课表,他说:“还是让我回去先看看课表,跟老师打个招呼吧,到时候我给你打电话。”

去财务室领了300块钱,坐在回学校的公交车上绝影心情无比激动,他给三陪发了个短信说:兄弟我已经找到工作了,在XXXX公司,哈哈。

那时候他大四上期。

回到学校已经是吃晚饭的时间,燕儿问他:“待遇谈得如何?”

“没谈,不过还没做就领到300元钱,你觉得待遇能低吗?特别是昨天做那个三元线性回归,50行代码就给了我100块钱,你看做ASP的做Java的谁能拿到这么多?我当初跟你说你还不相信。”

燕儿没再说什么,吃过晚饭绝影突然很想把这事告诉土匪,他也确实很久都没回寝室了。

土匪喘吁吁从篮球场回来,老远就跟绝影打招呼:“怎么样?外面住习惯不啊?不习惯就回来嘛。”

“不能回来了,现在事情多,又找了份工作,晚上寝室要熄灯没时间做事情。”

土匪想找个工作有啥好牛B的,班上还是有好多人吹嘘自己找到了工作,自豪得不得了,一调查,不是去发传单就是去搞促销。土匪认为,与其去丢那个脸,还不如好好学习。

他鄙夷地问:“啥工作啊?又去下苦力?有时间还不如想办法帮我把计算机二级过了,我给你现大洋!”

绝影在书架上拿了课表,平静地对他说:“你懂个屁,这次我是去XXXX公司,研发部,研发员,懂不?我走了,忙去了。”

没等土匪答话,他就离开了寝室。按照他的推测,土匪听到他报出“XXXX公司”这个名字肯定会继续追问他更多细节,反正他觉得他和土匪不是一个档次,跟他讲也讲不明白。这里面的细节就留给他一个人去体会吧。

出了学校又去那个公话超市对照着课表给老杨打电话,大概就是告诉他每周去两天半,分别是什么什么时候。老杨在电话那头不住的嘱咐:“好,好,好好看C++Builder,你一来,我们的CASE就开工。”

三天后绝影去了那公司。去的时候带了本《C++Builder入门与提高》,这书也是从西南科技书店买的。他对老杨说:“C++Builder已经没问题了,可以开工了。”

其实绝影自己都没想到才三天时间,他就可以从什么都不懂变成“没有问题”。所以有时候人的技术啊,知识啊也许并不是学出来的,是逼出来的。比如你去考软件设计师,本来至少有半年的时间来准备,可以那编译原理里面什么词法分析语法分析什么正则表达式啊看得你头都大了,这很正常,毕竟你是数学专业的就不是计算机专业的,是计算机专业的就不是数学专业的,甚至你跟这两个专业都不沾边。最后想算了还是放弃了,反正考试还有那么多内容,其它的学好点,一样能过。后来工作了,有一天,你BOSS跟你说:“小张啊,你从来没让我们失望过啊,最近很多程序员反应咱们那编译器不好用,你看干脆咱们自己开发个编译器算了。给你一个月时间够了吧,你可从来没让我们失望过啊。”他这么一说,尽管在那一个月中你每天都在心中骂他,可最后你自己都吓了一跳――居然还是把编译器给搞出来了。就这么一个月的时间逼一下,比那半年的效率都高得多。其实就算做不出来也没什么,做不出来很正常,做出来了你是牛人,这一个月要这么累死累活地工作是为什么?不是为了钱,是为了别人对你的信任和肯定。所以你骂完BOSS,偶尔回想起来也许你还是会感谢他的。

你说一个编译器里面有多少技术含量,论技术含量得值多少钱,可是你在公司还是只拿那么一点钱,最多BOSS再发给你2000块项目奖金。所以这样来看很多时候程序员工作真的不是为了钱,至少他在写那个程序的时候想得更多是如何去解决某个技术上的难题,当然,东西做完一交他有可能马上就会想到:呓,我的钱呢?才这么一点?所以你就不难理解很多人――像燕儿这样的人,他们不能理解你甚至嘲笑你居然可以天天坐那写一分钱都赚不到的程序,并且还写得很快乐。

对程序员来说,大部分是从解决问题特别是独立解决问题中来的,不是从这个CASE有多大,奖金有多少中来的。

当时正好是星期一公司的例会,老杨说:“走跟我一起去开会。”

反正开会的人除了老杨绝影一个都不认识,绝影自己坐那觉得挺无聊,倒是最后老杨跟大家介绍绝影:“这是新来的‘技术外援’绝影,很厉害,一天就把三元线性回归解出来了。”绝影站起来跟大家点点头,那一瞬间他想起:惨了今天早上起床后没梳头。

开完会,老杨跟他BOSS请示了几句,对绝影说:“走咱们先去看车间。”

车间不大,绝影老远看见上面有大大的放射性三棱形标志,老杨一边挡住绝影一边说:“小心点,别碰,远远地看。就这东西有放射线太危险了,所以我们要做的软件就是实现对这机器的远程操作,比如我们坐在值班室里就可以监视机器的运行情况并且能够对它们进行控制,也就是说,我们的软件是一台完全仿真的机器。”

回到研发部,老杨让绝影坐他旁边的办公桌,桌子前面已经贴了一张CASE进度表,这个CASE总共会持续两个月。绝影看见“上位机”上总共有3个人的名字,“绝影”也在其中;还有一个姓周的做单片机部分。桌上摆了台电脑,操作系统居然是WindowsNT4.0英文版。这让他有点失望,上次他就见老杨用一台笔记本电脑在工作,以为去了公司也会给他配台笔记本,他甚至已经给燕儿放了话:“公司会给我配台笔记本电脑。”

毕竟是第一天去上班,老杨让绝影自己去参观一下公司,绝影首先问:“哪里可以抽烟。”老杨说:“隔壁的隔壁,研发部办公室和开发部办公室之间。”

他跑过去,那里果然有间休息室,休息室旁边果然是开发部办公室。他就觉得奇怪,研发和开发到底有啥区别?居然硬要分成两个部门。抽了只烟,绝影去二楼策划部转了一圈遇到几个美女跟他打招呼,都操普通话。问他:“新来的吧?以前都没见过。”他说:“是。”再很自豪地补充一句:“研发部的。”他恨不得马上跟她们再补充一句:“我叫绝影,现在在哪里哪里念书,电话是多少多少。”他觉得讲普通话的美女就是好,讲话都好听。

回到办公室,老杨问:“熟悉了吧。”

他说:“还行,就是厕所有点远。”

老杨说:“还有点时间,你来帮我做个事情。给定一个时间:年月日,算出是星期几。”

绝影不知道C++Builder里时间用的什么类,就知道API中有个SYSTEMTIME结构,就拿API来做,低层一点就是好,汇编啊VC++啊BCB啊VFP啊里面都可以用。依稀记得读高中的时候看了张报纸上面有个公式可以可以通过年月日计算出星期,用到了取整函数,学了高等数学才知道学名叫高斯函数,在网上拿“计算星期”作关键字搜索了一下找了几个公式,人家又讲得复杂,光原理就讲了好几大千字,又没有现成的代码。当然有了这些资料完全也可以用公式计算出来。老杨说的是:“还有点时间。”你要真拿这些公式来做,就不是“还有点时间”了,是“没有时间”。

于是再想办法。反正是给你年月日计算星期,其它又没什么要求,先用GetLocalTime保存现在时间,再用SetLocalTime把系统设置成要计算的时间,再用GetLocalTime取时间,然后取SYSTEMTIME的wDayOfWeek,最后用SetLocalTime设置成原来的时间。操作系统都帮你把星期计算好了的,你自己还去算,那不笨死了。

东西交给老杨,老杨说:“这也太另类了。”

绝影问:“不行吗?”

“倒不是不行,就是太另类了,反正我们是应用,又不是考算法,这办法很好。”

所以写程序有时候就是很有意思。比如你搞数学的,一就是一二就是二绝不可能出来三,但程序就不一样,方法自由,很多时候解决一个问题的方法直接反应出这个程序员的性格和思想。

老杨收好绝影的代码说:“下次来你就正式开工了,你回去可以先研究一下,这就是下面那机器的图,你要做个VCL组件,把这个机器的图放在窗体上像下面的机器一样可以左右运动,运动的速度和最大距离可以调整,把属性都给Publish出来。”

绝影想这玩艺还不容易,还用花那么多时间,拿回去我一天就给搞出来。

回到学校把那玩艺从磁盘拷贝出来,C++Builder打开,大概过了10分钟,绝影傻眼了。