`
hanhg
  • 浏览: 137294 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

疯狂的程序员-第八十章

阅读更多
在绝影的印象中,救火队长这个角色一向都是由自己来扮演的,想想以前在公司,临到验收的时候,才发现软件里面居然还有巨大的Bug,这种事情,哪次不是自己挺身而出,“受任于败军之际,奉命于危难之间”。结果轮到自己火烧眉毛,就乱了手脚,可惜一身好武功施展不开,还得由BOSS Liu来救自己的火。

BOSS Liu终于回来了,却不是绝影想像的那样两人一件面就赶紧打开电脑讨论问题。这一次,BOSS Liu不紧不慢地说:“怎么样,BOSS,好久没下棋了,再来下盘棋,敢不敢?”

绝影起头一直在琢磨Symbian上的那个问题,一看BOSS Liu这阵势,料想他心中已经必然有了解决方案,他那神情,简直就跟自己一模一样――想起以前在群里,有个网友调试个程序,让他帮忙看看,他看都不看便一口应承下来,结果等于自己搬块势头砸自己的脚,那程序加个变态的壳,什么壳记不清楚了,反正不比TMD,EXECryptor差,什么SHE,内存校验,代码混淆,RSA加密算法,总之能用上的尖端技术全给他用上,用不上的也要把选项做进去,反正只要普通人看都看不懂的,就是牛。硬生生把一个本来大概只有100K大小的程序给加壳到3M多。

网友问:“行吗?那壳可厉害呢!”

绝影若无其事道:“你放心,只有脱不下来的衣服,没有脱不下来的壳。”

结果那一次,差点把绝影自己的皮脱掉一层,一边脱一边骂,骂拿壳太变态,进而联想到壳的作者,顺带连电脑一起骂了:平时玩个游戏你就快得不得了,真工作起来了,怎么就成了老牛拉破车。

但骂归骂,没办法啊,谁叫自己答应了别人,而且还是“胸有成竹”地答应。

可是,当最终把壳脱掉的时候,他便又好了伤疤忘了痛,洋洋得意地说:“小CASE一个,练练手,只能算有点意思。有事你说话!”

网友没料到绝影这么大方,急忙说:“当然,当然,绝影就是牛。我这里还有个软件,嗯,比那个壳还厉害,你能不能帮我看看……”

这一次,BOSS Liu大概也抱着这样的心态。以绝影的经验来看,越是这个时候,越是不要跟他提这事情,你越急着提出来,他才越能显示出自己的神勇,从而进一步证明他一个观点:在技术上,我确实要比你BOSS J牛一些。

绝影这样想,千万不能让他得逞,于是对问题绝口不提,也不紧不慢道:“下什么棋啊,不跟你下。中国象棋我又下不赢你,国际象棋你又下不赢我,我们下来下去,还不是浪费时间么?”

本来绝影也只是随口说说,BOSS Liu却听者有心,自以为以程序员特有的敏锐捕捉到这话中的话,于是得意的说:“这就对了,BOSS啊,你都知道中国象棋你下不赢我,国际象棋我下不赢你,于是你就不跟我下。可是你也明明知道虽然我汇编比不上你,但你C++肯定不如我,你却非要跟我在C++上争一争。BOSS啊,什么事都让你一个人做完了,就没意思了。比如你学下去的时候,你来我往,有赢有输,还有点意思。现在呢?你想跟他下棋的人你找不到,想跟你下棋的人你又不愿意跟他们下,一点意思都没了。”

听完这番话,绝影哈哈大笑:“BOSS啊,你又想多了。这么久了,我什么时候还跟你比过C++啊?”



两人东拉西扯闲聊了好一阵,果然不出绝影所料,BOSS Liu见绝影对问题的事情绝口不提,反而自己乱了阵脚,急了起来,突然说:“废话少说,先说说上次那个问题。”

绝影停下来,点点头。

这一次,终于该BOSS Liu发挥了,下面要说的话,他已经在飞机上排练了好多次,连什么时候该停顿,让绝影思索,什么时候绝影可能会提出问题,什么时候该站着说,什么时候该坐着说这些情况都一一考虑了进去。

只见他昂然道:“我说BOSS啊,你一心钻研你的汇编,你的外挂,对现在软件的发展是有所不知啊。开源软件发展了这么多年了,有一部分可以说还是相当不错,就拿你说的zlib,先听你把问题说那么严重,我还以为真有这么大Bug,专门又去把代码好好看了看。你要是仔细看就明白了,人家一个项目里提供了好多编译配置,那汇编代码只是其中的一个。通过配置你可以选择使用C语言,当然,你为了提高性能,也可以选择使用汇编语言。人家做的项目,可是活的啊。”

听BOSS Liu这么说,绝影有点不相信。zlib的代码他也看了看,虽然在Windows下有VC的工程文件,但他没去打开,makefile写得比较长,当时自己粗看了一下,在source中确实包含了汇编文件,而且masm64,masm32,masm686三个目录摆在那里清清楚楚。要换成某些“砖家”,看到这情况,还不高呼:“这东西,不用看我都知道要用汇编。为什么?不为什么!因为我是‘砖家’啊!”

BOSS Liu一边说,一边打开他的电脑,像绝影一样,小心翼翼地打开自己的工程目录,绝影看见里面有个目录的名字叫“zlib_symbian”。BOSS Liu点进去,说:“BOSS啊,想你平时跟大爷做外挂也挺忙的,我专门去下了Symbian S60的SDK,还大概学习了一下Symbian的开发,已经把zlib这个库移植到Symbian上了。你看!”

绝影看过去,BOSS Liu果然把工程建得好好的,和自己一样,S60 SDK 3rd+VC 2003。

这一次,绝影终于相信了。

BOSS Liu抬起头来,绝影才近距离看清楚BOSS Liu的脸。猛的想起N年前,那时候BOSS Liu还我自己一起在公司,有一天早上BOSS Liu老早就去了公司,手指头被烟熏得很黄很黄,但脸色比手指头更黄。绝影知道,那一次BOSS Liu为了研究多线程的问题,搞了一个通宵。

这一次,绝影发现,BOSS Liu的脸色比那次更难看。眼睛不断地眨啊眨,仿佛见不得阳光,或者吹不得风,或者马上就要张不开了。手指头熏得比以前更黄,像这种黄色,绝影还只在上个世纪自己爷爷的指头上看到过。

于是绝影关切地说:“BOSS,熬了几天夜吧。”

BOSS Liu立刻正色道:“什么?这么点小问题,还用得着熬几天夜?”

“其实你不说我也知道。Symbian平台我一直在研究,知道这事情并不是简单,和Windows不同,和你的Linux也不同。你想想,我从最开始琢磨到后来能够做一点开发,起码用了半个月时间,还看了好几天书。我们从最开始在Windows下写的第一个‘Hello World’到现在,都用了好多年时间。没想到,你能在几天之内,就能做Symbian开发,还能把zlib库移植过来,我是说实话,这一点,我不得不佩服你啊。”

见绝影说得真切,这时候,BOSS Liu站起来说:“是啊。以前我们就经常忙,经常熬夜。最开始,是对新知识,新技术的好奇,那时候我们疯狂地吸取知识。后来去公司了,我们还是经常加班经常熬夜,还不是为了能按时把CASE做下来,为了得到老板和同事,甚至用户的肯定。可现在呢?说实话我觉得我们现在的热情还不如一些菜鸟,像Bug Yang,他学习起来就比我们疯狂。工作上就更不用说了,什么肯定啊,赞扬啊,当然有,但那都是老板们停留在口头上的。有些话说了一次又一次,说实话,我都觉得我们对技术的追求和对CASE负责的心理是被资本家们利用了。所以,要我说,写程序就两种:要么纯粹就是爱好,不计任何回报,就像我们刚学写程序那样;要么就是给自己写程序,为自己挣钱,就像我们现在一样。要是一直给资本家写程序,写到最后,就两个字:痛苦!。”

这时候,绝影有点不好意思:“BOSS,你是在说我吧……”

“我当然不是那个意思,只是跟你说我为什么还熬夜,有人说做程序员太累,最多做到35岁,我看像我这个样子,我恐怕要熬一辈子夜。”

好半天,绝影才说出一句话:“你强。”



这次回来,BOSS Liu在四川呆了几天,趁着他在,绝影加紧做Symbian的移植工作,说实话,前几天遇到zlib和x264的问题,再加上工商代理那边出了些问题,本来就有点灰心。这次BOSS Liu过来见他还那样辛苦,本来多帅的一个小伙子,结果熬夜把自己整得不成人形,就比如跑得实在倦了,突然屁股上给抽了一鞭子,于是又振作起精神,继续埋头苦干。

工商代办那头最后还是没把事情解决好,事情就是这样,先是绝影他们组织一大堆材料,送工商代办,工商代办再把材料送工商局,工商局再往上面报,最后事情又反过来:上面说国家有文件,不通过,把材料打回给工商局。工商局说上头有规定,不通过,把材料打回给工商代办。工商代办说工商局不让通过,又把材料还回给绝影他们。

这材料是风风光光跑了好大一圈,可就像公费旅游一样,啥事情都没办好,也只能说是去观光了一盘。你说:怎么不早点把国家文件下发到基层啊,要是咱们早知道不行,就不用组织材料浪费那么多钱了嘛!

那是你想的,可材料不这样想。你想,要是所有的文件到下发到基层了,材料还有机会去公费旅游吗?只要能“公费旅游”,很多人根本就不怕麻烦。



BOSS Liu和绝影像蔫了的黄瓜一样坐在那里。看来公司是开不成了。文件说办公地点要商业用地,对他们来说这是不现实的:写字楼租在那里管你盈利不盈利房东都得收钱,还得先付一大笔押金啊,中介费啊,物管费啊。当然对于有钱的大老板们来说,这点钱根本不算什么。可是他们不是大老板,也没钱。绝影自嘲道:“没想到啊。我们俩加起来,就写程序来说,还算得上半个牛人了,没想到在这里让一泡尿给憋死了。”

BOSS Liu跳起来:“哪里有糟尿憋死的?你说哪里有。”

绝影也不甘示弱:“当然有。我记得,记得……”

本来绝影想说记得什么什么时候哪里哪里有新闻报道确实有大活人让尿给憋死了,他也真的看到过这新闻,奈何新闻这东西,就像跟你捉秘藏,你不找他的时候,他到处都是,你真要找他了,他又躲得无影无踪。绝影在那里“记得”了半天,BOSS Liu打断了他:“开玩笑,活人还能让尿憋死。不让我开公司,我有的是办法。”

“什么办法?”绝影以为BOSS Liu有高招,把希望全寄托在了他身上。

“暗地里搞,等搞得差不多了,时机成熟了,咱们再开公司。”

BOSS Liu这么一说,绝影大失所望:“我原来还以为你有什么好办法呢。这样搞,不等于成土匪了?”

“当土匪又如何?事情就是这样的,成王败寇,哪怕你真的是土匪,但只要你成功了,以后别人谈论起来,反而津津乐道,这时候,‘土匪’对你来说都是褒义词。”

“可是,项目才刚刚开张,就遇到这么大个阻碍,这也太打击大家的心情了吧。Bug Yang那里你怎么说?张厂长那里呢?以前我还准备回去跟陈董他们谈合作呢。陈董的祝贺信都给我发过来了。”

“这事先不说,就我们俩知道。总之我们还是该干啥干啥。总要先做点东西出来。”

绝影叹了口气:“唉,也只好这样了。”

可是,从那以后好几天,他总是垂头丧气。以前工作的时候不知道,现在出来想自己创业了,总该是施展拳脚的时候了。可什么事情都比想像中困难。zlib,x264两个库的问题算是解决了,可Symbian平台毕竟还是不熟悉,后面当然还会有更大的困难。这样想,绝影越来越有不详的预感,他预感:这CASE怕是要夭折了。

可是他这个想法,不敢给BOSS Liu说。
分享到:
评论

相关推荐

    程序员编程艺术--共二十七章-集锦与总结(教你如何编程)

    - **第八章:从头至尾漫谈虚函数** - 讲解C++中的虚函数机制。 - 包括虚函数的使用场景和最佳实践。 - **第九章:闲话链表追赶问题** - 分析链表中常见的追赶问题。 - 提供解决此类问题的有效算法。 - **第十章...

    代码大全第二版 中文版(1-20章)

    - 第八章“类与对象”深入讨论面向对象的设计原则,如封装、继承和多态。 - 第九章“模块与包”讲解如何组织代码,形成清晰的模块结构。 - 第十章“接口与API设计”指导如何创建易于使用和理解的软件接口。 3. *...

    程序员编程艺术

    - 第八章全面阐述了虚函数的概念和用法。 - 第九章则聚焦于链表问题,特别是链表的追赶问题。 **7. 文件排序** - 第十章提供了如何给大量数据量的磁盘文件进行排序的方法。 **8. 最长公共子序列** - 第十一章...

    程序员编程艺术第一 ~二十七章

    - **第八章:从头至尾漫谈虚函数** - 深入讲解了C++中虚函数的概念和用法。 - **第九章:闲话链表追赶问题** - 探讨了链表中的典型问题——如何判断链表是否存在环。 - **第十章:如何给10^7个数据量的磁盘文件...

    程序员编程艺术第一~二十七章集锦与总结

    - **第八章:从头至尾漫谈虚函数** —— 深入探讨了C++中虚函数的工作原理及其应用场景。 - **第九章:闲话链表追赶问题** —— 解释了链表中常见的追赶问题,例如寻找环路的入口节点。 - **第十章:如何给10^7个...

    C程序设计语言--第三章 数据类型

    总结,"C程序设计语言--第三章 数据类型"涵盖了C语言中至关重要的基础知识,包括基本数据类型、存储、转换、结构化数据(枚举、结构体)、指针、数组、变量声明和初始化、以及常量和类型定义。这些概念构成了C语言的...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)(by_July)定稿版.pdf

    - **第八章**:从头至尾漫谈虚函数 - **第九章**:闲话链表追赶问题 - **第十章**:如何给10^7个数据量的磁盘文件排序 - **第十一章**:最长公共子序列(LCS)问题 - **第十二至十五章**:中签概率、IP访问次数、...

    计算机组成与体系结构(性能设计)答案完整版-第八版

    - **第八章:操作系统支持**:解释操作系统如何管理和调度硬件资源,为应用程序提供服务。 - **第九章:计算机算术**:探讨数字表示方法和基本运算的实现细节。 - **第十章:指令集:特性和功能**:详细分析不同类型...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)

    - **第八章:从头至尾漫谈虚函数** - **知识点**:面向对象编程、多态性。 - **应用场景**:软件设计模式、框架开发等。 - **第九章:闲话链表追赶问题** - **知识点**:链表数据结构、双指针技巧。 - **应用...

    2022年单片机-第五章程序设计.ppt

    在本课程“2022年单片机-第五章程序设计”中,主要探讨了单片机程序设计的核心概念,特别是针对80C51单片机的编程。这章内容涵盖了计算机语言的不同类型,包括机器语言、汇编语言和高级语言,以及如何使用汇编语言...

    C语言高级程序员编程指南

    第八章 数组、指针和结构 第九章 DOS和BIOS服务 第十章 内存管理 第十一章 日期和时间 第十二章 重定向I/O和进程命令行 第十三章 编程工具 第十四章 高级C语言编程 第十五章 C++入门 第十六章 对象...

    软件工程思想——经典搞笑版

    非常好看有趣、实用、经典的教材! 第一章“软件工程基本观念”; 第二章“程序员与程序经理”; 第三章“项目计划与质量管理”;...第八章“维护与再生工程”。 附录“大学十年”可以充当饭后的水果。

    Professional C++

    - 第八章:“精通类和对象”,对C++类的设计和实现进行了深入探讨。 - 第九章:“发现继承技术”,涉及了面向对象编程中的继承机制,包括多重继承和虚继承。 - 第十章:“C++的怪癖、奇异性与偶然性”,介绍了C++中...

    单片机-第三章答案.doc

    【3-1】汇编语言和C语言在可读性方面,C语言通常更强,因为它的语法更接近自然语言,而汇编语言则更接近机器语言,对程序员来说可能更难理解。在可移植性上,C语言也优于汇编语言,C程序可以在多种不同的处理器上...

    第三章C语言-第三章.ppt

    本章主要探讨了C语言中的数据类型,包括常量和变量,以及它们的使用规则。 首先,常量是在程序执行过程中不可更改的值。常量可以分为整型常量(如12、4、-67)、浮点型常量(如3.14、5.6)和字符常量(如'a'、'd')...

    3-1@-第3章-80x86的指令系统和寻址方式(2).ppt

    本章主要讨论的是80x86处理器中的指令系统和寻址方式,特别是针对8086处理器的部分。 8086的指令系统分为多个类别,包括数据传送指令、算术指令、逻辑指令、串处理指令、控制转移指令和处理机控制与杂项操作指令。...

    2@-第2章-80x86计算机组织.ppt

    汇编语言是与机器指令集紧密关联的编程语言,它允许程序员直接操纵硬件资源。程序以汇编代码的形式存储在磁盘上,例如"hello.c"源文件会被编译为"hello.exe"可执行文件。在运行时,CPU通过加载这个可执行文件到内存...

    Android 3D 游戏开发光盘:各章案例(1--11章)

    第十一章则可能是性能优化和调试技巧,帮助开发者了解如何减少渲染开销,优化内存使用,以及使用Android Studio的工具进行问题定位。 这些案例覆盖了Android 3D游戏开发的大部分核心概念和技术,通过逐一研究和运行...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)(by_July)定稿版

    ##### 第八章:从头至尾漫谈虚函数 深入探讨了C++中的虚函数机制,包括其背后的原理和实际应用。 ##### 第九章:闲话链表追赶问题 讲解了链表中常见的追赶问题,并给出了几种有效的解决策略。 ##### 第十章:...

Global site tag (gtag.js) - Google Analytics