??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产成人久久综合一区,亚洲另类视频在线观看,亚洲美女视频网址http://www.tkk7.com/faintbear/category/712.html风嗖嗖的刮着......zh-cnWed, 28 Feb 2007 13:02:42 GMTWed, 28 Feb 2007 13:02:42 GMT60Linux??http://www.tkk7.com/faintbear/archive/2006/01/16/28243.html力力力力力力Mon, 16 Jan 2006 15:24:00 GMThttp://www.tkk7.com/faintbear/archive/2006/01/16/28243.htmlhttp://www.tkk7.com/faintbear/comments/28243.htmlhttp://www.tkk7.com/faintbear/archive/2006/01/16/28243.html#Feedback0http://www.tkk7.com/faintbear/comments/commentRss/28243.htmlhttp://www.tkk7.com/faintbear/services/trackbacks/28243.html 

Linux?/FONT>

原著QRagib Hasan
Department of Computer Science
University of Illinois at Urbana-Champaign

译Q王晓林

v2.2.0
作于Q?002q??BR>译于Q?006q??/FONT>


目录


h初开

那是在一?ji)?ji)一q_令h痛苦难耐的h渐渐走到了尽头。和q_详的I气开始升起在地^Uѝ在计算U学领域Q随着强大g的推出,计算机的极限能力已超Z我们的想象,一个辉煌的未来g已渐露端倪?

但还是缺了点儿什么。在操作pȝ领域Q存在着一片巨大的I白?

一斚wQDOSq统ȝ庞大的个人电(sh)脑王国。比盖茨花$50,000从一个西雅图黑客手中买来DOS。之后,靠着聪明的市场策略,q个陋的操作pȝ(zhn)?zhn)渗透到了世界的每一个角落。PC用户没有其它的选择。苹果机虽好Q但它的天h(hun)没h能承受得赗它和大众需求保持着遥不可及的距R?

计算领域的另一个阵营是UNIX世界。但UNIX更是贵不可攀。ؓ了追求高额利润,UNIX销售商把h(hun)格抬得以吓跑随便哪个PC用户。贝实验室曾慷慨地提供UNIX的源代码l大学。但现在Q这些源代码被小心地看管hQ不再对外公开。更令全球PC用户心烦的是QY件市场的大玩家们没能册一问题提供个有效的Ҏ(gu)?

MINIXg是个选择。它是在荷兰当教授的国人Andrew S. Tanenbaum从零开始编写出来的。他写MINIX的目的是Z向学生讲授操作系l的内部工作原理。MINIX的设计面向当时最为流行的Intel 8086微处理器?

作ؓ一个操作系l,MINIX不上一。但它的好处是你能得到它的源代码。只要你有Tanenbaum写的《操作系l:设计与实现》这本书Q你p得到?2,000行用C和汇~写的源码。头一ơ,E序员或黑客可以有机会读一L作系l的源码--q种被Y件商严加看管的东ѝ?Tanenbaum用详简z的W触探讨了编写操作系l的艺术。他是个一的作者,q住了一批当时计机领域最聪明的大脑。全世界学计机的学生都在钻研这本书Q通过d的源码来了解他们?sh)脑里运行的MINIX操作pȝ?

Linus Torvalds是q些学生中的一个?


呱呱坠地

?991q_Linus Benedict Torvaldsq是个芬兰学生,在赫辛基大学念计算Z业二q。同时他也是个自学成才的黑客。这个长着沙W黄头发、说话Yl늉的二十一岁芬兰帅哥喜Ƣ折腾他的电(sh)脑,把它不断推向能力的极限。但他缺一个合适的操作pȝ来满他如此专业的需求。MINIX不错Q可它只适合学生Q是个教学工P而不是一个强大的实战pȝ?

当时Q全世界的程序虫们都很看好Richard Stallman的GNU目---一个致力于推出自由、高质量软g的运动。在计算U学的王国里QStallman是个倍受崇的神话式英雄。他令h景Ԓ的职业生涯是从大名鼎鼎的MIT人工实验室开始的。七十年代中后期Q他在那里开发出了著名的Emacs~辑器。八十年代早期,商业软g公司从h工智能实验室吸引Cl大多数优秀的程序员Qƈ和他们签|了严格的保密合同。Stallman为此大大不爽。他认ؓ软g和其它品不同,在复制和修改斚w它不该受CQ何限制。只有这P才能开发出更好更强的Y件?983q_他在著名的《GNU宣言》中Q向世h宣告了GNU目的启动,开始了贯彻其哲学的自由软gq动Q顺带一句,GNU一词是‘GNU's Not Unix’的递归~写Q。ؓ了最l实现开发出一个自由操作系l的梦想Q他得先刉些工具。于是,?984q初QStallman开始创作一个o商业企业E序员叹服的作品--GNU C~译器(gccQ。他出神入化的技术天才,令所有商业Y件程序员自愧不如。gcc被公认ؓ世界上最高效最强健的编译器之一?

Richard StallmanQGNU目的创始h
?991q_GNU目已经开发出了众多的工具软g。大家期待已久的GNU C~译器也问世了。但自由操作pȝq没有。MINIX也是受版权约束的Q后来,?000q?月,Tanenbaum在BSD许可证下发布了自qMINIXQ。GNU操作pȝ内核--HURD--q在开发之中,几年之内q不可能面世?

拖了q么久,l于该说说Linus了?

1991q??5PLinus在MINIX新闻l发Z历史性的一?..

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
 

HelloQ各位用minix的朋友,

我正在写一个基?86Q?86QAT机器的(自由Q操作系l(只是Z爱好Q不会做得象gnu那么大、那么专业)。我从四月䆾开始酝酿,现在已经做得差不多了。我现在想知道一些你们对minix的看法,它哪点好Q哪点不好?因ؓ我这个操作系l和 minix多少有点儿类|文gpȝ采用同样的物理布局Q因现实原因Q,其它斚w也有cM的地方)。我已经把bashQ?.08Q和gccQ?.40Q移植过来了Q它们好象还工作。这意味着在下面几个月里,我将l它加上更多实际的功能。所以我想知道大安希望它有哪些功能。欢q多提徏议,但我不敢保证能实C的徏?:-)
Linus (torvalds@kruuna.helsinki.fi)

PS. 没错Q它不包含Q何minix的代码,而且它有一个多U程文gpȝ。它现在不能在其它硬件上转(因ؓ用了386d切换机制Q等{)Q而且除了AT盘Q它基本上不支持M其它g。这是我的全部?:-(?

从这个帖子不隄出,Linus自己q没预料C的小创造将有本事改变整个计科学领域?991q?月中旬,Linux 0.01版问世了Qƈ且被攑ֈ了网上。它立即引v了h们的注意。源代码被下载、测试、修改,最l被反馈lLinus?0 ?P0.02版出来了Q同时伴随着Linus著名的声明:

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Free minix-like kernel sources for 386-AT
Message-ID: <1991Oct5.054106.4647@klaava.Helsinki.FI>
Date: 5 Oct 91 05:41:06 GMT
Organization: University of Helsinki
 

你在怀念minix-1.1时代的美好时光吗Q那时你自己写着驱动Q充满了成就感。现在没什么好目可做了,是吗Q你在拚命啃一个操作系l,修改它以满你自q需要,是吗Q现在minix已经没什么需要你Lq的了,你ؓ此怅然若失Q是吗?没机会再熬通宵Lq一个小E序了,是吗Q如果是q样的话Q那q个帖子是l你?:-)

一个月Q?Q前我曾l提到过Q我正在一个AT-386计算Z开发一个自q本的、类似minix的操作系l。现在它l于可以用了Q尽未必能满你的期待Q。我乐意把源代码公开出来Q让它传播得更广。它现在仅仅?.02版(外加一个(很小的)补丁Q。但是我已经成功地在它上面跑?bash/gcc/gnu-make/gnu-sed/compress{程序。我q个宝贝儿的源E序?nic.funet.fi (128.214.6.100) 下面?/pub/OS/Linux 目录中可以找到。该目录中还有些 README 文gQ还有几个在linux下能工作的可执行文gQbashQupdate和gccQ你q要求些什么呢 :-)。完整的内核源代码都在这儿了Q因为没有用到minix 的源E序。函数库的源E序只是部分开放,所以目前还不能提供出来。拿到源代码后,直接~译p了。编译完p转了。哈哈。可执行E序Qbash和gccQ的源代码可以在同一|站?pub/gnu目录里找到?
几周以后QLinux 0.03版发布了?2月䆾Q?.10版发布了。这时的Linuxq显得很陋。它只能支持AT盘Q而且不用dQ启动就qbashQ?.11版有了不改q,可以支持多国语言键盘、Y驱、VGA、EGA、Hercules{等。Linux的版本号?.12直接上升C0.95?.96......不久QLinux的源代码通过在芬兰和其它一些地方的FTP站点传遍了全世界?


冲突与发?

Linus在展CZ台LinuxW记本电(sh)?/FONT>
不久QLinus开始面Ҏ(gu)战。他面对的不是别人,正是Andrew TanenbaumQ那个开发出MINIX的伟大教师。在lLinus的一个回贴中QTanenbaum写到Q?
“我q是坚持我的观点Q在1991q还设计q样一个整体架构的内核是个Ҏ(gu)性的错误。你该庆q怸是我的学生。这么个设计Q在我这儿你得不了高?:-)?
(Andrew Tanenbaum to Linus Torvalds)
Linus后来承认_q是他关于开发Linux所得到的最坏评仗Tanenbaum是当时的知名教授Q他说的话自然很有䆾量。但q次面对LinuxQ他的话没能奏效Q因为Linus不是个轻易服输的人?

Tanenbaumq说Q?

“Linuxq时了。?

现在轮到新的Linux一代开始反M。以强大的LinuxC֌为后盾,Linusl了 Tanenbaum一个恰如其分的回复Q?

你的工作是教授、研I员。这对于minix的大脑损伤是个绝妙的解释?
(Linus Torvalds to Andrew Tanenbaum)
Linux的开发在l箋。不久,加入开发的人数pq了一百,然后是数千,然后是数十万。Linux不再只是个黑客的玩具Q配合上GNU目开发出的众多YӞ Linux已经可以走向市场了。它最l在GNU公共许可证下发布Q这保证M人都可以自由获得它的源代码,可以自由复制、学习和修改它。学生和E序员们都没错过q个Z?

不久QY件商们也来了。Linux是自q操作pȝ。Y件商们需要做的只是把各种各样的Y件在Linuxq_上编译,然后把它们组l成一U可以推Z市的形式。这和其它操作系l在q作模式上没什么区别,只是Linux是自q。Redhat?Caldera、和其它一些公叔R获得了相当大的市场,获得了来自世界各地的用户。除了这些商业公司,非商业的~程专家们也志愿地组l了hQ推Z他们自己的品?-享誉全球的Debian。配上崭新的囑Ş界面Q比如X Window、KDE?GNOMEQ,Linux的各个品牌都倍受Ƣ迎?

好戏q台Q惊喜不断。除了PC机,Linux又被ULC许多其它q_上(PowerPC、Sun Sparc、ARM、Alpha...Debian支持十几种CPUQ。它q被人安装到?com的手掌计机上。另外,利用集群技术,许多Linux单机可以被组l成一个整体,用于q行计算?996q?月,Los Alamos国家实验室的研究人员利用68?Linux单机搭徏了一个ƈ行计系l,用它来模拟原子弹爆炸的冲LL。与其它计算Z同的是,用Linux搭徏的集计机非常便宜。这UDIY出来的超U计机只花?152,000Q连人工Q连?8台PC的线~)都包括了。这h只是同别商业机的十分之一。它的峰D速度可达每秒19万亿(billion)ơ。在世界最强的计算Z它排在第315位。它也极其稳定可靠,投入q行三个月后Q还不必去重启动?

今天锋芒毕露的Linus
今天QLinux最大的优势是推动它前q的巨大开发热情。一旦有新硬仉世, Linux内核p快速被改进以适应它。比如,Intel Xeon微处理器才问世几个星期,Linux新内核就跟上来了。它q被用在了Alpha、MAC、PowerPC上。甚臛_手掌一h问|的领域都可以q行Linux。正如它?991q诞生时那样QLinux正以同样的热情阔步走向新世纪?
Linus?002q?/FONT>
至于Linus本hQ他保持着单的生活。不象比盖茨,Linus不是亿万富翁。完成学业之后,他移居美国,在Transmeta公司找了个工作。Transmeta公司在指导完成了一个绝密项目的研发之后Q推Z自己的Crusoe处理器。Linus是这个研发小l中z跃的一员。最q,他和Tovel了婚,生了个女儿,取名Patricia Miranda Torvalds。世界范围内的计机C֌都对Linus推崇备至Q到目前为止Q他是我们这个星球上最受欢q的E序员?
全家?/FONT>


风雨十年

Linux的开发已l走q了十个q头。它用十q的蓬勃发展否定了所有持怀疑态度的警告和预言。今天,Linux是有史以来发展速度最快的操作pȝ之一。从91?2q的几个技术狂热者发展到今天C百万计的普通用Pq绝Ҏ(gu)个不q_的历E。大商业公司们“发现”了LinuxQ将C百万计的元們օ到开发中来,q一事实无情地驳斥了“开源运动反商业”的谬论。IBM曄视开源社Zؓz水猛兽。而现在,它已l将大量的资金{Ud以Linux为^台的开源解x案中来?

但真正让人感到惊喜的是,Linux开发团队持l不断地壮大Qƈ在世界范围内扩散开来。这些开发者以旺盛的精力和高涨的热情不断改q着Linux的功能和性能。Linux的开发工作ƈ没有象“代码封闭论者”所妄言的那样“最l消失在一片؜׃中”。正相反QLinux的开发是有组l有U序的,它采用的是一U精心设计ƈ被细心维护的开发模式。在q一高效开发模式下Q数以千计的开发者们把各U各L应用软g注入到Linuxq_中来?

商业企业不再对Linux心怀戒惧Q因而大量的软g商开始提供Linuxq_上的产品支持QY件质量有了更可靠的保障,在办公室里用Linux不必再有“风险自负?的担心了。说到可靠性,Linux?999qCIH病毒肆虐和一q后的‘爱虫’病毒流行时Q证明了自己的强健。这些相当简单的病毒把世界搞得一团糟Q而所有的Linux机器却丝毫不受媄响。这充分昄了它的免疫力。当Redhatq样?Linux排头兵走向市场的时候,它们受到了热烈的Ƣ迎。甚臛_q几qdot-com |络泡沫破灭之后Q它们还在持l蓬勃地发展壮大。这也大大增ZZ?Linux的信心,许多大大小的商业公司开始采用Linux作服务器和工作站q_Q把Linux作ؓ办公室系l的可靠支撑?


Linux桌面应用的崛?

那么Q针对LinuxZ报怨最多的是什么呢Q在q去Q也许就数它的字W界面了。很多对Linux感兴的传统的字W界面吓着了。“字W界面可以让你无所不能”,一些执着的黑客会向你q样辩解。但对于数百万的普通用Pq意味着要花费大量的旉和精力去学习它。现成的X Window囑Ş界面和窗口管理器q不能满x通计机用户的期待。这一直是MS Windowsq随者们的攻L柄。但在过ȝ几年_情况发生了改变。象KDE和GNOMEq样非常专业的桌面环境呈现在了h们的面前。这些桌面环境的较新版本使h们对Linux的“用户友好性?有了更好的认识。尽一些铁杆用户在报怨,囑Ş化黑客文化失去了其原有的纯正品位。但囑Ş化大大改善了Linux在普通用户心目中的Ş象,促进?Linux的流行与推广?


Linux在第三世?

Linux 在发展中国家得到了广泛的传播K这也许是它对世界媄响最大的地方。在Linux出现之前Q发展中国家在计科学领域大大落后于西方。硬件h(hun)D然不断下滑,但在W三世界国家QY件的高昂h一直是有热情、没银子的计机爱好者们的巨大负担。无奈中Q他们只能求助于各种各样的盗版Y件。这直接D了盗版的泛滥Q盗版金额达C亿美元。话又说回来Q大多数商业软g的标价都大大过了发展中国家人民的承受力。D例来_一个典型的操作pȝ软g臛_标h(hun)$100。在一个年人均收入只有$200-$300的国Ӟq?100是个巨额数字?

Linux和其它开源Y件的崛vd改变了这一切。在适当的羃减之后,Linux可以在硬仉|极低的计算Zq行。这使得Linux成ؓIh的理想选择。在发达国家已经成ؓ历史的老旧机器Q比?86/Pentium 1计算机,在发展中国家q在被用着。Linux使得q些老旧机器l箋发挥作用。由于在I国Q高昂的软gh是个大问题,所以开源Y件得Cq泛的传播。在亚非拉,Linux成了q大计算机爱好者们的选择。在世界的各个角落,Linux被本地化。这标志着它真正走向了全球。Linux的相x件被译成了各种语言Q包括很多冷门的语言Q比如,南语?


从桌面系l到计算?

Linus Torvalds当初开发LinuxQ只是出于一个黑客的爱好。自从Linuxq行在了一个破386机器以后Q到现在Q它已经走过了一条很长的路。今天,它最令h瞩目的应用领域是大规模ƈ行计集?

2001q?月,BBC报道_国政府正在计划一个超大规模计机。这个超U计机能够进行每U?3百亿亿(13 trillionQ次计算Q?3.6 TeraFLOPSQ。这一目被命名ؓ“Teragrid”,是一个由四个国计算中心l成的网l。这四个计算中心是:

  1. National Center for Supercomputing Applications at the University of Illinois(NCSA)
  2. San Diego Supercomputer Center (SDSC) at the University of California
  3. Argonne National Laboratory in Chicago
  4. California Institute of Technology in Pasadena
在每个计中心都有一个Linux计算机集。在Teragrid|中Qd会有超q?000个处理器q行q行q算?


道\在g?

Linux从一个黑客的个h目发展C个遍布全球的操作pȝQ这一历程p一ơ生物的q化。八十年代早期,Richard Stallman发v了GNU目Qؓ开源Y件的发展奠定了基。Andrew Tanenbaum教授开发的MINIXpȝQ把操作pȝ的学习研I从单纯的理论教学带入了实践阶段。最l,Linus Torvalds用他q求完美的无热情催生了Linux。在q去的几q中Q开源社区成千上万的Z不断地呵护滋ȝ它,谱写了计机革命史册的光辉一c今天,Linux不再是一个学生黑客的目Q它成了一个世界范围的奇迹。在开源运动的_感召下,IBMq样的大公司和千百万热情的h们都加入了进来。在计算U学的历史上Q它?yu)是人类最辉煌的成׃一?


IK色燕服的小家伙QLinux吉祥?

Linux的标志是一只小企鹅。不象其它商业操作系l,Linux没有采用一个o然v敬的徽标。这个穿着黑色燕尾服的家伙充分表达了自由软gq动无忧、无虑、无畏的态度。这个可q徽标诞生于一个有的故事。据Linus_Linux最初ƈ没有徽标。一ơ,Linusd半球某地度假Q碰C一只企鹅。它长得q不象现在的Linux徽标。Linus惛_亲近q小家伙。结果,企鹅在他手掌上重重地拍了一膀。这ơ有的l历D了后来Linux徽标的诞生?


下面是一些Linus的名a?

Dijkstra八成讨厌?
(Linus Torvalds, in kernel/sched.c)

“我怎么知道它{不{Q这是beta试该做的事情。我只管~码。?
QLinus Torvalds的个性写照。摘自某个帖子)

“我真白?..臛_q个bug׃我五分钟才找?..?
QLinus Torvalds l一个bug报告的回应)

“如果你惛_怸界,惌邀请去到处演讲Q那写个Unix操作pȝ吧。?
(By Linus Torvalds)

>> Linux除了有一个酷名字以外Q谁能说说ؓ什么我该用Linux而不是BSDQ?
> 不,q就够了Q有个酷名字够了。在取名斚wQ我们花了老大的力气,希望它的名字能引起大家的兴趣。这招挺有效Q数以千计的Z选择了LinuxQ就是ؓ了说Q“OS/2Q哈。我有Linux。多L名字。?86BSD的名字里有太多数目字和奇怪的~写Q太p|了。听h太技术化Q把人都吓跑了?
(摘自Linus Torvald的一个关于Linux的跟?

> 有朝一日,大家觉得有h能把Linux搞得更好的时候(自由软g基金会就是个选择Q,我就“退位”。我觉得q还不是我们现在该操心的事情Q至在可见的将来还不会发生。我喜欢搞LinuxQ尽工作量不小。而且我还没听到有人报怨我Q也听C很小声的提醒Q都是关于我忘了或者忽略了某个补丁。至今也没有什么真正的负面反映Q?

> 别误会,我上面这些话q不是说一旦有人报怨我Q我撂挑子不干了。我皮很厚(Lasu正在我背后偷看我写这些东西,他说“更切地说该是‘脸皮’很厚”)Q厚得以接受些隑֐的话。如果不是这P早在听到astQ译注:Andrew S. TanenbaumQ嘲W我模仿、复制minix的时候,我就停止开发了。我只是惌Q?Linux到现在一直是我的宝贝儿,如果有hx它搞得更好,我不会死׃放、舍不得撒手的?
Linus

> 嘿,也许我该到教皇那儿申请个圣徒的头衔。谁知道教皇的emailQ很高兴我让你恶心了?
Q摘自Linusl某位ؓLinux未来表示担忧的h的回复)

当你向h炫耀“我写了个能搞死Windows的程序”的时候,大家会木然地盯着你说“呵Q我Linuxpȝ里有得是q类E序Q而且q系l不花钱”?
(By Linus Torvalds)


q谱

日期 事g
1984q??/FONT> Richard Stallman从MIT辞职Q开始了他的GNU目?/FONT>
1985q某?/FONT> Richard Stallman成立了自pY件基金会?/FONT>
1985q??/FONT> Richard Stallman在Dr. Dobb's杂志上发表了《GNU宣言》。在宣言中,他陈qC自由软gq动的v因?/FONT>
1991q??5?/FONT> Linus在Usenet新闻l上公开了关于Linux的构惟?/FONT>
1991q??/FONT> Linux 0.01版在|上发布?/FONT>
1992q??/FONT> W一个Linux新闻l诞生:alt.os.linux?/FONT>
1992q??/FONT> Ari Lemmke在Usenet上创立了q受Ƣ迎的comp.os.linux新闻l?/FONT>
1992q?1?/FONT> Adam Richter宣布他的公司推出了第一个Linux发行版: Yggdrasil?/FONT>
1993q??/FONT> Peter Volkerding推出了著名的Linux发行版:Slackware?/FONT>
1993q??/FONT> Matt Walsh推出《Linux安装与入门:W一版》?/FONT>
1994q??/FONT> Linux内核1.0版问世?/FONT>


参考链?

下面是一些关于Linux历史的参考链接,也许对你有帮助?

www.linux.orgQ?/FONT>
一个回{Linux相关问题的网站?
www.cs.helsinki.fi/u/~torvaldsQ?/FONT>
Linus Torvalds的个人网站。上面有一些关于Linus一家的照片和趣事?
www.slashdot.orgQ?/FONT>
一个专门针对geeks和技术痴q的|站。上面有很多关于Linux和其它自由技术的信息?
http://en.wikipedia.org/wiki/LinuxQ?/FONT>
Wikipedia上关于Linux的文章?
http://en.wikipedia.org/wiki/GNUQ?/FONT>
Wikipedia上关于GNU目的文章?


鸣谢与版权声?

历史通常是枯燥乏味的Q但计算U学?Linux的历史却是相当有的。这文章中的大多数信息都取自互联网。它的很多灵感来源于在孟加拉Linux用户׃部中的交。谢谢大家?

本文涉及的所有资料的版权属于资料的原作者。所有的商标都属于它们的公司?Microsoft和Windows是微软公司的注册商标?

本文的版权属于Ragib HasanQ?991+Q,作者保留所有版权。但不必担心Q本文的M部分都可以随意复Ӟ前提是事先征得作者的同意。很单,只要l他发个emailp了,不收钱。欢q大力弘扬自pY件运动的_?

如有M和更正,误p:

Ragib Hasan  
Department of Computer Science  
University of Illinois at Urbana-Champaign,  
Urbana, IL 61801  
United States  
?sh)子邮gQragibhasan aaaaht gmail daaawt com (你明白我的意?;-)  
本文可以从下列网址获得Q? 中文PDF版可以从q里获得?BR>中文TeX源文件可以从q里获得?BR>关于中文译的Q何意见和问题Q欢q与?/FONT>联系?

About this document ...

Linux?/FONT>

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -split 0 History_of_Linux.tex

The translation was initiated by WANG Xiaolin on 2006-01-15

WANG Xiaolin 2006-01-15


力力力 2006-01-16 23:24 发表评论
]]>
Firefox 扩展插g?/title><link>http://www.tkk7.com/faintbear/archive/2006/01/11/27641.html</link><dc:creator>力力力</dc:creator><author>力力力</author><pubDate>Wed, 11 Jan 2006 13:32:00 GMT</pubDate><guid>http://www.tkk7.com/faintbear/archive/2006/01/11/27641.html</guid><wfw:comment>http://www.tkk7.com/faintbear/comments/27641.html</wfw:comment><comments>http://www.tkk7.com/faintbear/archive/2006/01/11/27641.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/faintbear/comments/commentRss/27641.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/faintbear/services/trackbacks/27641.html</trackback:ping><description><![CDATA[<div class="mkqauog" id=mainContent> <H2><FONT size=2><A >http://mozillaupdate.mozine.org/</A></FONT></H2> <H2><FONT size=2>Firefox 扩展</FONT></H2> <P class=first><FONT size=2>扩展是一些小巧的附加软gQ它们ؓ(zhn)的 Firefox E序增添新的功能。从d工具栏按钮到赋予览器全新的Ҏ(gu),扩展几乎无所不能。它们允许用戯由定制自己所需要的功能Q与此同Ӟ又保持了 Firefox y的体U以便于下蝲?/FONT></P><A ></A> <H2><A title="最热门?Firefox 扩展" ><FONT size=2>最热门?Firefox 扩展</FONT></A></H2> <P class=first><FONT size=2>至上周ؓ止下载量最高的扩展?/FONT></P> <OL> <LI><A ><STRONG><FONT size=2>Adblock plus</FONT></STRONG></A><FONT size=2>Q?.8 星,1248 ơ下载)<BR>可以qo|页q告Q是 Adblock 的增强版。增加了白名单和qo规则同步功能?/FONT> <LI><A ><STRONG><FONT size=2>Tab Mix Plus</FONT></STRONG></A><FONT size=2>Q?.4 星,1164 ơ下载)<BR>增强标签|览功能的扩展?BR>Tab Mix Plus 是原来的 Tab Mix 的一个增强版本。同 Tab Mix 一P它提高了 Firefox 的标{浏览能力。它包含了诸如复制标{,控制标签焦点Q撤销关闭标签和其他的一些功能。但是,它提供了更多的像标签点击选项{功能。有一点和TM不一P它兼容MAC?BR></FONT> <LI><A ><STRONG><FONT size=2>IE Tab</FONT></STRONG></A><FONT size=2>Q?.5 星,1155 ơ下载)<BR>让你直接?Firefox 的标{N中以内嵌?IE 引擎览 IE Only |页?/FONT> <LI><A ><STRONG><FONT size=2>FlashGot</FONT></STRONG></A><FONT size=2>Q?.5 星,1128 ơ下载)<BR>允许 Firefox、Mozilla Suite、Netscape ?Thunderbird 使用大多数流行的外部下蝲理器处理单一的和全部("全部" ?"选择")下蝲Q支?Windows, Mac OS X, Linux ?FreeBSD pȝ?/FONT> <LI><A ><STRONG><FONT size=2>Super DragAndGo</FONT></STRONG></A><FONT size=2>Q? 星,795 ơ下载)<BR>拖拽链接到网늚LI白位置可以在新标{N中打开此链接?BR>* 把链接、文本链接、图片或者书{ַh里的书签快捷链接拖拽到网늚LI白位置可以在新标{N打开它们?BR>* 拖拽词语到网内容区域中的Q意位|,则用预讄搜烦引擎搜烦此词语?BR>* 拖拽囄CQ意位|则开始下载此囄?/FONT> <LI><A ><STRONG><FONT size=2>Fasterfox</FONT></STRONG></A><FONT size=2>Q?.8 星,675 ơ下载)<BR>Firefox 性能和网l优化?BR></FONT> <LI><A ><STRONG><FONT size=2>MediaPlayerConnectivity</FONT></STRONG></A><FONT size=2>Q? 星,568 ơ下载)<BR>使?zhn)轻轻一按就可用外部媒体播放E序播放|页内嵌视频?BR>* 用一个简z的按钮替换视频?BR>* 适合播放 Real 媒体, QuickTime, WindowsMedia 视频? 播放清单, Flash, 背景音乐, Nullsoft 视频, Shockwave {等各种格式媒体文g?BR>* 允许使用M播放器?BR>* 支持媒体元文?(?MetafileQ包?ram, rpm, wmv, wm, wma, asx, asf, ...)<BR>* 自动播放: 初次到媒体时自动启动播放E序?BR>* 播放: 如果存在媒体元文?(昄?”图?QMPC 会用元文g自动搜烦q择最x源播放?BR></FONT> <LI><A ><STRONG><FONT size=2>Gmail Space</FONT></STRONG></A><FONT size=2>Q?.9 星,441 ơ下载)<BR>q个扩展允许你用你?Gmail I间保存文g。它可作Z个远E控制器Q你能从硬盘和 Gmail 之间q行文g传送。这个扩展类?Windows q_下的“Gmail Drive”程序。有了它以后Q你?gmail 帐户变得象 FTP 服务器一P使你可以上传和下载你的文件。扩展安装后Q会在“工具”菜单里d一个“GSasce”选项卡,点击它会打开一个文件夹/文g的传送窗口?BR></FONT> <LI><A ><STRONG><FONT size=2>Sage</FONT></STRONG></A><FONT size=2>Q? 星,436 ơ下载)<BR>sage ?Firefox 的一个灵巧的 RSS ?Atom feed 聚合扩展?/FONT> <LI><A ><STRONG><FONT size=2>Forecastfox</FONT></STRONG></A><FONT size=2>Q?.3 星,401 ơ下载)<BR>?AccuWeather.com 获取世界各地天气预报Qƈ且可以定制显C在工具栏或状态栏?BR></FONT></LI></OL><A ><FONT size=2></FONT></A> <H2><A title="最q更新的 Firefox 扩展" ><FONT size=2>最q更新的 Firefox 扩展</FONT></A></H2> <P class=first><FONT size=2>最新加入和更新的扩展。?zhn)可以订?</FONT><A ><FONT size=2>我们?RSS feed</FONT></A><FONT size=2> 来及时获得扩展的更新资讯?/FONT></P> <OL> <LI><A ><STRONG><FONT size=2>Nightly Tester Tools 0.7.9.11</FONT></STRONG></A><FONT size=2>Q?006q??0?BR>Nightly Tester Tools 为经常测试用每天更新版 Firefox、Thunderbird ?Mozilla 套g的用h供一些额外的实用功能?BR>* 允许(zhn)安装与应用E序不兼容的扩展 (此功能仍在测试中)?BR>* 允许(zhn)强制应用程序启用与当前版本不兼容的扩展?此功能只在最q的 Firefox ?Thunderbird, 或?20/08/2005 以后?branch ?trunk 版本中工??BR>* 在帮助菜单中增加复制和插?Build ID 的选项?BR>* 在工h增加在当前文本框插入 Build ID 的按?(不支?Mozilla 套g)?BR>* 提供启动质量反馈代理 (talkback) 的快h式?BR>* 允许你定制包?Build ID {信息的应用E序标题栏?/FONT> <LI><A ><STRONG><FONT size=2>Organize Status Bar 0.3</FONT></STRONG></A><FONT size=2>Q?006q??0?BR>q个扩展允怽l织你的状态栏图标。你现在可以重新排列或移?Firefox 状态栏中的M一图标或文字?BR>如果你的状态栏非常满或比较乱,那么试试q个扩展吧?/FONT> <LI><A ><STRONG><FONT size=2>InFormEnter 0.4.1</FONT></STRONG></A><FONT size=2>Q?006q??0?BR>以半自动模式填写表单的助手?BR>q个扩展在一个网表单的每个输入栏加入一个能够点ȝ图标,你能从这里选择条目插入——不需要键入。你能通过菜单讑֮Q它显CZl常用到的信息,例如名字、email、地址{等?BR></FONT> <LI><A ><STRONG><FONT size=2>Bloglines Toolkit 1.6.2</FONT></STRONG></A><FONT size=2>Q?006q??0?BR>?Bloglines 用户有用的扩展,能够及时提示未读信息Qƈ且可以方便快捷地订阅 Blog?/FONT> <LI><A ><STRONG><FONT size=2>Adblock Filterset.G Updater 0.2.7</FONT></STRONG></A><FONT size=2>Q?006q??0?BR>q个扩展?Adblock 的一个伴侣,能直接找到ƈ使用?Adblock 上。这个扩展每??天,能自动地?Fileterset.G 下蝲最新的规则。Filterset.G 是一个由 G q行l护的杰出的qo规则讄Q能配合 Adblock 以屏?Internet 上几乎所有的q告?BR>此外Q这个扩展同样允怽自定义你的过滤规则,?Filterset.G 更新时你也能q同更新一h加。若是报告没有的q告Q或是扩展的问题Q请览论坛Qhttp://forum.pierceive.com/ </FONT> <LI><A ><STRONG><FONT size=2>All-In-One Sidebar 0.6.3</FONT></STRONG></A><FONT size=2>Q?006q??0?BR>AIOS(All-In-One Sidebar) 使?zhn)在侧?gu)中就可以快速切换书{、下载项和扩展等面板Q或者在侧边栏登陆网站、查看源代码Q另外,AIOS q拥有侧栏切换柄和工hQ单L览器一侧的Hv边缘Q即可打开/关闭 AIOS。所有这些都允许用户自由定制。AIOS 支持众多扩展Q包括Translation Panel, ScrapBook, Sage, Enhanced History Manager, Advanced Search Sidebar, QuickNote {等?BR><BR>注意! 在安?AIOS 新版本前一定要先卸?0.5.5 以前的版? 否则损坏配|文? 请千万小心,不要在旧版上自动更新升。如果忘记卸载而导致配|文件损坏,(zhn)在作者主上可以扑ֈ补救Ҏ(gu)?BR>补救Ҏ(gu): http://firefox.exxile.net/aios/knownissues.php#destroyedprofile<BR></FONT> <LI><A ><STRONG><FONT size=2>Organize Status Bar 0.2.1</FONT></STRONG></A><FONT size=2>Q?006q???BR>q个扩展允怽l织你的状态栏图标。你现在可以重新排列或移?Firefox 状态栏中的M一图标或文字?BR>如果你的状态栏非常满或比较乱,那么试试q个扩展吧?/FONT> <LI><A ><STRONG><FONT size=2>Clear Cache Button 0.2</FONT></STRONG></A><FONT size=2>Q?006q???BR>增加一个清?cache 工具栏按钮?BR>安装q个扩展之后Q你能在定制工具栏面板找C个清?cache 按钮?BR></FONT> <LI><A ><STRONG><FONT size=2>Quick Locale Switcher 1.27</FONT></STRONG></A><FONT size=2>Q?006q???BR>允许(zhn)快捷地从工兯单更改和使用不同?general.useragent.locale 参数选择?BR><BR>特点Q?BR>* 对于所有开?译人员来说Q是一个能让?zhn)很快地看到(zhn)所做的改动的便利工兗?BR>* 可以增加 3 个?zhn)自定义?localesQ本地化语言Q?BR>* 可以选择在菜单上昄哪些 localesQ本地化语言Q?BR>* ?Firefox 1.4 以上版本里,有自动重启的功能?BR></FONT> <LI><A ><STRONG><FONT size=2>Organize Status Bar 0.2</FONT></STRONG></A><FONT size=2>Q?006q???BR>q个扩展允怽l织你的状态栏图标。你现在可以重新排列或移?Firefox 状态栏中的M一图标或文字?BR>如果你的状态栏非常满或比较乱,那么试试q个扩展吧?/FONT></LI></OL></DIV><img src ="http://www.tkk7.com/faintbear/aggbug/27641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/faintbear/" target="_blank">力力力</a> 2006-01-11 21:32 <a href="http://www.tkk7.com/faintbear/archive/2006/01/11/27641.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大学十年Q一个程序员的\E)Q林锐博士)?----9?/title><link>http://www.tkk7.com/faintbear/archive/2005/09/09/12515.html</link><dc:creator>力力力</dc:creator><author>力力力</author><pubDate>Fri, 09 Sep 2005 03:08:00 GMT</pubDate><guid>http://www.tkk7.com/faintbear/archive/2005/09/09/12515.html</guid><wfw:comment>http://www.tkk7.com/faintbear/comments/12515.html</wfw:comment><comments>http://www.tkk7.com/faintbear/archive/2005/09/09/12515.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/faintbear/comments/commentRss/12515.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/faintbear/services/trackbacks/12515.html</trackback:ping><description><![CDATA[<P align=center><FONT color=#ff0000 size=3><FONT color=#666666>我要对年ȝ朋友们说两句之言Q?BR><BR>  一、主动去创造环境,否则你无法设计h生?BR><BR>  二、生zd工作要充满激情,否则你无法体会到淋漓致的欢乐与痛苦?/FONT><FONT color=#000000> </FONT></FONT></P> <P align=left><FONT color=#666666>  </FONT> <P align=left><FONT color=#666666>写此文我很为难Q一是担心读者误以ؓ我轻得现在开始写自传Q二是担心朋友们误以为我得了l症而早早留下遗作?/FONT> <P align=left><FONT color=#666666><BR>  不论是落俗套q是不落俗套地评P我在大学十年里都是出cL萃的好学生。ƈ且一直以来我Ҏ(gu)友们和一些低q的学生们都有很大的正面媄响。这十年是一个从q稚到成熟的q程Q交l着聪明与蠢W、勤奋与懒散、狂热与怯懦、成功与p|。做对了的事可树立ؓ榜样Q做错的事可挂作钟。我写下l历与感受,期望以此引导和勉励无数比我年ȝ学生们。我资历浅Q既没有哲学家的深遂Q也没有诗h的风华,不以堂皇地育hQ只能讲一些故事以表心ѝ?/FONT> <P align=right><FONT color=#666666>----林锐Q?999q岁?/FONT> <P align=right> </P> <P align=center><FONT color=#ff0000 size=3><STRONG>大学十年Q一个程序员的\E)(一)</STRONG></FONT></P> <P>林锐Q?999q岁?/P> <P align=left>   <BR>  写此文我很为难Q一是担心读者误以ؓ我轻得现在开始写自传Q二是担心朋友们误以为我得了l症而早早留下遗作? <P align=left><BR>  不论是落俗套q是不落俗套地评P我在大学十年里都是出cL萃的好学生。ƈ且一直以来我Ҏ(gu)友们和一些低q的学生们都有很大的正面媄响。这十年是一个从q稚到成熟的q程Q交l着聪明与蠢W、勤奋与懒散、狂热与怯懦、成功与p|。做对了的事可树立ؓ榜样Q做错的事可挂作钟。我写下l历与感受,期望以此引导和勉励无数比我年ȝ学生们。我资历浅Q既没有哲学家的深遂Q也没有诗h的风华,不以堂皇地育hQ只能讲一些故事以表心ѝ?BR>  <BR>  我出生在1973q的春节Q属牛,?牛头"。父母ؓ我v了很好听的名字叫"林锐"。这一切暗C着上天Ҏ(gu)别有用心Q将降大M我,可是q时候上帝去了一厕所。天堂与人间的时差如此之大,在上帝大小便的几分钟内Q我h؜沌沌地度q了童年和少q_天才因此成ؓ凡h?BR> <P align=left> <P align=left>  我小时候生长在江黄岩的偏d区。父母都是中学教师,׃山区师资~ZQ父母经常要从一个山头调到另一个山头教学。我换读q的学的数目比我的q龄q大Q没有伙_也没有家的概c我pzd货郎担里的小鸡,~成一团,在高兴或恐惧时至??"?地叫几声。我在读学与初中的8q里Q既不聪明活|也不调皮捣蛋Q确切地说象块木_直是我名字的反义词。在学习上我没有受过一ơ表扬,也没有Q何值得留念的h或事。无论我现在多么努力都已无法q回失去?q金色年华,好心痛! <P align=left><BR> <P align=left>  我草草地q且E里糊涂地?3岁时从初中毕业,无处可去。这下我发慌了,开始望学习。我灰溜溜地d山区Q可怜巴巴地C个比较好的乡下中学重d三。我勤快得早?:30pv来读pQ脑袋似乎也被吓开H了Q?数理?学得很好Qƈ且生q第一ơ在物理考试中得了满分。当我再一ơ从初中毕业Ӟ我以全校W一的成l考入了黄岩中学读高中? <P align=left><BR> <P align=left>  黄岩中学分农村班与城市班Q我当然是农民阶U?阶区别与歧?Ҏ(gu)是相当有促进作用的。我qQ了几q的卫生委员Q星期六和星期天同学们习惯地把活留给我,我这官当得有滋有味。《物理》学得极好,有一U直觉帮我快速准地解题Q常常是老师刚把题目写完我就报出{案来。上物理课时我没法讲废话Q因为我一开口就是标准答案? <P align=left><BR>  可惜我的文科成W极差。那时期盛传"学好数理化,走遍天下都不?Q我们年不懂事Q糟t了学文U的好时光。我写作文的最高目标就是不逃题Q考试前我L反复祷Q我没干q坏事,保佑我作文不逃题吧!历史考试时填?任课老师某年某月某日在我家乡英勇׃"Q比谁的成W更接q零分。更让我沮的是Q这些行径都不是我发明的Q我多是个跟屁虫而已Q一点回忆时的自豪感都没有? <P align=left><BR>  我现在认为文U教育实质是素质教育Q如果素质不高,男孩再聪明也难以成大器,当然也难以吸引好奛_? <P align=left><BR>  高考时我语文得?4分(是班里的中上水^Q,d只比重点UK十几分。我不敢报考好地方Q只好选择内地。选来选去只觉得西安与成都两个城市q不错,我拿把尺子在地图上一量,发现我家乡离西安的直U距较短,于是选了西安。老师们只听说q西安交通大学比较有名气Q但谁也不了解。我以ؓ在西安交通大学是学习开火R、开轮船的,管我也很望能开车开船,但考虑到自qw材单小Q就忍痛割爱了。我觉得西安?sh)子U技大学的名字很好听Q符合我做科学家的梦惻I于是报考西安电(sh)子科技大学Q以下简U西?sh))技术物理系? <P align=left><BR>  上帝_拌擞C厕所回来Q发现我已经上大学。也总原先是把我安排在清华或者北大的Q但事已xQ干脆也撒手不了。他q一h反而是好事Q我在读大学的十q中自由发展Q成了卓而不的学生?/P> <P align=left>    刚进西电(sh)Q首先吸引我的是麻雀和馍。那麻雀滚圆滚圆的,直是会飞的肉式V它们不怕hQ成堆聚集吵闹,常让我误以ؓ是没有教ȝ一鸡。那馍又白又大,既不攄也不攄Q既不象馒头也不象包子。馍凉了后贼,据说有同学被g扔下的半块馍怸脑袋Q当场长Z?肉包?。最好笑的是Z?馍夹?叫成"肉夹?Q那东西实在好吃? <P align=left><BR>  西电(sh)原是军校Q作风严谨,校园q不华丽Q生zL些单调。尽我来自山清水秀的地方,可我的确喜欢西电(sh)的粗犷与憨厚。有一天我看到一个新生写的很肉麻的赞西늚大字报,有一句是"我踏上了东去的列?Q我不禁W掉牙。这一W意味着"大个子欺负小个子"历史的结束,"个子欺负大个子"新纪元的开始? <P align=left><BR>  上大学的W一个学期刚好碰上美国打伊拉克("沙漠风暴"行动Q。那时全国都在谈?sh)子战,我们全校都是研究电(sh)子的,而且以军事应用ؓ丅R在那种气氛里,同学们都有很强的使命感,q且被鼓动得信心十? <P align=left><BR>  一日,pM任视察早读,偏偏有同学迟到。系MQ喝问Q?你ؓ什么迟CQ? <P align=left><BR>   "因ؓ我来q了Q?同学毫不含糊地回{,昂然入? <P align=left><BR>  我在班里q龄最个子也,上课时就象猩猩堆里的猴子那么昄。由于我们是物理pd生,W一学期的《普通物理》课E就昑־非常重要。系副主ȝ我们上课Q他长得象叶利钦Q口若?zhn)治I板书极快。象在高中上物理NP我常?叶利?刚写完题目时报出答案。开头几ơ,"叶利?满脸疑狐地扫视我们,好像是要抓住拔掉他自行R气门芯的那个捣蛋鬹{后来他在第一排发C我,我俩乐得裂了嘴。课间候息Ӟ"叶利?常坐在我旁边Q乘他给同学们答疑时Q我qW拔弄他大无比的手指,在他指甲上涂点什么? <P align=left><BR>  在第一学年Q我pp丛中的野花那栯颖而出Q倍受老师和同学们的关怀。就在我光荣到感觉屁股都能熾攑օ彩的时候,发现了o我胆战心惊的学习~陷--不会做实验。一q实验室Q我束手无{,n发抖。我怿大一的学生都有虚荣心Qؓ了维?最聪明"q个荣耀Q我完全可以掩盖、躲避甚臛_偷地弥补实验能力的不? <P align=left><BR>  我做了一件了不v的事Qؓ了对抗虚荣的引诱Q我夸张其辞地把"~陷"告诉每一个我认识的hQ让我没有机会欺骗自己? <P align=left><BR>  聪明的hq不见得都有智慧Q他可能~Z"真实"q种品质。虽然我是在士毕业的时候才立下誓言--"做真实、正直、优U的科技人员"Q但我在18岁的时候就已经做到?真实"Q我必定一生保持? <P align=left><BR>  W一q暑假回Ӟ得到一个惊喜:安竟然有了?sh)\实验室! <P align=left><BR>  因ؓ我常在信中鼓吹自己实验能力何{之差,"长此以往Q下场将极ؓ(zhn)惨"。父母经不vq种"恐吓"Q教p的父亲将半年的工资连?U有财"全部捐出Q每周到很远的商品交易市买电(sh)子元件以及器材,在家里徏立了实验室。父亲很威严Q我从小怕他Q但那个暑假我一点也不怕他。我们一起做实验Q都从零学vQ话不投机就用电(sh)烙铁"交流"Q完全是同事关系。后来,我的兴趣转向了计机Q家里的实验室就q亲独掌,l箋发扬光大。现在父亲修理电(sh)器的水^在家乡远q闻名,学生们都忘了他是p教师? <P align=left><BR>  母亲是数学教师,q轻时略有姿Ԍ智力q胜父亲。当她与他在山头的学校里盔RӞ他一热情洋溢的饭菜把她缴C。我时候家里很贫穷Q家p一条飘荡的船Q父亲划,母亲掌舵。当?岁上学时Q母亲就_"儿子啊,你将来只能靠W吃饭而不能靠锄头吃饭?时候,母亲怕我变狡诈而不允许我学下棋。尽我在大学里已经相当Q母亲来信M忘叮?h体全面发?。她常用独特的方式检查我Q? <P align=left><BR>  Q?Q看我是否变胖。如果我胖了Q表明我懒了。因为勤奋的人没有理由变胖? <P align=left><BR>  Q?Q看我说话是否还快。如果我说话慢条斯理Q表明我变笨了。因子灵zȝ人没有理p话不快? <P align=left><BR>  我读博士研究生时Q母亲的眉头才舒开。她l常在师生中发表自由a论:"儿子的智力与性格完全是我遗传的,他爸毫无半点功劳? <BR><BR><BR></P> <P align=center><STRONG><FONT color=#ff0000 size=3>大学十年Q一个程序员的\E)(?</FONT></STRONG></P> <P>林锐Q?999q岁?/P> <P align=left>   <BR>  W三学期的主要课E是?sh)\分析。电(sh)路题目常常很滑稽Q当你满头大汗地解完方程Ӟ{案往往是零。我归纳了不公式用于简化计,所以照栯在老师d?sh)\图时报出{案。学习是如此的轻松以致于我有太多的课余时间? <P align=left><BR>  在课余我常做两g有意思的事: <P align=left><BR>  Q?Q我为学习较差的十几名同学办了补习班Q给他们讲课Q改作业Q出考题。我p老母鸡那L护着一小鸡,使班ѝ学习委员等班干部Ş同虚设。我q样做既提高了自q表达能力Q又帮助了同学。这事不是老师叫我q的Q是我自qL? <P align=left><BR>  Q?Q我l常在宿舍里焊接?sh)子U\Q技艺渐_。我曾花了两天时_把磁带盒做成能发声、发光的_C物Q乐颠颠地送给一个女孩子。可惜不久后我迷上了计算机,从此再也没亲手做q好玩的东西? <P align=left><BR>  上大学以前我Ҏ(gu)没见q计机。在W四学期时我遇到了十q来最敬爱的老师周维真,从而对~程产生了强烈的兴趣。他教我们F(xin)ortran语言QFortran语言Ҏ(gu)没有影响Q媄响我的是周老师高尚的师德以及他在教学和U研中的敬业_。我从他那里学到的是怎样做hQ怎样做学问? <P align=left><BR>  很多计算机系老师改作业时喜欢??或打"×"了事。周老师不仅把作业里的错误都扑և来,而且逐一评注"好在哪里"?差在哪里"。ؓ了不让周老师q于劳篏Q全pd学有一个约定:上课时不准吵闹,否则别来Q作业必L楚,否则别交Q提的问题必L质量Q否则闭嘴? <P align=left><BR>  Fortran语言期末考试Q我的卷面成l是97分,有个奛_学考了99分。我当时官ؓ课代表,想不到被一个女生超q,甚ؓ沮。可是报到系里的成W单上Q我的成l是99分,那个奛_学是97分。我以ؓ周老师搞错了,跑去问他。周老师W笑_"你^时的学习表现Q该得满分。不能因试中的一个失误而打M的积极性,所以给你加Q分作ؓ鼓励。而她一上机束手无{,要让她知道考试成W高ƈ不表C已l学好了Q扣?分以C告。你本来是W一名?q时又跑来一??成W的同学,他得?9分,哀求周老师让他及格。周老师_"你的试卷我看了好几遍Q的的确是59分。而你qx的学习表C不会过59分。这一分不能加Q否则我会害你一生? <P align=left><BR>  在我q一U(90U)Q周老师臛_为技术物理系教出两名软g高手--我和马佩军。我和马佩军d士时已在Y件方面雄霸西?sh),计算机系学生毫无n之望。由于马佩军不好名利Q风头让我一人独得。我d西电(sh)数年后,余威在。可惜我和周老师相处不到一q_他便调到北京信息工程学院。然而师恩的厚薄不在于时间长短,好的老师会让人想c感Ȁ一辈子?BR>    </P> <P align=left>   <BR>  在上大学的前三个学期Q学习如同表演,有趣而且L。自从第四学期学习了计算E,我就有了新的q求Q我多么渴望拥有一台计机Q可以天天编E。如果挨一个巴掌能换取一分钟上机旉的话Q我愿意每天?440个巴掌。如果非得加上一个期限不可,我希望是一万年? <P align=left><BR>  我本U的专业是半g物理Q一二年U由p里负责教学Q三四年U由微电(sh)子所负责教学。在W四学期末,我央求系里把我推荐到微电(sh)子所参加U研Q贾新章教授"收留"了我。我t进微电(sh)子所的那一脚,让我从纯_学习{向了U研Q从"高分低能"转向?低分高能"? <P align=left><BR>  我终于有了一?86?sh)脑Q那个暑假我q在实验室里,时时d守着它,深夜里我一个h冲着它发W,一会儿盖上布,一会儿掀开布,一会儿摸摸它的"?Q一会儿理理它的"辨子"。我很快地完成了d--设计一?立方q算"的模拟电(sh)路,q且学会了C语言? <P align=left><BR>  西电(sh)有个好传l,每年冬季丑֊一ơ全校性的"星火?学生U技作品竞赛。每届都有六七百件作品展C,低年U的学生看后无不热血沸腾Q跃跃欲试。我很希望能独立开发一套YӞ参加本届"星火?竞赛。贾新章老师是研I成电(sh)路可靠性的Q见我如此热切,p我开?集成?sh)\可靠性分析Y?? <P align=left><BR>  我开始一边研I数值算法,一边设计Y件。从炎热?月䆾到发L十一月,几乎天天通宵~程Q程序很快增长到一万多行。在ȝ赛还剩一个月左右的时候,出现了大量的问题。不仅程序老是出错误,而且发现原先的算法ƈ不有效。此时已l没??我。贾老师不会~程Q不知道问题I竟出在E序上还是出在算法上Q实质上两者都有问题)。而那些懂软g开发的q青教师Q实在看不明白我的上万行E序是如何组l的。他们只能?zhn)伤地看着我挣扎。由于我l常逃课Q好学生变成了坏学生。系里意见极大,贾老师十分为难。不老师和同学劝我赶?攚w归正"Q放弃项目,不值得因小失大? <P align=left><BR>  当时我有个无法动摇的心念Q如果放弃一ơ,那么到下一个挫折时我就会l放弃;如果坚持而成功,那么到下一个挑战时我会Ȁp己再取成功? <P align=left><BR>  在压力面前,我依然坚挺。每当略有进展时Q心里一늋喜,但很快又会碰到新的困难,有时一坐就?0个小时。每天在喜?zhn)的颠C苦恼的深渊之间反复折腾。在竞赛前二天,我终于成功地完成了Y件研发,l果获得软g与论文两个二{奖。这个荣誉本w不值得一提,q且我付出很重的代h(hun)--对物理专业失d而彻底抛弃了它。但那时我才19岁,在极限状态下Q我练了意志,使我日后充满Ȁ情? <P align=left><BR>  在本U四qQ我认识了微?sh)子所的郝跃老师。他是数学博士,是微?sh)子所最有才华、最潇洒、最有领导风范的青年学者。我常去向他h数学问题Q他讲得意气风发Q我听得如痴如醉。我俩一个月?交流?很多士化一q时间也得不到。有一天,郝老师_"你做我的学生吧?我就毫不q疑C贾老师门下"x"到郝老师门下。郝老师后来是我的硕士生导师Q他高兴时喜Ƣ说Q?好,很好Q非常好Q?我看着他升教授Q升博导Q升副校长,师生两h分别在各自的阶层中名声显赫? <P align=left><BR>  在三四年U,我的专业评没有一门及D。但׃微电(sh)子所的老师们已l认可了我,把我的卷面成W作ؓ及格U,我对同学们的帮助莫大于此Q如果要我考研I生Q我l对考不上。系MQ安毓p得我来很有前途,于是不顾别h反对Q一锤定韌我免试读士研究生?BR><BR><BR><BR></P> <P align=center><FONT color=#ff0000 size=3><B>大学十年Q一个程序员的\E)(?</B></FONT></P> <P>林锐Q?999q岁?/P> <P align=left>   <BR>  ȝ士研I生后,我的U研条g相当好。导师十分开明,L自由发展。我最喜欢做的事是设计囑Ş用户界面和开发数据可视化软g。图形程序的最大魅力是即便它毫无用处,你也可以自我ƣ赏。L人担?花很多精力、物力让界面那么漂亮Q图形那么逼真是否值得Q?q种问题不能强求别h与你一致。我当时赞美奛_子的最高境界就是把她和我的囑ŞE序相提q论? <P align=left><BR>  我喜Ƣ设计用L面是因ؓ自己有相当好的美感。在LU时我模仿过六七个流行Y件的界面Q常常向同学演示、卖弄。觉得还不过瘾,写了一名?用户界面设计学"的短文。凡是\q我实验室的同学都被我逮住Q被q听完我得意之极的朗读,茫然者与痛苦者居多。不久我的朗M所向披p,d者逃之夭夭? <P align=left><BR>  我的研究工作基本上以集成?sh)\的数Dؓ主,数D生的一堆堆数据常把我搞得晕头{向。我发现用图形来表征、解释数据可以让自己不再qL下去Q那感觉p刚睡醒时冲凉水一栗我士学位论文中的软g是用图形来仿真集成?sh)\生q程?~陷"Ҏ(gu)品率的媄响。我q不是在看了学术论文后才开始研I可视化技术的Q我是在做了工作后才发现那些好玩的技术叫?可视?。由于我肚子里头的确有货Q在士一qQ我没有使用"剪刀"?糊"Q这是很多h写书的法宝)Q只化了三个月时间就写完W一本著作《微机科学可视化pȝ设计》? <P align=left><BR>  我在ȝ士期间的工作强度与本U时的相当,但工作方式有很大不同。我有了明确的目标:Q?Q开发自ȝ权的软g产品Q(2Q培d领导的才能。这个目标可以通过团队工作Q参加全国性大学生U技竞赛而实现? <P align=left><BR>  我在西电(sh)成立?可视创意软g组"Q马佩军、戴玉宏、马晓宇是我的主要技术伙_帮手很多Q有几个漂亮的女生负责宣传)。办公室里脓(chung)满了标语Q如"创造性的事业要靠Ȁ情来推动"Q?生于忧?zhn)Q死于安?Q?让春天消?。还有大q的"作战?Q倒计时牌。每个伙伴写了一?军o?攑֜机器上,我迄今还记录着那些U真、活泹{充满激情的文字。那是多么艰苦而幸的日子Q夜里放震x聋的音乐、咬G椒提,有伙伴篏得蹲在厕所里睡着了? <P align=left><BR>  ?994q和1995q的冬季Q我们的软g作品分别获中国大学生应用U技发明大奖赛二{奖和全国大学生"挑战?学术U技作品竞赛二等奖,在西北地区,我们?老大"。我成了西电(sh)学生的榜栗如果你是西?sh)学生,你可以不认识校领|有名字的人ƈ不见得就有名Q,但你不能不认识我Q否则你׃是个好学生。Ԓ慕我的学生有一大批Q我刚到大d士学位时Q收C个西?sh)计机pd生的信,他说Q?你走了,我呆在西甉|有意思,我准备考浙大的士Q你到哪里我p到哪里? <P align=left><BR>  在硕士毕业前Q我在鉴定表上这样写道:"我热q技事业Q如同热q命一栗近5q的U研工作带给我最充实的生z,也寄托着我美好的向往。可我同时也感到了痛苦,因ؓ5q来我耳闻目睹U研中太多的弄虚作假。我发誓Q做一名真实、正直、优U的科技人员Q以正n自勉?<BR>  </P> <P align=left>       我在西电(sh)度过了幸的6q半Q最让我牵肠挂肚的是"??友情"?爱情"? <P align=left><BR>  当我W一ơ吃U红的和青青的G椒时Q?感动"得满脸是泪,那滋呌我觉得前17q白zM。我在读士时已l能自力更生Q我开发的软g不仅竞赛获奖挣了名气Q而且q挣了钱Q卖了二十多份YӞq_每䆾?00元)。写书得E费7000元,那时我简直就是富。这些钱的小部分用来l女孩子买礼物,大部分用于和与哥儿们吃香的喝辣的? <P align=left><BR>  我相信自己已l尝遍了西安的小吃,q且发现了一个真理:最好吃的东襉K在地摊上Q最香的东西一定是辣的Q最辣的东西一定是香的。曾l难为水Q我在浙大的三年里很再吃G椒,因ؓ怕它沾污我心目中的G椒? <P align=left><BR>  在我时候,我爸很讨厌土豆,他竟然因此不让我吃土豆。我哪敢跟他论理Q于是忍啊忍Q一直忍到我上大?q走高飞"。如果说辣椒是我C的女朋友Q那么土豆就是我天生的命Q迄今尚未发现能让我不要命的食物Q。我在西늻常用늂Q从来都没被抓住q)?以土豆ؓ核心"的菜Q天长日久,朋友们干脆叫?土豆"? <P align=left><BR>  我吃饱土豆和辣椒后不免深思而感叹,是认认真真地吃,真的׃了多钱Q那些贪官究竟是怎么吃掉巨款的?我将来怎么吃得掉自己挣来的钱? <P align=left><BR>  我在M学与本科Ӟ满头白发Q脑袋可以当白帜灯用。当我硕士毕业再照镜子时Q吓了一跻I白头发不见了Q我不知道究竟是哪种食物L作用Q估计是辣椒Q。那些早生白发的伙子们Q你们就到西安上学吧?BR><BR><BR><BR></P> <P align=center><FONT color=#ff0000 size=3><B>大学十年Q一个程序员的\E)(?</B></FONT></P> <P>林锐Q?999q岁?/P> <P align=left>   <BR>  马佩军是我最早的朋友。刚入学时我们同住一个宿舍,他象国民党兵盘问良家妇女那样上下打量我,问:"喜欢q啥Q? <P align=left><BR>  我怯生生地回答Q?打乒乓球? <P align=left><BR>  他再问:"什么风根{? <P align=left><BR>  我答Q?快球? <P align=left><BR>  他突然象阎锡山那h笑Q拍拍我的肩膀_"好!我喜Ƣ,以后你就是我的朋友。我是陕西hQ农民,会开拖拉机和卡R。这里是我的Ӟ以后你有啥事Q就Ҏ(gu)׃声? <P align=left><BR>  马佩军和我打乒乓球时口中念念有词Q?|你对我狠Q我对你更狠Q你Ҏ(gu)好,我对你更好?他好几次说要把世上最好吃的板栗送给我一袋,q一袋板栗我到现在都没拿到? <P align=left><BR>  马佩军夜里极能侃Q吹他家乡的得快Q常把野兔追断气。有时他吹得太离谱,o我们6人群赯攻之。ؓ了把我们一举歼灭,他白天到图书馆查"资料"Q夜里再挑v事端。双方就象印度与巴基斯坦Q常q两个秃子争一把梳子的事? <P align=left><BR>  马佩军上大学前也没见q计机Q但他对计算机技术有极强的领(zhn)力。我们第一ơ上机时Q他把我拉到打印机旁边说Q?帮我防着机房的Q我要修理这台打印机"。还没等我反应过来,他就开?肢解"打印机。我无比深刻C会到Q歹徒在作案旉不害怕,最提心吊胆的就是那个放风的。他?分钟内修好了打印机,我佩服得五体投地Q甘愿下ơ再跟他q?坏事"? <P align=left><BR>  我一直认为马佩军是西늼E第一高手Q他~程的时候根本不是hQ是指针。之所以我的名气大Q一是因Z不好名利Q二是我把他的程序写上了我的名字Qƈ且卖了不钱Q? <P align=left><BR>  马佩军的x友是我介l的Q我一眼就看出她将嫁给他。后来俩人果真结婚了Q只是他嫁给了她。硕士毕业后Q马佩军留在西电(sh)d。前q我再见CӞ他说我害M了,快乐得要C我。我喜欢陕西人源于马佩军?/P> <P align=left>    宋Q儒是我们的班长,也是班里最早的预备党员Q满口仁义之道,比唐僧还让h受不了。在二年U时Q我q上一个比我大一岁有了男朋友的女同学Q多日沮丧。他看在眼里痛在心里Q跑L那女同学教育了一通。苏联解体的时候他十分沉痛Q在思想教育课上Q他向我们作了深ȝ讨,好象是他没有教好戈巴乔夫那小子。最后他为我们点燃了希望Q在不久的将来,"苏联"重新成联,׃M旗帜l在全世界飘扬? <P align=left><BR>  在本U三四年U,他对跌十分入迷Q连上厕所都滑而去。我那时常把自己兛_实验室里搞科研,极少有空与他玩乐Q等到本U毕业时Q猛地发C已经风度翩? <P align=left><BR>  宋Q儒的学习既不好也不差Q我们从来没有合作研I过什么。我喜欢他是因ؓ他很有情,不落俗套。也许,我俩本来是"敢爱而不?的同一cMh? <P align=left><BR>  本科毕业Ӟ他分到威工作,C前我Z饯行。可在硕士开学时Q我的房门被Z脚踢开Q他Ҏ(gu)喊了一?林子啊,我又回来?。我p林嫂见C被狼D的孩子? <P align=left><BR>  宋Q儒读士时被发配C?71所Q他在那里过上了乐不思蜀的日子。有一天,他带来两个文静的奛_子(一个读士Q一个读本科Q来串门。就在我z水果的几分钟里Q三个h已玩得乐M天,两个奛_满屋子追他,一会儿把他按到桌子上打Q一会按到床上打。我惊诧之极而又慕之极Q恨不得挨打的h是我。想不到上学竟然会有q等Ƣ乐Q看来我ȝ士的日子白过了? <P align=left><BR>  后来Q那个大一点的奛_子嫁l了他。当他带她去见公婆时Q公公长叹一壎ͼ"把儿子交l你Q我放心了?而婆婆已乐得合不拢嘴Q竟然无法叹气? <P align=left><BR>  现在Q宋d已从复旦大学获得博士学位Q比我更早地成家立业。他和她既是夫妻Q又象兄妹,q象伙伴。他叫她"聪聪"Q她叫他"W笨"? <P align=left><BR>  "聪聪"?W笨"Q?老公啊,人活着Z什么?" <P align=left><BR>  "W笨"{:"是让咱们每天快快乐乐? <P align=left><BR>  我迄今亲眼看到的q福莫过于此?BR><!--msnavigation--><BR><BR></P> <P align=center><FONT color=#ff0000 size=3><B>大学十年Q一个程序员的\E)(?</B></FONT></P> <P>林锐Q?999q岁?/P> <P align=left>   <BR>  我在大二时曾为系里学习最差的十几名同学办了补习班Q谢伟在q个补习班里名列倒数前茅。在他睡懒觉Ӟ我象催命鬼那样喊他捅他。他无比吃力地抬h重的眼皮Q就象Y弱无力的Nq动员,q没有挺hp下了? <P align=left><BR>  他开始呻吟:"q一ơ就饶了我吧Q下一ơ我一定一定会ȝQ求你了? <P align=left><BR>  我不肯? <P align=left><BR>  "那么让我再睡5分钟Q?他不d? <P align=left><BR>  我仍不同意? <P align=left><BR>  "那么你就?数到10Q要慢一点,"他讨仯仗? <P align=left><BR>  当我数到9Ӟ他就接着?.1,9.2, 9.3 …? <P align=left><BR>  一开始他觉得我很好玩Q后来他喜Ƣ得M开我了。ƈ不是因ؓ我学习好Q而是那时侯我天真q且充满zd。在三四q我忙于科研时Q他照顾我的生活Q叫?爷"Q既做管家又做兄ѝ我们不仅共用饭菜票Qƈ且共用仅有的一个碗QL他买饭菜和洗? <P align=left><BR>  我们那一U的学生大多崇拜巨h公司的创始h史玉柱,我问谢伟Q?我是不是和史玉柱一栯吃苦Q? <P align=left><BR>  他说Q?如果考虑q龄因素Q你已经比他更能吃苦。你来一定能做大事业Q我把希望寄托于你了? <P align=left><BR>  在我们都q不成熟的时候,我成了他心中的灯塔,只要灯不灭,希望在。现在他Z娶一个日本姑娘,披荆斩棘q到日本Q有了新的希望? <P align=left><BR>  二十几年来,我就Z个男人哭q,那时他本U毕业?BR>  <BR></P> <P align=left>      我读士研究生时Q由于受我的影响Q本pM四年U的学生蜂涌臛_?sh)子所参加U研。夜里看十二层高的科技大楼Q灯火通明、热闚w凡的那一层就是微?sh)子所。那Ӟ我在微电(sh)子所学生中的C仿佛(jng)伊拉克的萨达姆,手下兵将极多? <P align=left><BR>  我写W一本书Ӟ有几个h老向我着手等待输入稿子,p火R站行乞的人那样阴不散,使我没时间慢腾腾地打草稿。我p金庸写小_有如来之笔Q想到那里就写到那里Q写了一D他们马上输入一D,一气呵成。那本科技书写得很滑稽Q同学们看得W出眼泪Q编辑看了拍案叫l,只改了几个字出版了? <P align=left><BR>  那时侯我的心情是如此之好Qؓ一男同学ؕ蓬蓬的头发写了一散文,q他一把梳子。又把一奛_学的实验报告写成评书。我的文W大概就是这L出来的? <P align=left><BR>  q一学生中Q戴玉宏、史江一和马晓华是我最好的伙伴Q我们都属于牛)? <P align=left><BR>  戴玉宏其貌甚帅,眉中有一根白毛闪闪发光,因此L"白眉鹰王"?白眉鹰王"武功了得Q是我Y件品的核心开发h员,我们合作最深最久。后来我开公司Q他׃q州辞职到杭州ؓ我助威,令我感动不已Q可见读大学时期我们有多铁!戴玉宏有一ơ打饱嗝Q整整打了两天两夜,我差点心疼死? <P align=left><BR>  我尚未发q之日曾与戴玉宏在校园里卖花Q无人问z,p?sh)子工程pȝ鲁洁救助。鲁z温柔貌,她一a一W尤如春风吹拂苏堤的杨柳Qo人心里一荡再荡。顷刻间有L围观Q有人看花,有h?贵妃"Q鲁z一赎ͼ我和戴玉宏可怜得p两根蜡烛。鲁z读大学时调皮捣蛋,到四q时还不太会编E。她的本U毕业设计是仿真"雯跟踪飞行?Q程序基本上全是我编写的。我已记不v用了什么公式,只知道每ơ计后都弹Z个对话框"报告长官Q击中目?。鲁z毕业后到深圳的一家Y件公司工作,几年一q,Ҏ(gu)了行家。再与她交谈Ӟ我只有听的䆾Q象鸡琢c一L头? <P align=left><BR>  史江一和马晓华都是狭西人,和马佩军一样厚道热情。史江一性格E重Q属?你办事我攑ֿ"的那cMh。我对微?sh)子专业一H不通,全靠他帮我؜q实验这一兟뀂后来我开公司p|Q陷入经危机,把希望工程的一个小孩托l了他? <P align=left><BR>  马晓华是我最不放心的人。他常常为别人做事情Q但热情q头忘了自q事情。有几个不道L学生利用他的这个缺点,l常使唤他,q且借他的钱不还。马晓华喜欢为那些h"卖命"q且挨训Q他L在受虐待够了的时候再跟我们嘀咕,我们实在气不q,只好对着他的屁股q加一拳脚,q给他一个Ԓ?受虐?。但愿他找个好老婆Q我可以早日攑ֿ? <P align=left><BR>  我们q一小伙子同时喜欢上一个女孩子Q她叫姜姗,是她班里的四大美Z一。我们不仅没有争风吃醋,而且心甘情愿地让她坐遍每个h的脖子。姜姗小?岁时她爸姜晓鸿成了我的同事,我们l常一起去钓鱼Q亲得象一家h。姜姗喜Ƣ大喊大叫,声音高过帕瓦|蒂Q我们教唆她喊她?姜球?? <P align=left><BR>  我常带姜姗到炒摊去吃女孩子不敢吃的东西Qƈ哄她Q?世上最好吃的东西是鸡屁股? <P align=left><BR>  Ҏ(gu)师自通地加上一句:"世上最好听的屁是鸡攄屁? <P align=left><BR>  我常想着来生个儿子q把他培L天才Q但如果能有姜姗q样的女儿,不要儿子也Ş?BR><BR><BR></P> <P align=center><FONT color=#ff0000 size=3><B>大学十年Q一个程序员的\E)(?</B></FONT></P> <P>林锐Q?999q岁?/P> <P align=left>   <BR>  在本U三q我第一ơ参?星火?竞赛q获得Y件二{奖后,马上成ؓ低年U学生眼中的明星。我义务当上了一q学生的上导员。一天晚上我巡视机房Q一女生h帮助? <P align=left><BR>  我见屏幕上空白一片,Ҏ(gu)没有一行程序,十分疑惑地问Q?什么问题?" <P align=left><BR>  "没有问题?Ҏ(gu)书往我手上一塞说Q?q些作业你帮我做?然后p个子跟她的同学玩乐,把我撇在一边,g我辛辛苦苦地学习是Zl她做作业? <P align=left><BR>  我定对她细看,发觉她简直就是《射雕英雄传》里的黄蓉再世,时心就"H突H?直蟩。当天晚上我没睡着Q接下几天的课不知所云。在选修课《操作系l》考试Ӟ我给安写了一超短信Q请快寄钱来Q我谈恋׃。我交了白卷直奔她去? <P align=left><BR>  我的初恋只有两个月,却让我思念?q。她L而去时没有Q何理由,而我却失落。在我本U毕业前?8个月里,白天我狂热工作强作笑容,夜深人静时心痛如刀割而无法抑制。没有h为我"疗伤"Q我是硬ȝQ这一D늻历我日后心理承受能力极强。后来我开公司的失败虽然对信心有所打击Q但Ҏ(gu)无痛可言? <P align=left><BR>  我们分手后ƈ未成为陌生hQ就象两只刺猬,dq了有点留恋,dq了Q就刺着Ҏ(gu)。认识她时我虽然已略显才气,但ƈ不具备成熟男人的力Q很多事情我q不知道怎么L握。有?喜欢"q不能成??Q感情也许是永远研究不透的学问?BR>  <BR>  我读士研究生时有了一生机勃勃的朋友Q感情的伤痛被掩没了。朋友堆里夹着一位女生,Ҏ(gu)雅而富有气质。^日里无拘无束Q大伙戏U她是我的秘书。我的言行D止和I着都经q她的调教,俩h出双入对Q十分亲q,不知不觉有了感情。别人已l把我们当成恋hQ我和她늝姜姗散步时Q简直就象天堂里的一家h。她的温柔有时能让我失去所有斗志? <P align=left><BR>  可是我当时着q于事业Q认׃久将q一番惊天动地的事。鉴于史玉柱在创业时qq婚Q所以我认ؓ感情是事业的累赘Q两者不可得兹{? <P align=left><BR>  更糟p的是,我和W一个朋友耦断丝连Q偏偏她俩是同班同学。我知道脚踩两只Ҏ(gu)有好下场Q可我的的确同时喜Ƣ着两个人,q梦惛_俩能合二Z。我情愿被h指责Q也不愿掩饰真实的感觉。有时她俩一同走q,我站在\上丢了魂似的看着俩h的背影,d看热闹的人指指点炏V? <P align=left><BR>  我和W二个朋友已l有了很q感情Q她毕业后我曑֝火R千里送鲜q她,让她感动q。而我固执的性格和对初恋的思念l于让她心碎。尽我们已l几q没见,我依然看得见她留在我心里的那颗眼泪?BR></P> <P align=left>    我在西电(sh)六年半的学习和生zM许是一生中最珍贵的,叫我怎能不爱西电(sh)? <P align=left><BR>  两年前我回西?sh),惊奇地发现校园里房前屋后长满了待收割的小麦!q所大学是从事电(sh)子科技的,U小麦干啥呀Q? <P align=left><BR>  朱ȝ曾讲q:"目前国家_食充Q再来三q自然灾害也不怕?现在国泰民安Q似乎用不着"深挖z,q积_?吧。我素知西电(sh)提创勤P节约、自力更生,但与其种麦q不如种蔬菜呢? <P align=left><BR>  老同学告诉我Q种麦是ؓ了应?211"工程Qؓ21世纪选拔100所重点大学Q的查团Q因?211"工程有较高的l化指标。偏偏检查赶在冬天,那时的西北极N草。西甉|来就人多地少Q地上一长草马上׃被谈恋爱的学生给折磨歅R一到冬天,整个校园光U秃一片。用麦l化校园可谓千古l笔Q检查团的那些权贵h士早已五谷不分,岂知所见的"草坪"乃是麦田?BR>  <BR>  江大学依山而傍西湖Q是个美丽而高늚大学?997q春天,我就象干儿子那样挤进她的怀抱,q期望得到关爱。我C向往已久的计机辅助设计与图形学QCAD&CGQ国安点实验室d士学位。导师是x英教授,矌师虽然q过六旬Q但_֊充沛Q红光满面,施拉普纳不及他半分精? <P align=left><BR>  我幸地qL着大干一番自己喜q专业Qƈ计划?5岁左x为实验室MQ。开学的W一天,我兴冲冲地奔向实验室。进门不?分钟Q就因不懂规矩被看门的年青女子训了几ơ。ؓ了不再冒犯规矩,我就老老实实地抓v一份计机报纸q且站着阅读Q心惌下不得罪谁了吧! <P align=left><BR>  H然一个气得脸色铁青的男hQ机房管理员之一Q对我断喝:"你在q什么!你怎么可以不经允许q看别人的报纸Q?g我是他一生中见到的最无ȝ人? <P align=left><BR>  我就象一个情H初开的少q飘飘然地去拥抱梦中情hQ不料迎来两个耛_Q此下场比《猫和老鼠》中的猫q惨。如果这两个q轻人有q看到我q篇文章Q应该好好?zhn)q自斎ͼ她与他的工作态度打击q数十个学生的积极性。我本是因ؓ向往CAD&CG实验室而来的,得到的却是极坏的W一印象? <P align=left><BR>  不出几日Q我发现实验室里h们大多轻a寡语、小心翼{井水不犯河水。初到此实验室的北方同学极ؓqh地问我:"你们江人是不是都这个d性?我看你不太象嘛? <P align=left><BR>  也许你以为我以前的研I单位很土,刚到高贵的CAD&CG实验室,有点象刘姥姥那样无所适从Q甚x点自(zhn)Ӏ非也,西电(sh)微电(sh)子所的设备、h员超qCAD&CG实验室数倍,我在微电(sh)子所的办公室比CAD&CG实验室主ȝq好。比物质条g是没有Q何意思的Q学生望的是自由、欢乐的环境Q这h能激发他们的创造力。压抑的环境会把一个个本来充满zd的年d生变成一小老头Q他们只好套上硕大的眼镜以显C眼里的世界有多么ؓ? <P align=left><BR>  如果不允怸个男人在工作时Ԓ天大W,q样的地方不M|? <P align=left><BR>  我颇费周折地考入CAD&CG实验室,却尚未热w就全力而退Q决心自立门戗至今我都没有用实验室的计算机编q一行程序?BR><BR><BR></P> <P align=center><FONT color=#ff0000 size=3><B>大学十年Q一个程序员的\E)(?</B></FONT></P> <P>林锐Q?999q岁?/P> <P align=left>   <BR> <P align=left>  刚读博时我穷困R倒,只有一床,一盆,一Ӟ一。我那些Ih友们象挤牙膏一h一些钱资肋我。我C一台计机Q在宿舍里开发Y件?可视化Y件开发工?VA 4.0"?997q?月,我去北京参加首届中国大学生电(sh)脑大赛Y件展C,路费也是借的。同学ؓ我壮胆时_"如果不能获奖Q就回到实验室干zd? <P align=left><BR>  我说一定会拿第一名,不然d啥? <P align=left><BR>  在Y件展C时Q我们发现很多好的作品是国家的科研项目,Ҏ(gu)不是学生个h的作品,q背了竞赛的宗旨。如果允许这样做的话Q我应该q几条生产线q来。我写了一份抗议书Q找了十几个人签名(很多人感恨而不敢签Q。但抗议能顶屁用Q我参加q的U技竞赛、见q的U研鉴定多了Q哪一ơ我没看到虚假?我写抗议书是因ؓ眼里容不得沙子。如果我的专业是政治Q早坐牢去了? <P align=left><BR>  q次竞赛选出十个"软g明星"Q只有我的Y件和清华大学博士生的目值得一看。我不能否认他的目水^极高Q但那不是他个h的作品(评委甚至认识他的导师Q知道项目的来龙去脉Q。我的作品被评ؓW一Q他的项目被评ؓW二。组委会来拍?sh)视Q可是找不到江大学的展ѝ因为浙江大学没有Q何准备,我是一个h来的Q我的作品夹在杭늚作品之中Q没名没姓。我只好从塑料袋上剪?江大学"四个字,贴在展板上撑撑门面? <P align=left><BR>  自新中国成立以来Q清华大学就一直在江大学头上"作威作福"Q我好歹也争了一口气。可是颁奖时Q组委会竟按地方序从北京念P我落到W七Q差点咽气? <P align=left><BR>  我曾在上L一辆公共汽车上与一位北京来的旅客聊天,此公极健谈。似乎他Ch游的目的是Z发掘北京的优性。见我挂着江大学的红色校徽,且对清华、北大ƈ不神往Q不十分迷惑,问Q?江大学在东还是西?我要ȝ看? <P align=left><BR>  北京已经是极度优了Q那里的处长局长比我见q的土豆q多。就请不要把什么鸡皮蒜毛的好东襉K拿走Q给我们留点希望吧?BR></P> <P align=left>  1997q?1月,在穷得快挨饿的时候,我获得了中国大学生跨世纪发展基金特等奖(全国?0名,奖金1万元Q。在人民大会堂领奖时Q我以ؓ能碰到宋健等人物Q不料见到的却是政协的h手,不禁甚ؓ失望。给我们出钱的是一个靠资本q作发胦的集团,在宴会前Q该集团领导人和我们座谈Q他什么不好吹偏偏吹自己是个高U技企业Q?我们主要从事生物工程Q几q前掌握了克隆技术,英国?克隆?直是菜一。……我们在东北有个农场Q新品种的小麦长得比高,麦粒跟葡萄一样大Q你们不久都会喝到用q种麦酿的啤酒。……我如果ȝ国炒个ȝQ那p玩似得? <P align=left><BR>  我们几个获奖的博士生吃饱喝、拿了钱后,兌v门来把那个老板臭骂一通,扬长而归。别以ؓl钱p让我们说好话Q? <P align=left><BR>  刚拿?跨世U发展基?Q又马上获得"江省青年英才?Q浙江大学也l我发奖学金。比起那些一个月只有300元工资的博士生们Q我直是"暴富"。还了朋友们l我?救济?后,仍然是个"富翁"。我老是觉得手头的钱是抢劫来的,心里不踏实。于是找江大学校团?诉苦"Q请校团委把我的"不义之胦"捐给大的困学生。校团委的老师热情而坦诚,说愿意等我成为真正的富翁时再接受捐款Q现在不能让?杀鸡取?。但Z能让我表辑ֿ意,我资?希望工程"的中学生Q让我选了5个初一的学生,每个学生500元。我LQCq的帮助了5个中学生Q直?998q暑假我见到了其中的一个中学生Q才发现自己做的好事只不q杯水R薪而已。我是到了自p困失意时才真正去帮助那些孩子的?BR>  <BR>  ?997q_我在学生时期的荣誉已d造极Q觉得自q膀已经了Q不惛_混下厅R我M己是W二个史玉柱Q应该开个Y件公司来振兴民族软g产业。我曑ֈ东Y集团Q沈阻I参加"民族软g产业青年论坛"Q大不咧咧地作了一ơ演Ԍ现在发现演讲的内Ҏ(gu)有一Ҏ(gu)可以操作的)。杭州有一个记者来采访我,我谈了一天的理想Q记者还是没听明白,q脆自己写新L道,q且含蓄地做了一个广告:万事俱备Q只待投资? <P align=left><BR>  ׃我能说会道,频频上电(sh)视,引来q?0个投资者。我选择了一位年龄比我大一倍、非常精明的商h作合伙hQ成立了"杭州临境软g开发有限公?。彼Ӟ我可谓光芒四,名片上印着"以振兴民族Y件业ؓ已QQ做真实、正直、优U的科技人员?江大学惛_除我Q被?晓之以理、动之以?安抚住? <P align=left><BR>  我当时想开发一套名为Soft3D的图形系l,此系l下臛_发工P上至应用软gQ无所不包。公司名字v?临境"有两个含义:一是表Cn临其境,q是我对囑Ş技术的q求Q二是表C快C与SGI公司U兄道弟的境界,q是我对事业的追求?临境"q个名字我在LU时已l想好了Q?997q底公司成立的那一天,我有一U?媛_熬成?的?zhn)壮感觉? <P align=left><BR>  我从实验室挖来一位聪明绝的士生做技术伙伴。他叫周昆,q龄很小Q?978q出生)Q研I能力极强。如果按照浙江大学计机pd士生毕业的论文要求,他入学读士的那一天就可以博士毕业。周昆的头明显比我的大,估计其脑定w臛_是我1.5倍。我曄以师兄的w䆾Zz过一双袜子,他因此觉得我是个好h。我俩一拍即合,常常为Soft3D的设计方案自我們ր。一惛_Microsoft公司的二lWindowspȝ卛_被Soft3D打击得狼狈不堪时Q我们就乐不可支Q冲劲十? <P align=left><BR>  我已l把"振兴民族软g产业"列入日程Qƈ且提前担忧将来钱挣得太多用不完该怎么办?998q?月䆾Q我们做了一套既不是U研又不全象商品的Y件。Y件品宣传了几个月,q没有出现订单如潮、接应不暇的局面(事实上压根就没有反应Q。我意识到没有找对市场,但仍觉得产品中的一些技术很有h(hun)|它改装成其它Y件也许能开?东方不亮西方?的新局面? <P align=left><BR>  于是我向只有一面之~尚在北大方正工作的周`一求助。他是真正的软g高手Q当我小心翼地展示U?0万行C++代码的Y件时Q他竟在十几分钟内就指出多处重大的设计错误,使我目瞪口呆地意识到整个软gpȝ的h(hun)gؓ零。那U心痛啊Q就象眼睁睁看着孩子被狼吃掉一栗?BR>  ?998q?0月,我用光了30万元资金。周鸿一再一ơ从北京飞到杭州Q三下五除二替我把只zM一q的公司l关闭掉。他攑ֿ不下Q觉得我"恶病需用猛药补"Q于是意未地把我捉到北大Ҏ(gu)插在他管辖的部门Q让我学习怎样做事情? <P align=left><BR>  北京寒冷的冬天可以营造一U凄凉的气氛Q冲M切可以自我原谅的借口。我q不是太p荣的人,知道q次p|是我的毛病积累到一定水准忍不住喷发出来的结果。我l不能以q纪轻不太懂市Z理为理p率地敯q去? <P align=left><BR>  从北大方?x"了两个月回来Q我心服口服地承认失败了。我把察觉到的数十个毛病列出来,日后一个一个克服掉。我写的《Y件工E思想》一书,大部分内容取自我开公司p|的教训录。我现在能客观地从可行性分析角度说明我和投资方所犯的主要错误Q以我那幼q夭折的软g公司? <P align=left><BR>  我的主要错误Q? <P align=left><BR>  Q?Q年青气盛,在不具备条g的情况下Q想一下子做成石破天惊的事。我的设计方案技术难度很大(有一些是热门的研I课题)Q只?0万元资金的小公司Ҏ(gu)没有财力与技术力量去做这U事。分析经与技术可行性,卛_否定我的设计Ҏ(gu)? <P align=left><BR>  Q?Q我以技术ؓ中心而没有以市场Z心去做品,以ؓ自己喜欢的Y件别Z一定喜Ƣ。我涉的是在国内尚不成气候的市场Q我无法估计q市场有多大Qh们到底要什么。伙伴们跟着我瞎忙乎一整年Q结果做Z个洋z洒z没的Y件。分析市场可行性也可以否定我的设计Ҏ(gu)? <P align=left><BR>  Q?Q我做到?真实、正?Q但q没有达CU的程度。我曑־到很多炫目的荣誉Q但学生时代的荣誉只是一U鼓励,q不是对我才能和事业的确认。正因ؓ我不够优UQ学识浅薄,加上没有更高水^的h指点我,才会把事情搞怺? <P align=left><BR>  投资方的主要错误Q? <P align=left><BR>  Q?Q投资方是个_明的商人,他把我的设计Ҏ(gu)交给国的一个Y件公司分析,l论是否定的。但他觉得我q个人很有利用h(hun)|希望可以做成功其它事情,即Soft3D软g做不成功Q只要挣到钱p。这U赌博心态得正的可行性分析变得毫无h(hun)倹{? <P align=left><BR>  Q?Q由于我不懂商业Q又象所有单U的学生那样Ҏ(gu)怿别h。他让我写下了不公正的合同,我竟然向他借钱C本来属于我?0%技术股份。他名ؓ投资方,实质上双方各Z一半的资金Q他?1%Q我?9%Q。他在明知Soft3D软g不能成功的情况下Q却Z占我的便宜而׃应有的精明,最l导致双斚w损失? <P align=left><BR>  关闭公司Ӟ他搬C所有的固定财。我明明投入了技术,又亏?5万元Q却一无所得。几个月后当我意识到不公q找他协商时Q他_"只能怨你自己愚蠢Q读到博士,q张合同都看不懂?我觉得自己在此事上虽愚但不蠢Q真实、正直的品质加上不懈的努力会让我变得有智慧。自q奋斗没什么可以后(zhn)的Q学到的q比失去的多Q下一ơ会做得更好?BR><BR><BR><BR></P> <P align=center><FONT color=#ff0000 size=3><B>大学十年Q一个程序员的\E)(?</B></FONT></P> <P>林锐Q?999q岁?/P> <P align=left>   <BR> <P align=left>  公司关闭后,我就面壁反省Q补习基Q准备ؓ几年之后"东山再v"ȝ蓄锐? <P align=left><BR>  1999q?月,有一个民营企业家G先生向我h一个问题:"我给一个年Mh投资?00万元Q徏立一家从事环保信息应用开发的软g公司。他曾许Zq内创利润上千万元,可是才过?个月Q他把100万元用完了,什么也没挣到。我实在不明白是怎么回事Q请你帮我分析分析? <P align=left><BR>  q位G先生q龄有我?.5倍,曑֜西北当过几十q的技术兵Q性格豪爽。他投资的那个年Mh叫YQ以下称Yl理Q,自称有英国的理学文凭,能对公司的市场、技术、管理一把抓。G先生喜欢?钱我没问?Q于是想也不惛_投了100万元Qƈ且给Yl理40%的股份? <P align=left><BR>  G先生请Yl理到家里坐谈。我那时H然狡猾hQ自U是G先生的远房亲戚,在浙大读半导体物理,特M慕那些做软g的同龄hQ望听听Yl理的高见。Yl理果然信口开治I滔滔不绝Q连l不断,如黄x滥,一发而不可收拾。我Ȁ动地惛_参观他的公司和品,q表C抛弃物理专业Q立马{向Y件专业? <P align=left><BR>  Yl理得意而笑Q?对于IT行业你就不懂了,我们l营的是一U理念而不是品,q是国外最先进的思想。你可以来参观我的公司,但你看不到具体的东西Q只能用心去领会? <P align=left><BR>  q屁话比曹元朗的诗还臭(《围城》)。我搞Y件只?q功夫,说我不懂IT行业q不q分。可我读?0q大学都没听到过如此"先进"的思想。如果这是英国管理学教育的成果,我认己已l发Cq个曄?日不落帝?的衰败的真正原因Q有必要找英国首相切一番? <P align=left><BR>  我对G先生_"Yl理Ҏ(gu)不懂技术,Zh极其夸。应马上关闭公司Q以l后(zhn)。那100万元你也亏得P׃个教训吧? <P align=left><BR>  G先生_"钱我没问题,?00万元?yu)q我在澳门赌博输掉了? <P align=left><BR>  1999q?月,G先生又来找我h另一个问题? <P align=left><BR>  他说Q?林啊,你上ơ说得很有道理,我接受了教训? <P align=left><BR>  我说Q?那是好事Q不论年龄大,知错改L好孩子嘛? <P align=left><BR>  他叹了一口气Q?最q几个月QYl理又花了我100万元? <P align=left><BR>  我当时差点给噎死Q气凶凶地训G先生Q?我早跟你讲过QYl理不是好东西,叫你关闭公司你不听,你老说钱没问题Q亏?00万元z该? <P align=left><BR>  老先生象犯了错误的小孩子Q?Yl理每一ơ向我要钱时Q都拍拍胸脯保证下个月就有利润,所以我一而再、再而三地掏q他,希望能救zY件公司。现在该怎么办?" <P align=left><BR>  一个有20名职员的软g公司Q程序员只有三四个,q?十羊?ji)?都不如?00万元的胦务报表中Q有100多万元用于吃喝玩乐和行較。这U公司完全无药可救。台湾作家李敖曾说过Q?当你没法扶一个h上马Ӟ也许应该拉他下马"。从5月䆾?月䆾Q我行侠仗义Q替G先生清理软g公司Q根除Yl理q些败类? <P align=left><BR>  可是隑֓Q因为G先生投资的公司根本不把G先生攑֜眼里Q又岂能让我插手。就在我x设法卡住Yl理的脖子时QYl理总能从G先生那里挖出钱。G先生p被吸血鬼附w,却仍存惻I"如果吸血Dd我的病,p它再怺血吧? <P align=left><BR>  Yl理又和一个来自深圳的骗子H想了注意Q教唆G先生再投?00万元新徏一?指纹"公司Q说利润比开发环保信息的应用开发更加可观(估计要用亿来度量Q。就在他们准备鉴合同之际Q我偶而\q,发现异常Q便L? <P align=left><BR>  G先生是个好hQ但太顽固。好几次我气极想撒手不管Q但又不忍心好h被坏人欺负。我曾请求G先生Q?我求(zhn)别再说钱没有问题,(zhn)的Uh财会被人骗光。请让我把这漏洞堵住吧,好让我安心地回学校做完博士学位论文? <P align=left><BR>  ?月䆾Q我和G先生的两个儿子,伙同"黑社?的朋友,把那个Y件公司搬回G先生的工厂中Q辞退所有员工。现在那个Y件公司被别h接管Q仍然半Mz,好在每月亏损不过几万元,G先生承受得vQ我׃再去G先生的伤疤? <P align=left><BR>  我以前从未玩q与人勾心斗角的游戏Q此三个月的l历让我疲惫不堪。那个Y件公司的员工N露QYl理的英国文凭大U是在上h杭州某个大专培训班里h的。方鸿渐买美国克莱顿大学博士文凭知耻(《围城》)Q而Yl理却趾高气扬。害得我q白无故国教育界担心Q回惌v英国鬼子曾打劫过中国Q倍感耻i? <P align=left><BR>  G先生是正人君子,不防hQ实在不是现代的商h。我和他成了忘年交。G先生W一ơ见到我旉我工资几何,我答曎ͼ"300元,够买几本书?G先生甚ؓ着急:"q样的条件怎么能生z?你就搬到我家来住吧,我家条g好,你可以安心地学习Q将来可为国家多作A献?后来他几ơ相邀Q我q在国家的份上住入他家Q一直住到博士毕业。自从读中学以来Q我W一ơn受食来张_不用z衣服的奢侈。唯一的麻烦是我得向很多朋友解释:"我不是被别h养v来了Q是Z国家的利益,不得已才q么做的。G先生是男的不</P> <P align=left>  <BR>  我在d士学位的三年里,l历有点奇特。我遗憾的是"真才实学"没有长进Qƈ且没有了在西?sh)那LU真友情和缠l늈情。略为欣慰的是我做了几g感h的事Q也到了几件有的事,让我发觉自己变得成熟了?BR>  <BR>  我很惌一讲自己参加希望工E的l历与感受? <P align=left><BR>  1998q暑假,江省云和县梅源中学的老师们带希望班几名优U学生来到江大学Q其中有受我资助的何晓丽同学。我才知道初中学生一个学期的学杂费就?00元。何晓丽哭诉下学期不能再上学Q其它的学生处境怼。我以前资助?000元是5个h3q^均分zQ根本不起作用? <P align=left><BR>  那时侯,公司倒闭使我债务累篏Qƈ且自信心遭受十年来最大的打击。我在入不敷出、心事重重的情况下,没有推卸义务Q而是"变本加利"的去这个义务。我在西늚好朋友史江一替我"接管"了一个中学生。有一个小姐追求我Q我乘机l她一个活生生?见面C??999q?月䆾Q我把工资卡送给了一个大学生Q自己成了无产阶U。从1997q?1月v到我博士毕业期间Q我直接或间接地?个困学生捐助了U?万元。我有了几点感受Q? <P align=left><BR>  Q?Q对人的帮助莫过于给予希望?BR>  Q?Qh在Q何时候都能够帮助比自己更困难的hQ哪怕自己处于困境?BR>  Q?Q帮助是要负责Q的,一定要设法做成有意义的l果。不负责ȝ帮助是"施舍"?施舍"~Z诚意Q不配称?帮助"? <P align=left><BR>  不少人曾Ҏ(gu)_"你是做大事的人,不要在小事上费_֊Q更不要Z别h而害了自己? <P align=left><BR>  很多人M己将来是伟大人物而不愿做事Q从而到M没做成什么有价值的事。也有很多h希望自己成功后再d助别人,无论他最l成功还是失败,一辈子也没有帮助过人。还有很多h略有权势或略有名气后Q便觉得自己吃喝玩乐、放屁、上厕所都是重要的事Q在他们最能够帮助人的时候却?太忙""没空"为理׃d好事? <P align=left><BR>  我也在忙、在奋斗Q也渴望成ؓ伟大人物Q但我希望让有意义的事充实一生?BR>  <BR>  我还要讲另一件我常干的小事? <P align=left><BR>  很多受过高等教育的h保留了随地扔垃圾?风俗习惯"Q这恶习p脚气那样虽然不致ZdQ但能遗臭万q。即便象江大学q等兔R的地方,你都l常可以看见草坪、校门口的废U、果皮、塑料袋Q垃圑ְ如同天怸的一砣狗屎那样鲜艻IZ竟然无动于衷。我C误己多次当众、当道捡垃圾Q可是几q来我都没有在大学里发现W二个做q种事的人? <P align=left><BR>  我很惛_所有的教授、博士、硕士、学士们讲句话:"救hq不只是ȝq的事,保护环境也不只是清洁工干的事。只要你多化几秒钟,弯几ơ腰Q就能让环境更加清洁Q让心灵更加清洁。我们不必个个道貌岸Ӟ但至应该做?M明理'? <P align=left><BR>  那些正在q我和将要追我的姐们,你多捡一ơ垃圑ְ多一份希望,你丢一ơ垃圑ְ不再有希望? <P align=left><BR>  我这L不休地?希望工程"?捡垃?Qƈ不是在沽名钓誉,也不是在布道Q只是希望我q些"金玉良言"能触动更多的自以己是高素质的Z?BR><BR><BR><BR></P> <P align=center><FONT color=#ff0000 size=3><B>大学十年Q一个程序员的\E)(?</B></FONT></P> <P>林锐Q?999q岁?/P> <P align=left>   <BR> <P align=left>  <BR>  在浙大的三年里,我没有对感情"播种"Q所以也没有收获Q但有一?艳遇"? <P align=left><BR>  在关闭公司的那天晚上QhLI,我象严监生断气前那样盯着未熄灭的灯。这时一位杭大(现已q入新浙大)的四q女生来找我。一q前Ҏ(gu)作ؓ实习记者采访过我,谈得很投机。我知道Ҏ(gu)聪明好学的学生,曑֤a不惭地教D她几ơ。我开公司的一q里几乎没与Ҏ(gu)往q,想不到当我成了光杆司令时她还?兔死狐?zhn)?地来看望我,着实让我感动? <P align=left><BR>  我不无自嘲地对她_"你不用安慰我了,q次p|我还能挺得住? <P align=left><BR>  她说Q?我不是来安慰你的。我一直盼望你的公司倒闭Q等了整整一q。在你去北京之前Q我有话跟你说? <P align=left><BR>  我心下一凉,搞不清什么地方得|她了,让她如此记恨我。大概是我得意之日教导她时言语过重,伤了她的自尊心。好在我是知错就改的人,当下惭愧地向奚w歉? <P align=left><BR>  她不理会我,_"你开公司时光环重重,我根本无法靠q你。即侉K时我成了你的好朋友,你也不会把我攑֜眼里。我暗恋你一q了Q一直都没跟你讲。我早知道你会失败的Q失败时你就剩下一个hQ你才会知道我是真心׃的,而不是冲着其它来的。你是个优秀的理U学生,我是个优U的文U学生,门当户对Q珠帘合壁。请你不要觉得女的追L很荒唐,我是认真的,请你l我一ơ机会? <P align=left><BR>  我虽然评不上情场高手Q好歹也在爱河里游过泻I呛过水。想不到仓促之下Q被一奛_说得脸红而Q无法掩盖窘相? <P align=left><BR>  我一直认为男人应该勤劳一辈子Q好让柔q奛_舒舒服服地在大树下乘凉。而学习、工作出色的奛_只能做朋友,不能做夫人? <P align=left><BR>  她从习诗弄文,d学时蜚声杭大。我见到她第一面时把她归cMؓ事业上的朋友Q所以才会正儿八l地与她交谈q教导她。我在西늚两个x友就属于M不太好但比较有魅力的女生Q我从来也没有指D她们学习。如果我喜欢一个女孩子q希望她成ؓ我的x友,我早去q求她了Q岂能轮到她q我? <P align=left><BR>  她见我彷徨不安,便滔滔不l地例D爱我?证据"。我开公司一q来发生的事她了如指掌,p在我的房间里放了H听器,在我的朋友中安插了间谍。她甚至跑到团中央去查阅我的老底Q有?案g"我过ȝ伙伴都未必知道。她思念我时Q写了很多诗Q留了很多泪Qؓ此杭大的一些男生四处追?凶犯"? <P align=left><BR>  我早知道有些Z~程序、不做实验就能写文,N男女之间不接触也能滋生感情? <P align=left><BR>  W一回合我就被她挑翻在地Q我莫名其妙地成?负心?Q无地自容地把她送走。我以ؓq是文科女生的风|当作一个趣事不攑֜心上? <P align=left><BR>  我从北大Ҏ(gu)"x"回来不久后,Ҏ(gu)着一鲜花来找我QƈҎ(gu)说了她的梦想Q在寒冷的冬天,大地铺满U雪Q四野h鸟绝qV我孤独求|地深居在冷冰冰的木屋里。在一个狂风呼啸的黄昏Q她一手拎着亲手做的饭菜Q我惛_该有土豆和G椒)Q一手拎着一捆木_敲开了那扇紧闭的门和心房。终于木屋四壁生辉…? <P align=left><BR>  我对W一个朋友最好的赞美是:"黄蓉很象你? <P align=left><BR>  我对W二个朋友最深情的话是:"来׃老了Q我回黄岩当物理老师Q你当语文老师? <P align=left><BR>  相比之下Q我的确不及杭大女生O。此后她再找q我几次Q当我意识到她动真格的时候,她已不能自拔。爱情是很怪的东西Qƈ不是两个好hp出火花。就象一头好牛和一匹好马,可以一起干z,但没有必要吃住都兛_一赗? <P align=left><BR>  与其让她长痛Q还不如让她狠痛一ơ? <P align=left><BR>  我对她说Q?我们真的不能在一赗?<BR>  奚wZ么?<BR>  我说Q?我不喜欢你?<BR>  她再问ؓ什么?<BR>  我说Q?不ؓ什么,我没有心跳的感觉? <P align=left><BR>  她说十年之后再找我? <P align=left><BR>  我知道她会奋发图强,因ؓ她会一直想着"Z?Q期望让自己有个满意的答案?q条?q前我已l走q了? <P align=left><BR>  半年前我再见到她Ӟ她已l直d了,在文学上有了长的进步。ƈ且找了一个Y件工E师做朋友? <P align=left><BR>  我说软g工程师未必就懂得软g工程的道理,待我写的软g工程书籍出版后再送她一本? <P align=left><BR>  她说会送给我她的第一本著作,书中开头的几个故事是关于我和她? <P align=left><BR>  我说看了她的书后一定会写一读后感l她? <P align=left><BR>  她仍然提醒我不要忘记十年后的相约?BR><BR>        </P> <P align=left><BR> <P align=left>  <BR>  <BR>  我在大有一个值得怀늚人,Ҏ(gu)宿舍楼的大妈。在1999q?月至5月,我在博士生宿舍静心修炼内功,大妈p我的"护法"。晚上九(ji)炚wӞ她就会烧些东西给我吃。我和大妈非亲非故,同学们都不明白大妈ؓ什么待我好。我想那是因为我没把自己当成"博士"来看Q而是当成"?来看? <P align=left><BR>  5月䆾后,我看在国家的份上搬到一个千万富家里去住,大妈也调?熊猫?当掌门h。我一般隔几个月去看望大妈一ơ,中秋节我和她在一赗朋友们知道我和大妈有这层关p,qUh大妈物色x友? <P align=left><BR>  大妈果然U职Q她p特务那样审视大楼里的女生。可大妈毕竟是大妈,奚w用的"标准"是几十年前的版本Q无法与C的兼宏V她盯住了不该盯的,却漏掉了不该漏的Q至今都?推销"成功一个? <P align=left><BR>  qg事让我又明白了一个Y件工E道理:光有完善的数据库q不够,q应该提供很好的搜烦引擎?BR>  <BR>  我相信生zR科学、艺术中的很多道理是盔R的Q于是就不嫌人笑Q写下《Y件工E思想》这本书Qƈ写下了十q来的故事,交最后一ơ作业? <P align=left><BR>  大学十年l我留下了很多美好的回忆Q现在可以打上漂亮的句号了。尽我卛_告别大学Q但我会l生学习。也许我成不了天才,但还有机会成为天才的爸爸? <P align=left><BR>  我想大声呼喊出那U可以用双手把握未来的自豪? <P align=left><BR>  我要对年ȝ朋友们说两句之言Q? <P align=left><BR>  一、主动去创造环境,否则你无法设计h生? <P align=left><BR>  二、生zd工作要充满激情,否则你无法体会到淋漓致的欢乐与痛苦? <P align=left><BR>  如果我碰C帝,只会对他说一句话Q?你看厕所d?<BR><BR></P><img src ="http://www.tkk7.com/faintbear/aggbug/12515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/faintbear/" target="_blank">力力力</a> 2005-09-09 11:08 <a href="http://www.tkk7.com/faintbear/archive/2005/09/09/12515.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>修练8qC++面向对象E序设计之体?林锐博士)http://www.tkk7.com/faintbear/archive/2005/09/09/12514.html力力力力力力Fri, 09 Sep 2005 02:59:00 GMThttp://www.tkk7.com/faintbear/archive/2005/09/09/12514.htmlhttp://www.tkk7.com/faintbear/comments/12514.htmlhttp://www.tkk7.com/faintbear/archive/2005/09/09/12514.html#Feedback0http://www.tkk7.com/faintbear/comments/commentRss/12514.htmlhttp://www.tkk7.com/faintbear/services/trackbacks/12514.html

六年前,我刚热恋“面向对象”(Object-OrientedQ时Q一口气C了近十个定义。六q后Q我从几十万行程序中滚爬出来准备写点心得体会Ӟ却无法解释什么是“面向对象”,p说不清楚什么是数学那样。Y件工E中的时髦术语“面向对象分析”和“面向对象设计”,通常是针对“需求分析”和“系l设计”环节的。“面向对象”有几大学派Q就象如来佛(jng)、上帝和真主用各自的方式定义了这个世界,q留下一堆经书来解释q个世界?/P>

有些学者徏议这h“对象”:分析一个句子的语法Q找出名词和动词Q名词就是对象,动词则是对象的方法(卛_敎ͼ?/P>

当年国民党的文hZҎ(gu)毛泽东的《沁园春·雪》,Ҏ(gu)h朝遗老们写了一些对仗工整的诗,误介石q目。老蒋看了气得大骂Q“娘希匹Q全都有一股棺材里腐尸的气呟뀂”我看了几千늚软g工程资料Q终于发现自己有些“弱智”,无法理解“面向对象”的理论Q同旉(zhn)到“编E是道理。?/P>

面向对象E序设计语言很多Q如Smalltalk、Ada、Eiffel、Object Pascal、Visual Basic、C++{等。C++语言最讨h喜欢Q因为它兼容C 语言Qƈ且具备C 语言的性能。近几年Q一U叫Java 的纯面向对象语言U极一Ӟ不少人叫喊着要用Java 革C++的命。我认ؓJava 好比是C++的外甥,虽然不是直接遗传的,但也几分象样。外甥在舅舅w上玩耍时z了一泡尿Q俩Z该ؓ此而争c?/P>

关于C++E序设计的书藉非常多Q本章不讲C++的语法,只讲一些小的~程道理。如果我能早几年明白q些道理,可以大大改善数十万行程序的质量了?/P>

1. C++面向对象E序设计的重要概?/STRONG>

早期革命q里有q样一个角Ԍ他说Q“我是党代表Q我代表党,我就是党。”后来他l同志们带来了灾难?/P>

会用C++的程序员一定懂得面向对象程序设计吗Q?/P>

不会用C++的程序员一定不懂得面向对象E序设计吗?

两者都未必。就象坏蛋入党后未必能成为好人,好h不入党未必变成坏蛋那栗?/P>

我不怕触犯众怒地说句大话Q“C++没有高手QC 语言才有高手。”在用C 和C++~程8q之后,我深深地遗憾自己不是C 语言的高手,更遗憾没有hҎ(gu)我如何进行面向对象程序设计。我和很多C++E序员一P在n用到C++语法的好处时便以己已l明白了面向对象E序设计。就象挤掉牙膏卖牙膏皮那P真是暴殄天物呀?/P>

Z不懂拼音也会讲普通话Q如果懂得拼韛_会把普通话讲得更好。不懂面向对象程序设计也可以用C++~程Q如果懂得面向对象程序设计则会把C++E序~得更好。本节讲qC个非常基的概念:“类与对象”、“承与l合”、“虚函数与多态”。理解这些概念,有助于提高程序的质量Q特别是提高“可复用性”与“可扩充性”?/P>

1.1 cM对象

对象QObjectQ是c(ClassQ的一个实例(InstanceQ。如果将对象比作房子Q那么类是房子的设计图U。所以面向对象程序设计的重点是类的设计,而不是对象的设计。类可以数据和函数装在一P其中函数表示了类的行为(或称服务Q。类提供关键字public、protected 和private 用于声明哪些数据和函数是公有的、受保护的或者是U有的?/P>

q样可以辑ֈ信息隐藏的目的,卌cM仅公开必须要让外界知道的内容,而隐藏其它一切内宏V我们不可以滥用cȝ装功能Q不要把它当成火锅,什么东襉K往里扔?/P>

cȝ设计是以数据Z心,q是以行Zؓ中心Q?/P>

d“以数据Z心”的那一zhxcȝ内部数据l构Q他们习惯上private cd的数据写在前面,而将public cd的函数写在后面,如表8.1(a)所C?/P>

d“以行ؓZ心”的那一zhxcd该提供什么样的服务和接口Q他们习惯上public cd的函数写在前面,而将private cd的数据写在后面,如表8.1(b)所C?/P>

很多C++教课书主张在设计cL“以数据Z心”。我坚持q且读者在设计cL“以行ؓZ心”,即首先考虑cd该提供什么样的函数。Microsoft 公司的COM 规范的核心是接口设计QCOM 的接口就相当于类的公有函数[Rogerson 1999]。在E序设计斚wQ咱们不要怀疑Microsoft 公司的风根{?/P>

设计孤立的类是比较容易的Q难的是正确设计基类及其zcR因为有些程序员搞不清楚“扎쀝(InheritanceQ、“组合”(CompositionQ、“多态”( PolymorphismQ这些概c?


1.2 l承与组?/P>

如果A 是基c,B 是A 的派生类Q那么B 承A 的数据和函数。示例程序如下:

class A

{

public:

void Func1(void);

void Func2(void);

};

class B : public A

{

public:

void Func3(void);

void Func4(void);

};

// Example

main()

{

B b; // B的一个对?/P>

b.Func1(); // B 从A l承了函数Func1

b.Func2(); // B 从A l承了函数Func2

b.Func3();

b.Func4();

}

q个单的CZE序说明了一个事实:C++的“扎쀝特性可以提高程序的可复用性。正因ؓ“扎쀝太有用、太Ҏ(gu)用,才要防止q“扎쀝。我们要l“扎쀝立一些用规则:

一、如果类A 和类B 毫不相关Q不可以Z使B 的功能更多些而让B l承A 的功能?/P>

不要觉得“不吃白不吃”,让一个好端端的健壮青q无~无故地吃h参补w体?/P>

二、如果类B 有必要用A 的功能,则要分两U情况考虑Q?/P>

Q?Q若在逻辑上B 是A 的“一U”(a kind of Q,则允许B l承A 的功能。如男hQManQ是人(HumanQ的一U,男孩QBoyQ是男h的一U。那么类Man 可以从类Human zQ类Boy 可以从类Man z。示例程序如下:

class Human

{

?/P>

};

class Man : public Human

{

?/P>

};

class Boy : public Man

{

?/P>

};

Q?Q若在逻辑上A 是B 的“一部分”(a part ofQ,则不允许B l承A 的功能,而是要用A和其它东西组合出B。例如眼QEyeQ、EQNoseQ、口QMouthQ、耻IEarQ是_HeadQ的一部分Q所以类Head 应该qEye、Nose、Mouth、Ear l合而成Q不是派生而成。示例程序如下:

class Eye

{

public:

void Look(void);

};

class Nose

{

public:

void Smell(void);

};

class Mouth

{

public:

void Eat(void);

};

class Ear

{

public:

void Listen(void);

};

// 正确的设计,冗长的程?/P>

class Head

{

public:

void Look(void) { m_eye.Look(); }

void Smell(void) { m_nose.Smell(); }

void Eat(void) { m_mouth.Eat(); }

void Listen(void) { m_ear.Listen(); }

private:

Eye m_eye;

Nose m_nose;

Mouth m_mouth;

Ear m_ear;

};

如果允许Head 从Eye、Nose、Mouth、Ear z而成Q那么Head 自动具有Look、Smell、Eat、Listen q些功能Q?/P>

// 错误的设?/P>

class Head : public Eye, public Nose, public Mouth, public Ear

{

};

上述E序十分短ƈ且运行正,但是q种设计却是错误的。很多程序员l不起“扎쀝的诱惑而犯下设计错误?/P>

一只公鸡劲地q打一只刚下了蛋的母鸡Q你知道Z么吗Q?/P>

因ؓ母鸡下了鸭蛋?/P>

本书3.3 节讲q“运行正”的E序不见得就是高质量的程序,此处是一个例证?



1.3 虚函C多?/P>

除了l承外,C++的另一个优良特性是支持多态,卛_许将zcȝ对象当作基类的对象用。如果A 是基c,B 和C 是A 的派生类Q多态函数Test 的参数是A ?指针。那么Test 函数可以引用A、B、C 的对象。示例程序如下:

class A

{

public:

void Func1(void);

};

void Test(A *a)

{

a->Func1();

}

class B : public A

{

?/P>

};

class C : public A

{

?/P>

};

// Example

main()

{

A a;

B b;

C c;

Test(&a);

Test(&b);

Test(&c);

};

以上E序看不出“多态”有什么h(hun)|加上虚函数和抽象基类后,“多态”的威力显C出来了?/P>

C++用关键字virtual 来声明一个函Cؓ虚函敎ͼzcȝ虚函数将QoverrideQ基cd应的虚函数的功能。示例程序如下:

class A

{

public:

virtual void Func1(void){ cout<< “This is A::Func1 \n”}

};

void Test(A *a)

{

a->Func1();

}

class B : public A

{

public:

virtual void Func1(void){ cout<< “This is B::Func1 \n”}

};

class C : public A

{

public:

virtual void Func1(void){ cout<< “This is C::Func1 \n”}

};

// Example

main()

{

A a;

B b;

C c;

Test(&a); // 输出This is A::Func1

Test(&b); // 输出This is B::Func1

Test(&c); // 输出This is C::Func1

};

如果基类A 定义如下Q?/P>

class A

{

public:

virtual void Func1(void)=0;

};

那么函数Func1 叫作U虚函数Q含有纯虚函数的cd作抽象基cR抽象基cd定义纯虚函数的形式Q具体的功能由派生类实现?/P>

l合“抽象基cZ和“多态”有如下H出优点Q?/P>

Q?Q应用程序不必ؓ每一个派生类~写功能调用Q只需要对抽象基类q行处理卛_。这一

招叫“以不变应万变”,可以大大提高E序的可复用性(q是接口设计的复用,而不是代码实现的复用Q?/P>

Q?Q派生类的功能可以被基类指针引用Q这叫向后兼容,可以提高E序的可扩充性和可维护性。以前写的程序可以被来写的E序调用不为奇Q但是将来写的程序可以被以前写的E序调用那可了不赗?


2 良好的编E风?/STRONG>

内功深厚的武林高手出招往往qxE无奇。同理,~程高手也不会用奇门怪招写程序。良好的~程风格是生高质量E序的前提?/P>

2.1 命名U定

有不h~程时用拼音l函数或变量命名Q这样做q不能说明你很爱国,却会让用此程序的p(很多南方Z懂拼韻I我就不懂Q。程序中的英文一般不会太复杂Q用词要力求准确。匈牙利命名法是Microsoft 公司倡导的[Maguire 1993]Q虽然很烦琐Q但用习惯了也就成了自然。没有h你采用何U命名法Q但有一点应该做刎ͼ自己的程序命名必M致?/P>

以下是我~程旉用的命名U定Q?/P>

Q?Q宏定义用大写字母加下划U表C,如MAX_LENGTHQ?/P>

Q?Q函数用大写字母开头的单词l合而成Q如SetName, GetName Q?/P>

Q?Q指针变量加前缀pQ如*pNode Q?/P>

Q?QBOOL 变量加前~bQ如bFlag Q?/P>

Q?Qint 变量加前~iQ如iWidth Q?/P>

Q?Qfloat 变量加前~fQ如fWidth Q?/P>

Q?Qdouble 变量加前~dQ如dWidth Q?/P>

Q?Q字W串变量加前~strQ如strName Q?/P>

Q?Q枚丑֏量加前缀eQ如eDrawMode Q?/P>

Q?0Q类的成员变量加前缀m_Q如m_strName, m_iWidth Q?/P>

对于int, float, double 型的变量Q如果变量名的含义十分明显,则不加前~Q避免烦琐。如用于循环的int 型变量i,j,k Qfloat 型的三维坐标Qx,y,zQ等?/P>

2.2 使用断言

E序一般分为Debug 版本和Release 版本QDebug 版本用于内部调试QRelease 版本发行l用户用。断aassert 是仅在Debug 版本起作用的宏,它用于检查“不应该”发生的情况。以下是一个内存复制程序,在运行过E中Q如果assert 的参Cؓ假,那么E序׃中止Q一般地q会出现提示对话Q说明在什么地方引发了assertQ?/P>

//复制不重叠的内存?/P>

void memcpy(void *pvTo, void *pvFrom, size_t size)

{

void *pbTo = (byte *) pvTo;

void *pbFrom = (byte *) pvFrom;

assert( pvTo != NULL && pvFrom != NULL );

while(size - - > 0 )

*pbTo + + = *pbFrom + + ;

return (pvTo);

}

assert 不是一个仓促拼凑v来的宏,Z不在E序的Debug 版本和Release 版本引v差别Qassert 不应该生Q何副作用。所以assert 不是函数Q而是宏。程序员可以把assert 看成一个在Mpȝ状态下都可以安全用的无害试手段?/P>

很少有比跟踪到程序的断言Q却不知道该断言的作用更让h沮的事了。你化了很多旉Q不是ؓ了排除错误,而只是ؓ了弄清楚q个错误到底是什么。有的时候,E序员偶还会设计出有错误的断言。所以如果搞不清楚断a查的是什么,很隑ֈ断错误是出现在程序中Q还是出现在断言中。幸q的是这个问题很好解冻I只要加上清晰的注释即可。这本是显而易见的事情Q可是很有E序员这样做。这好比一个h在森林里Q看到树上钉着一块“危险”的大牌子。但危险到底是什么?树要倒?有废井?有野兽?除非告诉Z“危险”是什么,否则q个警告牌难以v到积极有效的作用。难以理解的断言常常被程序员忽略Q甚臌删除。[Maguire 1993]

以下是用断a的几个原则:

Q?Q用断a捕捉不应该发生的非法情况。不要؜淆非法情况与错误情况之间的区别,后者是必然存在的ƈ且是一定要作出处理的?/P>

Q?Q用断a对函数的参数q行认?/P>

Q?Q在~写函数Ӟ要进行反复的考查Qƈ且自问:“我打算做哪些假定?”一旦确定了?/P>

假定Q就要用断a对假定进行检查?/P>

Q?Q一般教U书都鼓q序员们进行防错性的E序设计Q但要记住这U编E风g隐瞒错误。当q行防错性编E时Q如果“不可能发生”的事情的确发生了,则要使用断言q行报警?


2.3 new、delete 与指?/P>

在C++中,操作Wnew 用于甌内存Q操作符delete 用于释放内存。在C 语言中,函数malloc 用于甌内存Q函数free 用于释放?存。由于C++兼容C 语言Q所以new、delete、malloc、free 都有可能一起用。new 能比malloc q更多的事,它可以申请对象的内存Q而malloc 不能。C++和C 语言中的指针威猛无比Q用错了会带来灾难。对于一个指针pQ如果是用new甌的内存,则必ȝdelete 而不能用free 来释放。如果是用malloc 甌的内存,则必ȝfree 而不能用delete 来释放。在用delete 或用free 释放p 所指的内存后,应该马上昑ּ地将p |ؓNULLQ以防下ơ用p 时发生错误。示例程序如下:

void Test(void)

{

float *p;

p = new float[100];

if(p==NULL) return;

?/ do something

delete p;

p=NULL; // 良好的编E风?/P>

// 可以l箋使用p

p = new float[500];

if(p==NULL) return;

?/ do something else

delete p;

p=NULL;

}

我们q要预防“野指针”,“野指针”是指向“垃䏀内存的指针Q主要成因有两种Q?/P>

Q?Q指针没有初始化?/P>

Q?Q指针指向已l释攄内存Q这U情冉|让h防不胜防Q示例程序如下:

class A

{

public:

void Func(void){…}

};

void Test(void)

{

A *p;

{

A a;

p = &a; // 注意a 的生命期

}

p->Func(); // p 是“野指针”,E序出错

}

2.4 使用const

在定义一个常量时Qconst ?define 更加灉|。用const 定义的常量含有数据类型,该常量可以参与逻辑q算。例如:

const int LENGTH = 100; // LENGTH 是int cd

const float MAX=100; // MAX 是float cd

#define LENGTH 100 // LENGTH 无类?/P>

#define MAX 100 // MAX 无类?/P>

除了能定义常量外Qconst q有两个“保护”功能:

一、强制保护函数的参数g发生变化

以下E序中,函数f 不会改变输入参数name 的|但是函数g 和h 都有可能改变name的倹{?/P>

void f(String s); // pass by value

void g(String &s); // pass by referance

void h(String *s); // pass by pointer

main()

{

String name=“Dog?

f(name); // name 的g会改?/P>

g(name); // name 的值可能改?/P>

h(name); // name 的值可能改?/P>

}

对于一个函数而言Q如果其?’或?’类型的参数只作输入用,不作输出用,那么应当在该参数前加上constQ以保函数的代码不会改变该参数的|如果改变了该参数的|~译器会出现错误警告Q。因此上q程序中的函数g 和h 应该定义成:

void g(const String &s);

void h(const String *s);

二、强制保护类的成员函C改变M数据成员的?/P>

以下E序中,cstack 的成员函数Count 仅用于计敎ͼZ保Count 不改变类中的M数据成员的|应将函数Count 定义成const cd?/P>

class Stack

{

public:

void push(int elem);

void pop(void);

int Count(void) const; // const cd的函?/P>

private:

int num;

int data[100];

};

int Stack::Count(void) const

{

++ num; // ~译错误Qnum 值发生变?/P>

pop(); // ~译错误Qpop 改变成员变量的?/P>

return num;

}


2.5 其它

Q?Q不要编写一条过分复杂的语句Q紧凑的C++/C 代码q不见到能得到高效率的机器代码,却会降低E序的可理解性,E序出错误的几率也会提高?/P>

Q?Q不要编写集多种功能于一w的函数Q在函数的返回gQ不要将正常值和错误标志混在一赗?/P>

Q?Q不要将BOOL 值TRUE 和FALSE 对应? ? q行~程。大多数~程语言FALSE定义?QQ何非0 值都是TRUE。Visual C++TRUE 定义?Q而Visual Basic 则将TRUE定义?1。示例程序如下:

BOOL flag;

?/P>

if(flag) { // do something } // 正确的用?/P>

if(flag==TRUE) { // do something } // 危险的用?/P>

if(flag==1) { // do something } // 危险的用?/P>

if(!flag) { // do something } // 正确的用?/P>

if(flag==FALSE) { // do something } // 不合理的用法

if(flag==0) { // do something } // 不合理的用法

Q?Q小心不要将? =”写成?”,~译器不会自动发现这U错误?/P>

Q?Q不要将123 写成0123Q后者是八进制的数倹{?/P>

Q?Q将自己l常犯的~程错误记录下来Q制成表D(chung)在计机旁边?/P>

3 结

C++/C E序设计如同林寺的武功一样博大精深,我练? q_大概只学C三成。所以无Z么时候,都不要觉得自q~程水^天下W一Q看到别人好的技术和风格Q要虚心学习。本章的内容得可怜,p口时只l你一颗杨梅吃Q你一定不q瘾。我借花献佛(jng)Q推荐一本好书:Marshall P. Cline 著的《C++ FAQs》[Cline 1995]。你看了后一定会赞不l口。会~写C++/C E序Q不要因此得意洋z,q只是程序员基本的技能要求而已。如果把pȝ分析和系l设计比作“战略决{”,那么~程充其量只是“战术”。如果指挥官是个大笨蛋,士兵再勇敢也会吃败仗。所以我们程序员不要只把眼光盯在E序上,要让自己博学多才。我们应该向北京胡同里的孩们学习,他们小q纪p指点江山Q评Z界大事?/P>

力力力 2005-09-09 10:59 发表评论
]]>
如果你不知道RSS是什么。一定要看看~http://www.tkk7.com/faintbear/archive/2005/09/06/12210.html力力力力力力Tue, 06 Sep 2005 05:50:00 GMThttp://www.tkk7.com/faintbear/archive/2005/09/06/12210.htmlhttp://www.tkk7.com/faintbear/comments/12210.htmlhttp://www.tkk7.com/faintbear/archive/2005/09/06/12210.html#Feedback0http://www.tkk7.com/faintbear/comments/commentRss/12210.htmlhttp://www.tkk7.com/faintbear/services/trackbacks/12210.html也许q个比较直观。看看哈

RSS是一U用于共享新d其他Web内容的数据交换规范,h?A title=|景通讯公司 技术,订戯阅的内容传送给他们?A title=通訊協同格式 >通讯协同格式(Protocol)。RSS可以是以下三个解释的其中一个:

  • Really Simple SyndicationQ真正简单的整合Q?
  • RDF (Resource Description Framework) Site Summary
  • Rich Site SummaryQ丰富站Ҏ(gu)要)

但其实这三个解释都是指同一USyndication的技术?/P>

目前RSS规范的主要版本有0.91?.0?.0?/P>

0.91版和1.0版完全不同,风格不同Q制定标准的Z不同?.91版和2.0版一脉相ѝ?.0版更靠拢XML标准?/P>

RSS目前q泛用于blog?A title=Wiki >wiki和网上新闻频道,世界多数知名新闻C站都提供RSS订阅支持?BR>

RSS改变传统Web览模式 



力力力 2005-09-06 13:50 发表评论
]]>
我的收藏http://www.tkk7.com/faintbear/archive/2005/03/10/1915.html力力力力力力Thu, 10 Mar 2005 08:07:00 GMThttp://www.tkk7.com/faintbear/archive/2005/03/10/1915.htmlhttp://www.tkk7.com/faintbear/comments/1915.htmlhttp://www.tkk7.com/faintbear/archive/2005/03/10/1915.html#Feedback0http://www.tkk7.com/faintbear/comments/commentRss/1915.htmlhttp://www.tkk7.com/faintbear/services/trackbacks/1915.htmlORACLE:
     http://www.eygle.com/  (牛horacle)
    http://www.anysql.net/index.html (牛h d.b.c.a)
     http://skyhorse.blogbus.com/logs/2004/03/106569.html
     http://www.dbanotes.net/
     http://www.psoug.org/reference/  (我靠.最好的学习oracle pl/sql的地?
JAVA:
    http://www.javaresearch.org
    http://www.java-cn.com/
    http://www.javayou.com/    (java自由?
    http://yhe.dalian.cn/ (红帽的blogQ个人收藏,java学习...)
JAVA---J2ME
   Java憩园 (高手?
   http://www.j2medev.com/
   
Blog:
   http://www.nihaoblog.com/index.html
   http://www.rainbowsoft.org/zblog/

c/c++:
  http://www.luocong.com/ (数据l构的学?



力力力 2005-03-10 16:07 发表评论
]]>
վ֩ģ壺 AV뾫Ʒ鶹| þþþavר | 1000žžʮδֹۿ| þŮƷƷ | ƷѾþ| þۺϸϾþù| ѧһëƬ| ŷAVӰ߹ۿ| Ƶ߹ۿ| һ߲| þþþ޾Ʒַɫ | aרav鶹| 5555߲Ѳ| ͵Ƶ߹ۿ99| ޳ҹ| ҹavƵ| ŷƵվ| ͵޾Ʒ͵һ| аӰԺ߹ۿ| ѹۿ߹ۿİ| mm1313޹ƷԿ | һĻ| ޾Ʒ99߹ۿ| պһ߲| selaobanƵѾƷ| Ļ| ޳ɫWWWþվ| þùѾƷ| 츾avһ| AƬƵWWW| ĻѹۿȫӰ| ͵޾Ʒ͵һ| ޹bvվ| ޹˳߹ۿ69վ| һƬվ߹ۿ| µĻ| һaƬþëƬ| պƷһ | ѹۿɫƵվ(ɫ)| Ļavר| һëƬȫѲ|