lgh269 日志(3) - 剑情浪子 - cpubbs论坛免费虚拟仪器博客 labview虚拟仪器讨论区 - cpubbs论坛 虚拟仪器论坛|labview论坛|labwindows论坛|vi|cvi|数据采集卡|入门教程|初学|软件下载|虚拟仪器免费博客|虚拟仪器电子商务|虚拟仪器商城|虚拟仪器人才中心|图形化单片机编程cpuview|虚拟仪器在线商城 - Powered by X-Space
方寸间,历数世上沧海桑田;时空里,细问人间暑往寒来;是朋友,星移斗转情不改;是知音,天涯海角记心怀。

发布新日志

  • 梁肇新编程高手箴言 [转]

    2007-05-21 18:55:28

    程序员?为什么要做这样的程序?正确的入门方法是什么? 
    程序员只有在理解了以上内容的基础上,才能进一步更快地提高自身技能,这时候再开始程序的设计。其实,对一个软件的开发者来说,真正重要的不在于这行代码怎么写,那些代码应该怎么写,关键是思路的问题,而思路事实上是经验的积累。经验是使你从最初的封闭的思维方式,到最后形成开放式的思维的一个过程。将我十几年程序生涯中获得的一些经验告诉读者,使大家少走弯路也是我想写这本书的主要目的。 
    1.1 程序≠软件 
    现在很多人以为程序就是软件,软件就是程序。事实上,软件和程序在20世纪80年代时,还可以说是等同的,或者说,在非pc领域里它们可能还会是等同的,比如说某个嵌入式软件领域,软件和程序可能是等同的。但是,在pc这个领域内,现在的程序已不等于软件了。这是什么意思呢? 
    1. 软件发展简述 
    在20世纪80年代的时候,pc刚诞生,这时国内还没有几个人会写程序。那么,如果你写个程序,别人就可以拿来用。这时候的程序就能产生价值,这个程序就直接等同于软件。 
    但软件行业发展到现在,这里以中国的情况为例(美国在20世纪80年代,程序已经不等同于软件了),程序也不等同于软件了。因为现在会写程序很容易,但是你的这个程序很难产生什么样的商业意义,也不能产生什么价值,这就很难直接变成软件。要使一个程序直接变成软件,中间就面临着很高的门槛问题。这个门槛问题来自于整个行业的形成。 
    现在,你写了一个程序以后,要面临商业化的过程。你要宣传,你要让用户知道,你要建立经销渠道,可能你还要花很多的时间去说服别人用你的东西。这是程序到软件的一个过程。这门槛已比较高了。 
    我们在和国内的大经销商的销售渠道的人聊天时,他们的老板说,这几年做软件的门槛挺高的,如果你没有五、六百万做软件,那是“玩”不起来的。我说:“你们就使门槛很高了。”他说:“那肯定是的。如果你写个“烂”程序,明天你倒闭了,你的东西还占了我的库房,我还不知道找谁退去呢。我的库房是要钱的呀!现在的软件又是那么多!” 
    所以,如果你没有一定的资产的话,经销商都不理你。实际情况也是这样的,如果你的公司比较小,且没什么名气,你的产品放到经销商库房,那么他最多给你暂收,产品销不动的话,一般两周绝对会退货。因为现在经销商可选择的余地已很多了,所谓的软件也已经很多了。而程序则更多,程序都想变成软件,谁都说自己的是“金子”。但只有经受住用户的检验,才能成为真正的“金子”。 
    这就是美国为什么在20世纪90年代几乎没有什么新的软件公司产生的原因。只是原来80年代的大的软件公司互相兼并,我吞你,你吃我。但是,写程序的人很多,美国的程序变软件的门槛可能比我们还高,所以很多人写了程序就丢在网上,就形成了共享软件。 
    2. 共享软件 
    共享软件是避开商业渠道的一种方法。它避开了商业的门槛,因为这个行业的门槛发展很高以后就轻易进不去了。我写个程序丢在网上,你下载就可以用,这时候程序又等于软件。共享软件是这样产生的,是因为没有办法中的办法。如果说程序直接等于软件的话,谁也不会轻易把程序丢到网上去。 
    开始做共享软件的人并不认为做它能赚钱,只是后来用的人多了,有人付钱给他了。共享软件使得程序和软件的距离缩短了,但是它与商业软件的距离会进一步拉大。商业软件的功能和所要达到的目标就不是一个人能“玩”得起来的了。这时的软件也已不是几个人、一个小组就能做出来的了。这就是在美国新的软件公司没法产生的原因。比如netscape网景是在1995~1996年产生的新软件公司,但是,两三年后它就不见了。 
    1.1.1 商业软件门槛的形成 
    1. 商业软件门槛的形成 
    商业软件门槛的形成是整个行业发展的必然结果。任何一个行业初始阶段时的门槛都非常低,但是,只要发展到一定的阶段后,它的门槛就必然抬高。比如,现在国内生产小汽车很困难,但在20世纪50年代~60年代的时候,你装4个轮子,再加上柴油机等就形成汽车。那时的莱特兄弟装个螺旋桨,加两个机翼,就能做飞机。整个行业还没有形成的时候,绝对可以这样做,但是,到整个行业形成时,你就做不了了。所有的行业都是这样的。 
    为什么网站一出来时那么多人去挤着做?这也是因为一开始的时候,看起来门槛非常低,人人都可以做。只要有一个服务器,架根网线,就能做网站。这个行业处于初始阶段时,情况就是这样的。但这个行业形成后,你就轻易地“玩”不了了。 
    国内的软件发展也是如此。国内的软件自从软件经销商形成以后,这个行业才真正地形成。有没有一个渠道是判断一个行业是否形成的很重要的环节。任何一个行业都会有一个经销渠道,如果渠道形成了,那么这个行业也就形成了。第一名的经销商是1994年~1995年成立的,也就是说,中国软件行业大概也就是在1995年形成的,至今才经历8年时间的发展。 
    有一种浮躁的思想认为,中国软件产业应该很快就能赶上美国。美国软件行业是上世纪80年代形成的,到现在已经发展了20多年了。中国软件行业才8年,8年才是一个懵懂的小孩,20多岁是一个强壮的青年,那么他们的力量是不对等的。但也要看到,当8岁变成15岁的时候,它真正的能量才会反映出来。 
    2. 软件门槛对程序员的影响 
    现在中国软件行业正在形成。所以,现在做一个程序员一定要有耐心,因为现在已经不等于以前了。你一定要把所有的问题搞清楚,然后再去做程序。 
    对于程序员来说,最好的工作环境是在现有的或者初始要成立的公司里面,这是最容易成功的。个人单枪匹马闯天下已经很困难了。即使现在偶尔做两个共享软件放在网上能成名,但是也已经比较困难了。因为现在做软件的人已经很多了。这也说明软件已经不等于程序了,程序也不等于软件。 
    程序要变成软件,这中间是一个商业化的过程。没有门槛以前,它没有这个商业过程,现在有这个行业了,它中间就有商业化的过程。这个商业的过程就不是一个人能“玩”的。 
    如果你开始做某一类软件的时候,别人已经做成了,这时你再决定花力气去做,那么你就要花双倍的力气去赶上别人。 
    现在的商业软件往往是由很多模块组成的,模块是整个系统的一部分。个人要完整地写一个商业系统几乎是不可能的。软件进入windows平台后,它已经很复杂了,不像在dos的时候,你写两行程序就能卖,做个zip也能卖。事实上,美国的商业编译器也不是一个人能“玩”的。现在你可能觉得它是很简单的,甚至linux还带了一个gcc,且源程序还在。你可以把它改一改,做个vc试一试,看它会有人用吗?它能变成软件吗?即使你再做个界面,它也还是一个gcc,绝对不会成为visual c++那样能商业化的软件。 
    可见,国外软件行业的门槛要比中国的高很多了。我觉得我们中国即使再去做这样的东西,也没有多大的意义了。这个门槛你是追不过来的。不仅要花双倍的力气,而且在这么短的时间内,你还要完成别人已经完成过的工作,包括别人所做的测试工作。只有这样,才能做到你的软件与别人有竞争力,能与它做比较。 
    1.1.2 认清自己的发展 
    如果连以上认识都不清楚,很可能就以为去书店买一本mfc高手速成之类的书,编两个程序就能成为软件高手。就好像这些书是“黄金”,我学两下,学会了vc、mfc,就能做一个软件拿出去卖了。这种想法也不是不行,最后一定能行,但要有耐心,还要有机遇。机遇是从耐心中产生的,越有耐心,就越有机遇。你得非常努力,要花很多的精力,可能还要走很多的弯路。 
    如果你是从mfc入手的,或是从vb入手的,则如要做出一个真正的能应用个人领域的通用软件,就会走非常多的弯路。直接的捷径绝对不是走这两条路。这两条路看起来很快,而且在很多公司里面确实需要这样的东西,比如说我这家公司就是为另一个家公司做系统集成的,那我就需要这样的东西,我不管你具体怎么实现,我只需要达到这个目标就行了。 
    任何软件的实现都会有n种方法,即使你是用最差的那种方法实现的,也没有问题,最后它还是能运行。即使有问题,再改一改就是。但是,做通用软件就不行了,通用是一对多,你做出来的软件以后要面向全国,如果将来自由贸易通到香港也好,通到国外也好,整个产品能销到全世界的话,这时候,通用软件所有做的工作就不是这么简单了。所以说,正确的入门方法就很关键。 
    如果你仅仅只是想混口饭吃,找个工作,可能教你成为mfc的高手之类的书对你就足够了。但是,如果你想做一个很好的软件,不仅能满足你谋一碗饭吃,还能使你扬名,最后你的软件还能成为很多人用,甚至你还想把它作为一个事业去经营,那么这第一步就非常关键。这时就绝对不能找一本mfc或找一本vb的书学两下就行,而是要从最底层开始做起,从最基本做起。 
    1.2 高手是怎样练成的 
    1.2.1 高手成长的六个阶段 
    程序员怎样才能达到编程的最高境界?最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工作,这都不是真正的高手境界。即使是这样的高手,那也都是无知者的自封。 
    我认为,一个程序员的成长可分为如下六个阶段。 
    ? 第一阶段 
    此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。 
    ? 第二阶段 
    此阶段能精通基于某种平台的接口(例如我们现在常用的win 32的api函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。 
    ? 第三阶段 
    此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”。 
    ? 第四阶级 
    此阶段能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行vxd或操作系统的内核的修改。 
    这时已经不再有语言的束缚,语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。一般来说,从第三阶段过渡到第四阶段是比较困难的。为什么会难呢?这就是因为很多人的思想变不过来。 
    ? 第五阶级 
    此阶段就已经不再局限于简单的技术上的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是“手中无剑,心中有剑”。到了这个阶段以后,能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是ms word这样的大型软件,只要有充足的时间,也一定会设计出来。 
    ? 第六阶级 
    此阶段也是最高的境界,达到“无招胜有招”。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。也就是“手中无剑,心中也无剑”。 
    此时,对于练功的人来说,他已不用再去学什么少林拳,只是在旁看一下少林拳的对战,就能把此拳拿来就用。这就是真正的大师级的人物。这时,win 32或linux在你眼里是没有什么差别的。 
    每一个阶段再向上发展时都要按一定的方法。第一、第二个阶段通过自学就可以完成,只要多用心去研究,耐心地去学习。 
    要想从第二个阶段过渡到第三个阶段,就要有一个好的学习环境。例如有一个高手带领或公司里有一个好的练手环境。经过二、三年的积累就能达到第三个阶段。但是,有些人到达第三个阶段后,常常就很难有境界上的突破了。他们这时会产生一种观念,认为软件无非如此,认为自己已无所不能。其实,这时如果遇到大的或难些的软件,他们往往还是无从下手。 
    现在我们国家大部分程序员都是在第二、三级之间。他们大多都是通过自学成才的,不过这样的程序员一般在软件公司也能独当一面,完成一些软件的模块。 
    但是,也还有一大堆处在第一阶段的程序员,他们一般就能玩玩vb,做程序时,去找一堆控件集成一个软件。 
    现在一种流行的说法是,中国软件人才现在是一个橄榄型的人才结构,有大量的中等水平的程序员,而初级和高级程序员比较少。而我认为,现在中国绝大多数都是初级的程序员,中级程序员很少,高级的就更少了。所以,现在的人才结构是“方塔”形,这是一种断层的不良结构。而真正成熟的软件人才结构应该是平滑的三角形结构。这样,初级、中级、高级程序员才能充分地各施所长。三种人才结构对比如图1.1所示。 
    图1.1 三种人才结构对比 
    1.2.2 初级程序员和高级程序员的区别 
    一般对于一个问题,初级程序员和高级程序员考虑这个问题的方法绝对是不同的。比如,在初级程序员阶段时,他会觉得vb也能做出应用来,且看起来也不错。 
    但到了中级程序员时,他可能就不会选择vb了,可能会用mfc,这时,也能做出效果不错的程序。 
    到高级程序员时,他绝对不是首先选择以上工具,vb也好,vc也好,这些都不是他考虑的问题。这时考虑的绝对是什么才是具有最快效率、最稳定性能的解决问题的方法。 
    软件和别的产品不同。比如,在软件中要达到某个目标,有n种方法,但是在n种方法中,只有一种方法或两种方法是最好的,其他的都很次。所以,要做一个好的系统,是很需要耐心的。如果没有耐心,就不会有细活,有细活的东西才是好东西。我觉得做软件是这样,做任何事情也是这样的,一定要投入。 

    程序员到达最高境界的时候,想的就是“我就是程序,程序就是我”。这时候我要做一个软件,不会有自己主观的思路,而是以机器的思路来考虑问题,也就是说,就是以程序的思考方式来思考程序,而不是以我去设计程序的方式去思考程序。这一点如果不到比较高的层次是不能明白的。 
    你设计程序不就是你思考问题,然后按自己的思路去做程序吗? 
    其实不是的。在我设计这个程序的时候,相当于我“钻”入这个程序里面去了。这时候没有我自己的任何思维,我的所有思维都是这个程序,它这步该怎么走,下步该怎么走,它可能会出现什么情况。我动这个部分的时候,别的部分是否要干扰,也许会动一发而牵全身,它们之间是怎么相互影响的? 
    也只有到达这个境界,你的程序才能真正地写好,绝对不是做个什么可视化。可视化本身就是“我去设计这个程序”,而真正的程序高手是“我就是程序”,这两种方法绝对是不同的。比如,我要用vb去设计一个程序,和我本身就是一个程序的思维方式,是不一样的。别人也许觉得操作系统很深奥,很复杂,其实,如果你到达高手状态,你就是操作系统,你就能做任何程序。 
    对待软件要有一个全面的分析方法,光说理论是没有用的。如果你没有经过第一、第二、第三、第四这四个阶段,则永远到达不了高境界。因为空中楼阁的理论没有用,而这些必须是一步一步地去做出来。 
    一个高级程序员应该具备开放性思维,从里到外的所有的知识都能了解。然后,看到世界最新技术就能马上掌握,马上了解。实际上,技术到达最高的境界后,是没有分别的。任何东西都是相通的,只要你到达这个境界以后,什么问题一看就能明白,一看就能抓住最核心的问题,最根本的根本,而不会被其他的枝叶或表象所迷惑,做到这一步后才算比较成功。 
    从程序员本身来说,如果它到达这一步以后,他就已经形成了开阔的思维。他有这种开放性思维的话,他就能做战略决策,这对他将来做任何事情都有好处。事实上,会做程序后,就会有一种分析问题的方法,学会怎么样把问题的表象剖开,看到它的本质。这时你碰到任何具体的问题,只要给点时间,都能轻而易举地解决。实际上,对开发计算机软件来说,没有什么做不了的软件,所有的软件都能做,只是看你有没有时间,有没有耐心,有没有资金做支撑。 
    这几年,尤其是这两三年,估计到2005年前,中国软件这个行业里面大的软件公司就能形成。现在就已经在形成,例如用友,它上市后,地位就更加稳固了。其他大的软件企业会在这几年内迅速长大。这时候,包括流通渠道、经销商的渠道也会迅速长大。也就是说,到2005年以后,中国软件这个行业的门槛比现在还要高很多,与美国不会有太大的差别。此时,中国软件才真正体现出它的威力来。如果你是这些威力中的一员,就已经很厉害了。 
    别人可能知道比尔?盖茨是个谈判的高手,是卖东西的高手,其实,比尔?盖茨从根本上来说是个程序高手,这是他根本中的根本。他对所有的技术都非常敏感,一眼就看到本质,而且他本身也能做程序,时常在看程序。现在他不做董事长,而做首席设计师,这时他就更加接近程序的本质。因为他本身就有很开阔的思维,又深入到技术的本身,所以他就知道技术的方向。这对于一个公司,对他这样的人来说,是非常重要的。 
    如果他判断错误一步,那公司以后再回头就很难了。计算机的竞争是非常激烈的,不能走错半步。很多公司以前看上去很火,后来就 
    销声匿迹了,就是因为它走错一步,然后就不行了。为什么它会走错?因为他不了解技术的本质在哪里,技术的发展方向在哪里。 
    比尔?盖茨因为父母是学法律的,所以他本身就很能“侃”,很有说服力,而他又是做技术的,就非常清楚技术的方向在哪里,所以他才能把方向把握得很准确,公司越来越大。而别的公司只火一阵子,他却火了还会再火。就算微软再庞大,你如果不把握好软件技术的最前沿,一样也会玩完。就像intel时刻把握着cpu的最新技术,才能保证自己是行业老大。技术决定它的将来。 

    所以,程序员要能达到这样的目标,就要有非常强的耐心和非常好的机遇才有可能。事实上,现在的机会挺好的,2005年以前机会都非常大,以后机会会比较小。但是,如果有耐心的话,你还是会有机会的,机会都是出在耐心里。我记得有句话说“雄心的一半是耐心”,我认为雄心的三分之二都是耐心。如果你越有野心,你就越要有耐心,你的野心才有可能实现。如果你有野心而没有耐心,那都是胡思乱想,别人一眼就能看穿。最后在竞争中,对手一眼就看到你的意图,那你还有什么可竞争的? 

    1.2.3 程序员是吃青春饭的吗 
    很多人都认为程序员是三十岁以前的职业,到了三十岁以后,就不应再做程序员了。现在的很多程序员也有这种想法,我觉得这种想法很不对。 
    在20世纪80年代末到90年代初,那时软件还没有形成行业,程序员不能以此作为谋生的手段时,你必须转行,因为你年轻的时候不用考虑吃饭的问题,天天“玩”都可以,但是以后就不可能了。 
    据我了解,微软里面的那些高手,几乎都是四五十岁的,而且都是做底层的。他们是上世纪70年代就开始“玩”程序的,所以对于整个计算机,他们是太清楚了。现在有些人主观臆断地希望微软第二天倒闭就好了,但那可能性太小了。因为那些程序员是从cpu是4004的时候开始,玩到现在奔腾iv,没有哪一代东西他们没有经历过。 
    你知道他们现在正在玩什么吗?现在正在玩64位的cpu。你说你普通的程序员,有这个耐心吗?没有这个耐心,你绝对做不了,你也绝对做不了高手。他为什么能做?因为他不仅是玩过来的,而且他还非常有耐心,每一步技术他都跟得上,所以对他来说,没有任何的难度和压力。 
    因为计算机技术没有任何时候是突变的。它的今年和去年相差不会很大,但是回过头来看三年以前的情况,和现在的距离就很大。所以说,如果你每年都跟着技术进步的话,你的压力就很小,因为你时刻都能掌握最新的技术。但是,如果你落下来,别说十年,就是三年,你就赶不上了。 
    如果你一旦赶不上,就会觉得非常吃力;如果你赶不上,你就会迷失方向;如果你迷失了方向,你就觉得计算机没有味道,越做越没劲。当你还只是有个思路的时候,别人的产品都做出来了,因为你的水平跟别人相差太远,人家早就想到的问题,你现在才开始认识。水平越高,他就看得越远,那么他的思维就越开阔;水平越低,想的问题就越窄。 
    64位cpu是这个十年和下个十年最重要的技术之一,谁抓住这个机会,谁就能抓住未来赚钱的商机。cpu是英特尔设计的,对这一点他肯定清楚。举例来说,如果从64位的角度来看现在的32位,就像从现在的角度去看dos。你说dos很复杂吗?当你在dos年代的时候,你会觉得dos很复杂。你说现在的windows不够复杂吗?windows太复杂了,但是你到了64位的时候再去看windows,就如同现在看dos一样。 
    整个64位系统的平台和思维方式、思路都比现在更开阔,打个比方说,现在的windows里面能开n个dos窗口,每个dos窗都能运行一个程序。到达64位的时候,操作系统事实上能做到开n个x86,开n个windows 98,然后再开n个windows 95都没有问题,系统能做到这一步,甚至你的系统内开n个windows nt都没有关系。这就是64位和32位的差别。所以,微软的那些“老头”,四、五十岁的那几个做核心的人,现在正在玩这些东西。你说微软的技术它能不先进吗?是linux那几个玩家能搞定的吗? 
    微软的技术非常雄厚,世界计算机的最新技术绝对集中在这几个人手里。而且这几个人的思维模式非常开阔,谁都没有意识到的东西他早就开始做了。现在64位的cpu都出来一二年了,你说有什么人去做这些应用吗?没有,有的就是那几个unix厂商做好后给自己用的。 

    所以,追求技术的最高境界的时候,实际上是没有年龄限制的。对我来说,现在都三十三了,我从来没有想过退出这行,我觉得我就能玩下去,一直玩到退休都没有问题。我要时刻保持技术的最前端,这样的话对我来说是不困难的,没有任何累的感觉。 
    很多人说做程序不是人干的事情,是非人的待遇。这样,他们一旦成立一个公司,做出一点成绩,在辉煌的时候马上就考虑退出。因为他们太苦了,每天晚上熬夜,每天晚上烧了两包烟还不够,屋子里面简直就缺氧了,好像还没有解决问题。 
    白天睡觉,晚上干活,那当然累死了,这是自己折腾自己。所以,做程序员一定要有一种正常的心态,就是说,你做程序的时候,不要把自己的生活搞得颠三倒四的。如果非得搞得晚上烧好多烟才行,这样你肯定折腾不到三十岁,三十岁以后身体就差了。 
    事实上,

    梁肇新:
     1970年出生于广西玉林,1989年就读于广西大学;
     1993年大学毕业后进入珠海巨人公司,从事软件开发工作,深入研究了Windows内核,开发出汉字平台系统;
     1995年7月离开巨人公司,独立创业;
     1997年独立开发出使其一举成名的《超级解霸3.0》,独创"Direct -CDROM"技术,因解决了电脑上播放VCD的读死问题而蜚声海内外;
     1999年创立北京世纪豪杰计算机技术公司,担任董事长兼首席程序员,在视音频编解码、网络传输、图像处理、操作系统等四大领域拥有多项专利。 

    “梁肇新这个人了不起,他走了一条跟我完全不同的路,依靠自学把Windows系统研究透了,不仅在编程技术上成为了绝顶的高手,而且在思想上也达到了很高的高度。我非常钦佩他。”
                    —陈榕(北京科泰世纪有限公司首席科学家,前微软COM+开发组核心成员)

    本书的作者梁肇新先生是国内著名的编程高手。他开发的“豪杰解霸”系列软件产品在中国的通用软件市场中是一个难得的亮点。我听过很多关于他的故事,给我的感觉是,他的编程技术,他的能力,他的意志品质和他的经历就好像一段传奇,相信他也是很多程序员心中的榜样。传奇是无法复制的,但是如果一个程序员对榜样仅仅抱着仰慕的心情而没有超越的野心,大概算不上是一个合格的程序员,而如果仅仅有超越的野心而不善于从榜样的身上学习,恐怕也算不上聪明的程序员。

        一般在事业上最成功的程序员都不太愿意动手写作。很多人是太忙不想写,也有一些人是想写却写不好。难得梁肇新先生这样的编程高手愿意抽出宝贵的时间,将自己的技术心得与读者分享,不能不说是中国程序员的幸事。梁先生在这本书里论述了多方面的技术问题,却都讲得相当深入。表面上来看,这本书的内容有些分散,其实形散而神聚,通篇体现出一个核心思想,就是要迎难而上,务求甚解,无论是硬件原理、操作系统模型还是MMX指令,一定要自己动手,把道理彻底弄明白。读者如果能够从书中感受到这种精神和方法,那么应该说就是大有收获的。

  • 给年轻工程师的十大忠告123全集

    2007-05-21 18:54:34

    给年轻工程师的十大忠告  
      诸位,咱当电子工程师也是十余年了,不算有出息,环顾四周,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强! 

    [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手! 

    [2]可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!给自己很大压力,如果你的心思全部放在这上面,那么注定你将成为孔乙己一类的人物!适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老还是个工程师! 

    [3]不要去做技术高手,只去做综合素质高手!在企业里混,我们时常瞧不起某人,说他“什么都不懂,凭啥拿那么多钱,凭啥升官!”这是普遍的典型的工程师的迂腐之言。8051很牛吗?人家能上去必然有他的本事,而且是你没有的本事。你想想,老板搞经营那么多年,难道见识不如你这个新兵?人家或许善于管理,善于领会老板意图,善于部门协调等等。因此务必培养自己多方面的能力,包括管理,亲和力,察言观色能力,攻关能力等,要成为综合素质的高手,则前途无量,否则只能躲在角落看示波器!技术以外的技能才是更重要的本事!!从古到今,美国日本,一律如此! 

    [4]多交社会三教九流的朋友!不要只和工程师交往,认为有共同语言,其实更重要的是和其他类人物交往,如果你希望有朝一日当老板或高层管理,那么你整日面对的就是这些人。了解他们的经历,思维习惯,爱好,学习他们处理问题的模式,了解社会各个角落的现象和问题,这是以后发展的巨大的本钱,没有这些以后就会笨手笨脚,跌跌撞撞,遇到重重困难,交不少学费,成功的概率大大降低! 

    [5]知识涉猎不一定专,但一定要广!多看看其他方面的书,金融,财会,进出口,税务,法律等等,为以后做一些积累,以后的用处会更大!会少交许多学费!!  

    [6]抓住时机向技术管理或市场销售方面的转变!要想有前途就不能一直搞开发,适当时候要转变为管理或销售,前途会更大,以前搞技术也没有白搞,以后还用得着。搞管理可以培养自己的领导能力,搞销售可以培养自己的市场概念和思维,同时为自己以后发展积累庞大的人脉!应该说这才是前途的真正支柱!!! 

    [7]逐渐克服自己的心里弱点和性格缺陷!多疑,敏感,天真(贬义,并不可爱),犹豫不决,胆怯,多虑,脸皮太薄,心不够黑,教条式思维。。。这些工程师普遍存在的性格弱点必须改变!很难吗?只在床上想一想当然不可能,去帮朋友守一个月地摊,包准有效果,去实践,而不要只想!不克服这些缺点,一切不可能,甚至连项目经理都当不好--尽管你可能技术不错! 

    [8]工作的同时要为以后做准备!建立自己的工作环境!及早为自己配置一个工作环境,装备电脑,示波器(可以买个二手的),仿真器,编程器等,业余可以接点活,一方面接触市场,培养市场感觉,同时也积累资金,更重要的是准备自己的产品,咱搞技术的没有钱,只有技术,技术的代表不是学历和证书,而是产品,拿出象样的产品,就可技术转让或与人合作搞企业!先把东西准备好,等待机会,否则,有了机会也抓不住! 

    [9]要学会善于推销自己!不仅要能干,还要能说,能写,善于利用一切机会推销自己,树立自己的品牌形象,很必要!要创造条件让别人了解自己,不然老板怎么知道你能干?外面的投资人怎么相信你?提早把自己推销出去,机会自然会来找你!搞个个人主页是个好注意!!特别是培养自己在行业的名气,有了名气,高薪机会自不在话下,更重要的是有合作的机会... 

    [10]该出手时便出手!永远不可能有100%把握!!!条件差不多就要大胆去干,去闯出自己的事业,不要犹豫,不要彷徨,干了不一定成功,但至少为下一次冲击积累了经验,不干永远没出息,而且要干成必然要经历失败。不经历风雨,怎么见彩虹,没有人能随随便便成功! 
    (秦风) 

    给年轻工程师十大忠告---后话 
    发布时间:2003-02-24 作者: 露寒人远 
      
      笔者去年写过一篇〈给年轻工程师十大忠告〉的文章,先后发表在21IC、大测控和网易等处。本是随意感触之笔,不料却引起轰动,议论纷纷,迄今已经在2600多个站点转载,浏览者不下百万之众。其中转载者竟然写出“一个美国老工程师的心里话--给年轻工程师的十大忠告”云云,让人觉得很有意思,咱这土包子不曾去过美利坚合众国,很崇敬人家的先进技术,只是对那些去国外洗过几年盘子,伺候洋人,回来却在乡亲们面前摆谱充大爷的人从来都是嗤之以鼻(狐假洋威)!也仔细浏览过很多读者反馈的意见和看法,大多数表示赞同,也有一些人表示了不同意见。这里针对大家的一些看法,作出一些回应,表示对大家的谢意(鞠躬!)。 
      笔者技术出身,技术上没啥造就,也正应了一些读者说的,三十好几岁还没啥成绩就该考虑考虑了。十余年的工程师生涯,先后一起喝酒、共事的工程师不下千人,高手也遇到不少,对他们的所思所想了解比较深刻,再加上自己漂泊打工的漫长坎坷经历,感触颇多,方成彼文,希望能对咱师弟师妹有所帮助。 
      我在前文中说得很明白,绝大多数人并不指望成为教授、院士!实际上也不可能!大多数工程师在企业工作,完全是商业运营,谁舍得花大把银子给你装备先进测试设备,送你参加各种学术会议,为你准备齐全的国内外专业期刊杂志,有耐心等你一两年出成果?笔者曾经被迫只用一台指针式三用表做寻呼台的编码器,累得吐血,你想能保证技术指标吗?你再看看国外大公司工程师的工作环境,你就知道自己有没有希望!当然你很努力,难道别人就不努力啦? 
      在科研院所特别是军工单位当然条件好很多,国家也舍得花钱。本人毕业初期曾经在某大型军工研究所工作,当时就有500MHZ的四通道数字示波器,还带微型打印机,可出来之后在台湾人、香港人那里都再也没有碰见,更别说从玉米地走出来的私营土老板了。可惜目前的管理体制太差,严重制约技术进步,任人唯亲,裙带关系,人浮于事,条条框框......有点新思维的人不是被打击就是被晾起来,有点本事的都跑了,相信很多人对此有体会,我也遇到很多从这些地方出来的工程师,我的一位师兄在内地某军工研究所工作,苦熬十几年,参加过多项部级大项目的开发,单片机开发颇有一些名气,最近来信说要下海来深圳打工,单位一房改,多年的积蓄翻了个底朝天,女儿的学费没着落,心寒了,走了! 
      当然,如果你以搞技术为乐趣,而不在意其他,那另当别论!总之,对大多数人而言,正确的心态是把技术看成养家糊口的饭碗,我经常给我这里的工程师讲:不要以为我们比门口钉鞋的张大爷高尚,本质上是一样的,都是靠手艺吃饭而已!实际上他的综合素质并不比我们低,而且在很多方面要向他学习(工程师的性格缺陷在前文已经叙述)。 
      再者,大家不是庙里的和尚,女朋友,家庭,小孩,孝敬父母.....这些都是你需要考虑的,否则,万分之一,你幸运地成了专家,却众叛亲离值得吗?我这里有几个工程师(有一位还曾是大学讲师,堪称软件高手)女朋友、老婆跟人跑了,伤心欲绝,为啥,都是银子惹得祸。 
      有人说,社会总得有工程师吧,不然......没错!多数工程师最终还是工程师,即使他不愿意,没办法,总不能跟自己的肚子过不去吧!干这个总算有小小体面,总算能裹腹,又不是所有的人都能发达!收起自己的理想,把自己算进门口卖荔枝的小姑娘一伙人,老老实实,过过日子,也不失为一种活法。别老有想头,自尊。老板可以道貌岸然地请你吃饭卡拉OK,奉承你几句,别飘飘然,骨子里就是把你和她们看成一类人,鄙视得很呢!笔者混到研发经理,总工的位置上都身同感受,更何况咱们这些还在埋头焊电路板的师弟师妹。 
      既然大多数人还是得搞技术,说这么多有什么用?其实道理大家都明白,但笔者有两点用意:一是师弟师妹们刚踏入行业,可塑性很强,或许能对他们有一些启发,能少走一些弯路,就很开心了。二是笔者的一些感触,不吐不快。老工程师中毒比较深,需要下重药才行。我正考虑给自己来一剂哩! 
      最后,为了避免人家把我这土生土长的纯种大陆工程师再搞成洋鬼子或假洋鬼子,让人心里不爽,干脆就署个名吧。秦风 

    给年轻工程师的十大忠告之三[转帖] 
    [ 作者:秦风    转贴自:中国测控联盟http://www.mcaxis.com 
       两年前写过一篇《给年轻工程师的十大忠告》,过了大半年又写了《给年轻工程师的十大忠告》后话,均引起工程师们的热烈关注,很多人写了邮件给我,或称呼为“老师”,或称呼为“大哥”。“老师”自不敢当,“大哥”权且担当,岁数大,过来人而已。由于工作关系,而且信件比较多,不能一一回复,在此深表歉意。这里写出之三,算是对大家的一个交代。 
       很多年轻的朋友对前途迷茫,“不知该往哪里去”,其实,现在社会机会多多,有点出息也不是没有机会,关键是方向的把握。人不能改变社会,只能适应社会,社会需要什么样的人,咱们就朝这个方向修炼,即使修不成罗汉,至少也能修成满面油光的和尚!年轻的朋友走上社会,往往心高气傲,志向远大,随着不断遇到挫折,愿望会越来越小,很多人过了三十就只求小康温饱,何也?自信心逐渐褪色,主观思想逐渐现实,家庭的拖累,环境的限制,个人性格的缺陷等等。我始终认为:性格决定命运!知识或技能是次要的,而心态和性格才是主要的。如同企业选人才,首先是他的性格,是否属于开放、包容一类,是否善于与人交流沟通,是否能够专注,是否善于自我总结,是否没有偏执症状等,而技能的高低反而在其次。年轻朋友们掌握这个大方向是有前途的关键,几乎决定了一生的命运!
        当然,上面的话有些虚幻,不是那么明确。每个人的具体情况不同,当然不可能走同样的路。但几个原则却是一致的。在前面两篇文章中也有叙述:千万不可沉湎于技术,什么叫沉湎?就是神思全部的投入,做了一个项目如同范进中举般欣喜若狂,觉得自己才是最聪明智慧的人,老板、同事这个不懂,那个无知,好象自己才是天下的英才,其实这种想法很幼稚、很愚蠢,是自恋症而已,永远记住:自己是沧海一粟;要善于丰富自己的各项技能,知识面要广泛,什么是复合型人才,说白了,就是一物多用。每一行、每一个职位都有其高深之处,别以为只有C++才是学问,很多工作的学问比C++要复杂很多;有出息未必一定要去做销售,但销售确实是最锻炼人的综合能力的工作,是对人的综合素质的考量。因此,我非常支持能去做一段时间的销售,哪怕你不喜欢,哪怕不是为了银子,只要去做,一生将收益无穷,这是切身感受!最的好处是学会了与人沟通的技巧、理解了解别人,培养市场感觉,这恰恰是那些闭门造车的工程师感觉前途渺茫的最根本原因!其实每个话题都值得写大篇文章,这里只能简短截说,讲个大概。
        人人都有理想或目标,对绝大部分人而言,你没有希望成为比尔.盖茨、李嘉诚,也没希望成为陈景润、钱学森,你可以不信邪,你可以认为自己空前绝后,你一辈子只能是普通人!你一样需要钱,甚至是渴望。社会认可一个人的尺度也是钱,而不是你学会了单片机!单片机能够让你裹腹,却不能让你挣脱钱的束缚,为了钱,你不得不点灯熬油搞开发,而此时你的小学结业的大老粗老板正搂着小蜜喝着法国红酒洗桑那,而你还得挤出笑脸谄媚地吹捧他,你也会为了区区几百元的年终奖贬低同事以抬高自己的身价……这就是现实,这就是社会!我在这里不是刻意贬低工程师,只是想说明,技术的高低与社会道德没有直接关系,如果非要说不同,那就是知识分子更虚伪!其实我们都是普通人而已。
        既然是普通人,就该用普通人的眼光看待人和事物。说明白了,怎么多挣钱才是唯一的正途。既然目标是挣钱,那么其他就是其次了。可能有人说,谁都想挣钱,不就是没办法吗?的确,挣钱不容易,但观念错了,就真正没希望了,所以首先要改变观念,把自己和街头卖水果的婶子看成一类人,放下架子,融进社会中去,卖水果也有学问,起码人家察言观色、判断人的眼光绝对在你之上。别看你的老板笑眯眯地夸你能干,是个人才,那是免费的兴奋剂而已,骨子里看你不过是个臭打工仔,和那些民工没什么两样。
        有人说,我的技术好,工资也不少啊?的确,有那么一些技术过硬的人可以拿5、6K,甚至10K以上,一般也就是这个数字,可你知道,这个数字在很多初中毕业的销售人员看来其实很一般的。我时常遇到年收入10几万甚至更高的销售人员,可你知道,他们连写个报告都文理不通啊。据统计中国的百万富翁有300万,你说你排在哪里?还在为娶媳妇的房子发愁呢。
       从来就没有什么救世主,也没有神仙皇帝,要改变一切,只有靠我们自己!
       当然,我不是说工程师都去跑销售挣钱,而是说要结合自己的特点,优势寻求发展机会。有人说哪里有机会啊?其实机会就在身边,就看你有没有眼光看到,就看你有没有能力抓住!
       没有眼光,所以要练眼光,没有能力,所以要修炼工夫!有了好的项目,一旦与市场结合,也就是发展的机会。说起来简单,操作起来其实蛮需要技巧,需要很多专业知识以外的东西。详尽的阐述还是放在以后的文章里吧。别太执着于专业,好象离开专业就损失了大学的知识,好象就失去了精神依托。专业只是你取得成功的一个因素,而且还远远不是主要因素,其实你可能在其他方面更有天赋而你还没有觉察,当局者迷而已!敢于舍弃,没有舍弃,如何获得?我们已经清楚,自己是普通人,现在最需要的是钱,哪怕我们是理想主义者,钱就能帮助我们实现理想!既然如此,还有什么可犹豫的?
        当然,也不要盲目,假如你的功夫(不仅仅是专业知识)还很幼稚可笑,最好闷着头先修炼,盲动造成损失不谈,关键是打击了你的信心,甚至人你认为:咱就是当工程师的材料,做别的,咱不行啊。唉,就这样算了吧,该放就放!聪明的做法是先在老板那里拿着薪水练兵,多看多听多琢磨,却要少说,别太早让老板看出你的野心来。
        现在是夜里三点二十二分,扯了许多,很累,眼睛之流水。还是准备结束这篇文章吧,余下的话到“之四”里说吧。顺便说说,一些正统人士可能反对或怀疑我的某些观点,咱要事先声明,绝无坏心,引导师弟师妹们走上邪路,这是浪迹江湖十余年的工程师生涯的真实体会而已,对与错,先不要下结论,让师弟师妹们体会几年之后告诉你他们的感受再说!

  • 一个30岁老PM的七年之痒,顺带晒工资

    2007-05-21 18:14:51

    我做软件七年了,不是计算机本科毕业的(后来自修了本科),

    去过上海和广州,现在刚回到武汉,用在外地赚的血汗钱买了房子

    现在的职位是PM,是一家做欧洲外包的公司,国内公司

    薪水是税前5600,加手机费补贴、车贴、伙食等,算下地是税前6500左右,另外有些项目奖金,平摊到每个月大概是700左右的样子,14个月工资

    人过30了,现在很迷惘,感觉做下去,上升的空间很小了,需要一个机遇突破,不能再做技术了

    对做技术的前途有一种恐惧感,这种感觉只属于3打头的人吧

    时间会过得很快的,刚毕业时才22岁,转眼就过30了,似乎真的只是一瞬间

    奉劝年轻的各位,珍惜自己的年轻,一夜间,你就会发现自己老了

    老了,就会身体不行了,思维变慢了,以前一个小时就能写好的程序,突然需要三天才能写出来,还会间歇性的思维停顿,混乱,无法象年轻时一样集中思维。曾经号称最厉害的高手,变得不敢写程序了,只能做些文档和统筹工作,技术高手的岁月,一去不复还了。会害怕,会努力学习,但是却学不进去,太多繁琐的事情,老婆、孩子、家庭、贷款、父母,以前是受别人照顾,突然间所有的一切都需要自己去关心照顾,压力,各方面的压力,精力不能再集中,只能感叹,老了。

    曾经也有年轻时什么难题也不怕,每天的时间都泡在代码里,狂热地学习,咬着牙一个月啃完一本砖头,一天16小时坐在电脑前的时候,一夜间,那个自己离开了,无力留住。偶尔上论坛看看,为能感受到一些刚毕业的,年轻的程序员的激情,和自己当年有些许的相似。

    原来不懂为什么程序员要在35岁退休,想那完全是笑话,自己能一直狂热地学习到40,50岁,做最顶尖的高手,现在才刚过30,却懂了。

    偶尔和老同学喝喝酒,有的已经做了小官僚,权力不大,但是就靠那些权力和灰色收入过得有滋有味;有的成了业务经理,开着30万的车到处撩小姑娘;有的已经是公司的副总,职位体面,收入丰厚,前途光明。再看看自己,除了已经丢掉的技术,还有什么?即使是收入,在这个年龄的这个阶层中,也算不上高收入。非常的想试试转去做业务,但是扯不下脸皮,也害怕丢掉现在的位置,人在十字路口,不知道该向哪个方向了。

    是为快31岁时之记。

  • .net工程师必懂题

    2007-05-21 17:58:53

    1.面向对象的思想主要包括什么?

    2.什么是ASP.net中的用户控件

    3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?

    4.列举一下你所了解的XML技术及其应用

    5.值类型和引用类型的区别?写出C#的样例代码。

    6.ADO.net中常用的对象有哪些?分别描述一下。

    7.如何理解委托?

    8.C#中的接口和类有什么异同。

    9.。net中读写数据库需要用到哪些类?他们的作用

    10.UDP连接和TCP连接的异同。

    11.ASP.net的身份验证方式有哪些?分别是什么原理?

    12.进程和线程分别怎么理解?

    13.什么是code-Behind技术。

    14.活动目录的作用。

    15..net中读写XML的类都归属于哪些命名空间?

    16.解释一下UDDI、WSDL的意义及其作用。

    17.什么是SOAP,有哪些应用。

    18.如何部署一个ASP.net页面。

    19.如何理解.net中的垃圾回收机制。

    20.常用的调用webservice方法有哪些?

     

    1.      填空: (1)面向对象的语言具有___继承性、_封装___性、___多态性。

            (2)能用foreach遍历访问的对象需要实现 IEnumerable接口或声明GetEnumerable 方法的类型。

            (3)列举ADO.net中的五个主要对象Command、Connection、DataSet、DataSetCommand、DataReader。

    2. 不定项选择:

    (1) 以下叙述正确的是: 

          A. 接口中可以有虚方法。     B. 一个类可以实现多个接口。 
          C. 接口不能被实例化。       D. 接口中可以包含已实现的方法。 

       (2) 从数据库读取记录,你可能用到的方法有:

          A. ExecuteNonQuery            B. ExecuteScalar

          C. Fill                        D. ExecuteReader

    3. 简述 private、 protected、 public、 internal 修饰符的访问权限。


    4. 写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键,  注意:ID可能不是连续的。) 


    5 .列举ASP.NET 页面之间传递值的几种方式。 


    6. 写出程序的输出结果 

    class Class1  { 
           private string str = "Class1.str"; 
           private int i = 0; 
           static void StringConvert(string str)  { 
               str = "string being converted."; 
           } 
           static void StringConvert(Class1 c)  { 
               c.str = "string being converted."; 
           } 
           static void Add(int i)  { 
               i++; 
           } 
           static void AddWithRef(ref int i)  { 
               i++; 
           } 
           static void Main()  { 
               int i1 = 10; 
               int i2 = 20; 
               string str = "str"; 
               Class1 c = new Class1(); 
               Add(i1); 
               AddWithRef(ref i2); 
               Add(c.i); 
               StringConvert(str);         
               StringConvert(c); 
               Console.WriteLine(i1); 
               Console.WriteLine(i2); 
               Console.WriteLine(c.i); 
               Console.WriteLine(str); 
               Console.WriteLine(c.str); 
           }  
        } 


    7.写出程序的输出结果 

    public abstract class A  

            public A()  
           { 
                Console.WriteLine('A'); 
            } 
            public virtual void Fun()  
           { 
                Console.WriteLine("A.Fun()"); 
            } 

    public class B: A  

            public B() 
           { 
                Console.WriteLine('B'); 
            } 

            public new void Fun()  
           { 
                Console.WriteLine("B.Fun()"); 
            } 

            public static void Main()  
           { 
               A a = new B(); 
               a.Fun(); 
            } 


    8.      写出程序的输出结果: 
    public class A  

            public virtual void Fun1(int i) 
           { 
                Console.WriteLine(i); 
            } 

            public void Fun2(A a)   
           { 
                a.Fun1(1); 
                Fun1(5); 
            } 


    public class B : A  

            public override void Fun1(int i)    
           { 
                base.Fun1 (i + 1); 
            } 

            public static void Main()   
           { 
                B b = new B(); 
                A a = new A(); 
                a.Fun2(b); 
                b.Fun2(a);          
            } 

     

    9. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 

       求第30位数是多少, 用递归算法实现。(C#语言)


    10.  程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言) 

    要求:  1.要有联动性,老鼠和主人的行为是被动的。

    2.考虑可扩展性,猫的叫声可能引起其他联动效应。 

    问题: 
    1.ASP.NET中的身份验证有那些?你当前项目采用什么方式验证请解释 
    2.什么是WEB控件?使用WEB控件有那些优势? 
    3.请解释ASP。NET中以什么方式进行数据验证? 
    4.请谈谈对正则表达式的看法? 
    5.ASP。NET中共有几种类型的控件?各有什么区别? 
    6.WEB控件可以激法服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。 
    7.WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用? 
    8.ASP。NET与ASP相比有什么优势? 
    9.请解释web.config文件中的重要节点 
    10.请解释ASP。NET中的web页面与其隐藏类之间的关系? 
    11.什么是viewstate,能否禁用?是否所用控件都可以禁用? 


    13.当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决 
    14.请解释一个WEB页面中代码执行次序。 
    15.请解释什么是上下文对象,在什么情况下要使用上下文对象 
    16.请解释转发与跳转的区别? 
    17.请解释ASP.NET中不同页面之间数据传递有那些方式? 
    18.请解释ASP。NET中button  linkbutton imagebutton 及hyperlink这四个控件之间的功别 
    19.请解释一下。NET多层应用程序中层与层之间以那几种方式进行数据传递。并解释你自己的项目中采用那种方式进行。 
    20.如果出现ASP。NET中的事件不能触发可能由于什么原因造成? 
    21.如果需要在datagride控件中的某一列中添加下拉列表框并绑定数据怎么解决? 
    22.请解释asp.net中的数据绑定与传统数据绑定有什么区别? 
    23.请解释.net采用委托实现的事件模型与JAVA中采用接口实现的事件模型有什么区别,以图示方式解释。 
    24.请解释接口的显式实现有什么意义? 
    Q:您在什么情况下会用到虚方法?它与接口有什么不同?

    Q:Override与重载有什么区别?

    Q:值类型与引用类型有什么区别?

    Q:怎样理解静态变量?

    Q:向服务器发送请求有几种方式?

    Q:DataReader与Dataset有什么区别?

    Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?

    Q:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?

    Q:软件开发过程一般有几个阶段?每个阶段的作用?

    Q:微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?

    Q:请列举一些您用到过的设计模式以及在什么情况下使用该模式?

    Q:您对WebService的体会?

    以下几道题目如果您不会,请较为详细的描述您的解决思路和方法

    Q:通过超链接怎样传递中文参数?

    Q:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?

    Q:请编程实现一个冒泡排序算法?

  • 把业务逻辑放在服务器上要怎么实现

    2007-05-21 17:53:29

    创建业务实体层,映射数据库的关系,其业务逻辑在中间服务器层实现,减轻了数据库服务器的压力。有利于负载均衡
  • Java程序开发者需要了解的十大清规戒律

    2007-05-21 17:52:56

    对Java开发者来说,有许多的标准和最佳实践。本文列举了每一个开发人员必须遵从的十大基本法则;如果有了可以遵从的规则而不遵从,那么将导致的是十分悲惨的结局。


    1. 在你的代码里加入注释

    每个人都知道这点,但不知何故忘记了遵守。算一算有多少次你“忘记”了添加注释?这是事实:注释对程序在功能上没有实质的贡献。但是,你需要一次又一次的回到你两个礼拜之前写的代码上来,可能一辈子都是这样,你一定记不住这些代码为什么会这样。如果这些代码是你的,你还比较的幸运。因为它有可能让你回忆起。但是不幸的是,很多时间,这些代码是别人的,而且很有可能他已经离开了公司。


    2. 不要让事情复杂化

    我以前就这么干过,而且我相信所有的人都这么干过。开发人员常常为一个简单的问题而提出一个解决方案。我们为仅仅只有5个用户的应用而引入EJBs。我们为一个应用使用框架而它根本不需要。我们加入属性文件,面向对象的解决方案,和线程到应用中,但是它根本不需要这些。为什么我们这样做?我们中的一些人是因为不知道怎么做更好,但是还有一些人这样做的目的是为了学习新的知识,从而使得这个应用对于我们自己来说做得比较有趣。


    3. 牢牢记住——“少即是多(less is more)”并不永远是好的

    代码的效率是一伟大的事情,但是在很多情况下,写更少的代码行并不能提高该代码的效率。请让我向你展示一个简单的例子。

     

    if(newStatusCode.equals("SD") && (sellOffDate == null ||
    todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&
    todayDate.compareTo(lastUsedDate)>0)) ||
    (newStatusCode.equals("OBS") && (OBSDate == null ||
    todayDate.compareTo(OBSDate)<0))){
    newStatusCode = "NYP";
    }
     


    我想问一句:说出上面的那段代码的if条件想干什么容易吗?现在,我们再来假设无论是谁写出这段代码,而没有遵从第一条规则——在你的代码里加入注释。

    如果我们把这个条件分到两个独立的if陈述句中,难道不是更简单一些吗?现在,考虑下面的修正代码:

     

    if(newStatusCode.equals("SD") && (sellOffDate == null ||
    todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&
    todayDate.compareTo(lastUsedDate)>0))){
    newStatusCode = "NYP";
    }else
    if(newStatusCode.equals("OBS") && (OBSDate == null ||
    todayDate.compareTo(OBSDate)<0))
    {
    newStatusCode = "NYP";
    }
     


    难道它不是有了更好的可读性?是的,我们重复了陈述条件。是的,我们多出了一个多余的“IF”和两对多余的括弧。但是代码有了更好的可读性和可理解性。


    4. 请不要有硬代码

    开发人员常常有意识的忘记或者忽视这条规则,原因是我们,和一般时候一样,在赶时间。如果我们遵从这条规则,我们可能会赶不上进度。我们可能不能结束我们的当前状态。但是写一条额外的定义静态常量的代码行又能花费我们多少时间呢?

    这里有一个例子。

    public class A {


    public static final String S_CONSTANT_ABC = "ABC";


    public boolean methodA(String sParam1){

    if(A.S_CONSTANT_ABC.equalsIgnoreCase(sParam1)){

    return true;

    }

    return false;

    }

    }

    现在,每一次我们需要和某一些变量比较字符串“ABC”的时候,我们只需要引用S_CONSTANT_ABC,而不是记住实际的代码是什么。它还有一个好处是:更加容易在一个地方修改常量,而不是在所有的代码中寻找这个代码

     

    不要发明你自己的frameworks


    已经推出了几千种frameworks,而且它们中的大多数是开源的。这些frameworks中间有很多是极好的解决方案,被应用到成千上万的应用中。你们需要跟上这些新frameworks的步伐,最起码是肤浅的。在这些极好的、应用广泛的frameworks中间,一个最好的、最直接的例子是Struts。在你所能想象到的frameworks中,这个开源的web frameworks对于基于web的应用是一个完美的候选者。但是你必须记住第二条规则——不要让事情复杂化。如果你开发的应用只有三个页面—请,不要使用Struts,对于这样一个应用,没有什么“控制”请求的。


    6. 不要打印行和字符串相加

    我知道,为了调试的目的,开发人员喜欢在每一个我们认为适合的地方添加System.out.println,而且我们会对我们自己说,会在以后删掉这些代码的。但是我们常常忘掉删去这些代码行,或者我们根本就不想删掉它们。我们使用System.out.println来测试,当我们测试完成以后,为什么我们还能接触到它们呢?我们可能删掉一行我们实际需要的代码,仅仅是因为你低估了System.out.println所带来的伤害,考虑下面的代码:

     

    public class BadCode {
    public static void calculationWithPrint(){
    double someValue = 0D;
    for (int i = 0; i < 10000; i++) {
    System.out.println(someValue = someValue + i);
    }
    }
    public static void calculationWithOutPrint(){

    double someValue = 0D;
    for (int i = 0; i < 10000; i++) {
    someValue = someValue + i;
    }

    }
    public static void main(String [] n) {
    BadCode.calculationWithPrint();
    BadCode.calculationWithOutPrint();
    }
    }
     

    根据测试,calculationWithOutPrint()方法的运行花了0.001204秒。相比较而言,运行calculationWithPrint()方法花了令人惊讶的10.52秒。


    (如果你不知道怎么得到一个像这样的表格,请参阅我的文章“Java Profiling with WSAD” Java Profiling with WSAD)

    避免这样一个CPU浪费的最好方法是引入一个包装器方法,就象下面这样:

     

    public class BadCode {

    public static final int DEBUG_MODE = 1;
    public static final int PRODUCTION_MODE = 2;

    public static void calculationWithPrint(int logMode){
    double someValue = 0D;
    for (int i = 0; i < 10000; i++) {
    someValue = someValue + i;
    myPrintMethod(logMode, someValue);
    }
    }

    public static void myPrintMethod(int logMode, double value) {


    if (logMode > BadCode.DEBUG_MODE) { return; }


    System.out.println(value);
    }
    public static void main(String [] n) {
    BadCode.calculationWithPrint(BadCode.PRODUCTION_MODE);
    }
    }
     

    根据测试,使用了StringBuffer的那个方法只花了0.01秒来执行,而那个使用了字符串相加的方法却花了0.08秒来运行。选择是显而易见的。


    7. 关注GUI

    不管这听起来有多么可笑,我都要再三地说明:GUI对于商业客户来说和功能和性能一样重要。GUI是一个成功的系统的必要的一部分。(但是),IT杂志常常倾向于忽视GUI的重要性。很多机构为了省钱而不雇用那些在设计“用户友好”GUI方面有丰富经验的设计人员。Java开发人员不得不依赖他们自己的HTML知识,但是他们在这方面的知识十分有限。我看到过很多这样的应用:它们是“计算机友好”,而不是“用户友好”我很少很少能看到有开发人员既精通软件开发,又精通GUI开发。如果你是那个不幸的开发人员,被分配去开发用户接口,你应该遵从以下的三条原则:

    一、不要重复发明轮子。寻找有相似用户接口需求的已经存在的系统。

    二、首先创建一个原型。这是非常重要的步骤。客户喜欢看看他们将要得到什么。这对你来说也是很好的,因为在你全力以赴而做出一个将要使用户生气的用户接口之前,你就得到了它们的反馈。

    三、戴用户的帽子。换一句话说,站在用户的视角检查应用的需求。例如,一个总结页面到底要不要分页。作为一个软件开发者,你倾向于在一个系统中忽视分页,因为这样使得你有比较少的开发复杂性。但是,这对于从一个用户的视角来说却不是最好的解决方案,因为小结的数据将会有成百上千个数据行。


    8. 永远准备文档化的需求

    每一个业务需求都必须文档化。这可能在一些童话故事里才能成真,但是在现实世界却不可能。不管时间对于你的开发来说是多么紧迫,也不管交付日期马上就要到来,你永远都必须清楚,每一个业务需求是文档化的。


    9. 单元测试、单元测试、单元测试

    我将不会深入地讨论哪些什么是把你的代码进行单元测试的最佳方法的细节问题。我将要说的是单元测试必须要做。这是编程的最基本的法则。这是上面所有法则中最不能被忽略的一个。如果你的同事能为你的代码创建和测试单元测试,这是最好不过的事。但是如果没有人为你做这些事,那么你就必须自己做。在创建你的单元测试计划的时候,遵从下面的这些规则:

    一、在写代码之前就写单元测试用例。

    二、在单元测试里写注释。

    三、测试一切执行“interesting”功能的公有方法(“interesting”的意思是非setters或getters方法,除非它们通过一种特殊的方式执行set和get方法)。


    10. 记住—质量,而不是数量。

    不要在办公室里呆得太晚(当你不必呆的太晚的时候)。有时,产品的问题、紧迫的最终期限、意想不到的事件都会阻止我们按时下班。但是,在正常情况下,经理是不会赏识和奖赏那些下班太晚的员工的,他赏识他们是因为他们所做产品的质量。如果你遵从了我上面给出的那些规则,你将会发现你的代码更加少的bug,更加多的可维护性。而这才是你的工作的最重要的部分。


    总结

    在这篇文章里,专家给出了针对Java开发人员的十个重要的规则。重要的不仅仅是知道这些规则,在编码的过程中遵从这些规则更为重要。希望这些规则能够帮助大家成为更好的编程人员和专业人员。

  • 作为程序员,简单的测试,看你的潜质

    2007-05-21 17:48:09

    第一题

    有12个球中有一个异常球,请用天平3次称出这个球,并说出该球是轻是重?

    第二题

    有27个球,其中有1个球稍重,其他26个球重量相同,所有球外貌一模一样,一个天平(容许天平放多个球),请你说出找出那个重球最快最简方案!!

    限时:
        A  <5秒   你很有潜质
        B  <10秒  有潜质
        C  <15秒  需加强思维训练
        D  >15秒  ……………………

  • Tell us about your large LabVIEW applications

    2007-05-18 18:51:42

  • 如何写好单片机程序

    2007-05-18 15:56:53

     

    一个好的单片机程序,要有可读性,健壮性,和可升级性!

        对于可读性,我想很多电子工程师是有体会的,我也见过很多年轻的工程师,他们写的程序,只有他们自己当时能理解,没有说明,没有注释。如果隔一段时间,他们也忘记了,所以注释和说明虽然说对程序的运行没什么关联,但是对程序和今后维护非常重要。

        单片机程序的健壮性,比应用软件的健壮性更重要,单片机程序出错影响到单片机控制的外设以及单片机控制的设备,如果在开发的时候不注意认真调试,那么在实际应用中损失更大。

        单片机程序的可升级性是单片机系统可升级的基础,所以在单片机开发的时候尽量选择带flash型和支持Jtag在线下载的单片机,这样可以在线调试和下载,单片机程序可随时更新。

        在程序开发调试的时候,尽量用条件编译,可以把调试输出放在条件编译的中间,如#define Debug  1;如#ifdef........#endif。如果在调试完成后,可以把#define Debug  1注释掉即可。

        在很多时候单片机开发更多是一种经验,希望对大家有所帮助。

  • 程序员的成功之路

    2007-04-13 20:41:59

    程序员成功之路 ——The road ahead for programmer(演讲稿)

    我很羡慕在座的各位同学,因为你们是中国未来的程序员,而我不是,我一直很遗憾。
    比尔盖茨曾经写过一本书叫做《未来之路》The road ahead, 那么今天我选择这样一个题目,the road ahead for programmer, 程序员的未来之路,也就是程序员的成功之路,希望大家未来也能够拥有像比尔盖茨一样的智慧的头脑和开一家像微软一样的公司。俗话说:心有多大,人生的舞台就有多大!
    最近看了几篇csdn上的漫漫人生路专辑,很有感触,这里摘抄了几句,非常愿意和大家分享, 优秀程序员的心里话:
    编程的原因是喜欢,不是为了别的。 
    从摸上电脑的那一刻,我就知道,这才是我的世界。
    我一心一意地想作个程序员,尽管知道很累。
    人真的不能轻言放弃,否则,失去的永远无法挽回!
    生命是一种长期而持续的累积过程 
    所有成功的人都有一个不变的黄金法则: 积累!与 坚持!
    大家听了这些话,不知道是怎样的想法呢?
    提问,(1)你以前有没有读过这样的文章或有没有程序员跟你说过这样的感受?
    (2)你怎样看待程序员这个职业?你有这种感觉吗?
    上面的话其实都在说明一个道理,只有全身心地投入,写程序才会有意思,才会体会到其中的乐趣。
    电脑的世界其实很大,程序员是活在自己想象的王国里。你可以想象到电脑里细微到每一个字节、每一个比特位的东西。通过电脑可以实现你的设想,解决你的问题。电脑远没有人那么复杂,如果程序写得好,你就可以和电脑处好关系,就可以指挥电脑干你想干的事。每每你坐在电脑面前,这个时候你是十足的主宰。
    理想和梦想,比尔盖茨自从见到了计算机这个东西,就想象有一天个人计算机将是每一部办公桌面系统以及每一家庭的必备的工具,并为这一信念所指引,开始为个人计算机开发软件。
    程序人生:可以把程序作为你的人生,也可以把你的人生当作程序来设计。
    你的父母把你生下来,你的身体就是一台计算机,而上面运行的软件就是你的思想,这个软件版本高低功能的强弱,就看你的思想境界。思想软件需要你自己慢慢地去编写,可能父母教给了你最基本的语言,但是其他的高级语言和技能需要你长大以后要自己去学习,你能精通几门语言是你的本事。 
    第一步,随着你渐渐的长大,你开始有了需求,各种各样的需求,一开始你只是想要一块巧克力糖,一个新书包,一件新衣服,一辆崭新的自行车;后来你可能就想要一栋房子、一辆好车,你开始追求高质量的的物质生活、精神生活,你追求成功与快乐、还要求更好的发展,希望得到别人的尊敬,过一份有尊严的生活。需求很多很多,仔细分析你的需求,想想你最想要什么?怎样去实现它。
    第二步,是很关键的一步,你要设计自己的人生程序。你首先要概要设计,你希望将来成为一个怎样的人,分几大步实现这个目标,少年、青年、成年、中年、老年。可能有求学程序、出国程序、恋爱程序、求职程序、事业程序、升职程序、结婚程序等等。概要设计后还要进行详细设计,你每个月每个星期做些什么,每个小模块里面有每个阶段的小的目标,小程序,这个星期读完一本书,下个月参加考试,然后写一篇论文等等,虽然说人生不可能完全规划出来,但是经过设计的人生远远比没有设计过的人有更有意义,好好的设计你的人生吧。
    第三步,是编码和测试,你大多数时间都在不停的编码,同时还要不停的测试,编码的过程十分的辛苦,需要耐心和思考,你会觉得苦闷、烦躁不安、寂寞、痛苦、迷茫与无奈,但有些时候又十分开心、兴奋虚荣、骄傲和满足。编码的过程充分体现了人生琐碎与不如意和艰难,bug永远存在,人生也在不断的犯错误和不断地总结。就像一个程序不能编写得完美一样,人生也是不完美的,你不可能处处要求完美,很多地方需要同别人交流和互相借鉴。测试可以分为内部测试和外部测试,经过测试,你发现自己的错误,并想方设法改正它,然后成长起来。
    第五步是集成和软件发版,你的设计的人生软件要拿到市场上去卖,能不能卖上好价钱,要看软件的功能和特色,性价比、看软件的包装,你有没有高人一等的杰出才能,你有没有于其它软件相比的竞争力,软件的价值,也就是你人生的价值。当然你可能是一个很高尚的人,编一些免费的软件,不做比尔盖茨,做linus torvols也挺好的,在自由的空气在互联网上空飘荡。看你自己的选择!不过这个世界好像更欢迎前者,linus住在拥挤的民用公寓里。而比尔盖茨住在自己像皇宫一样的豪宅里面当帝王,你首先要解决生存的问题,然后再去考虑其他得东东。
    好好的谱写你的人生程序,人这一辈子真是要追求点什么才有意义!在谱写你的人生程序之前,首先看一看你的前辈们是怎样谱写他们的成功人生的!(慢一点儿)
    国外著名程序员
    冯•诺伊曼和阿兰•图灵计算机之父,图灵机是现代通用计算机的原型
    小托马斯•沃森,蓝色巨人IBM创始人,迅速发展起来,40%的利润率 
    史蒂夫•乔布斯,苹果公司的总裁 
    肖克利博士因将其一生献给其钟爱的晶体管事业而名垂计算机史。
    蒂姆•贝纳斯-李的最大贡献当属发明了WWW(Word Wide Web,万维网)。他也因此而以“Web之父”及大多数浏览器标准的监护人而闻名于世
    最早干起计算机软件编程的不是盖茨,而是他的朋友和竞争对手加里•基尔代尔。 作为最伟大的程序设计员和设计家之一,他搞程序主要是出于缜密思维的雅兴,而不是为了赚钱。当时他开发了一个CP/M操作系统,比尔盖茨也自己写了一个dos操作系统,但是很不好用,远远比不上cp/m,所以ibm公司就想把基尔的操作系统买下来,比尔盖茨这个时后表现出极大的热情,主动代表基尔去谈,于是谈来谈去就把基尔的操作系统谈成了自己的东西,人们都说,使用操作系统的是人都欠基尔一份情,而盖茨欠得最多。 
    比如盖茨赖以扬名立身并最终发家致富的Basic语言,是60年代达特默斯学院的两位教授创造的。而微软起飞的翅膀DOS,更是基尔代尔的“临摹品” 。Windows用的是苹果的技术,Excel其实是Lotus1-2-3的复制品,Web浏览器也是借助网景的创意开发的,Word纯粹是WordStar、WordPerfect的跟风...... 
    微软屡屡实施“吸功大法”,博采众家之长,将许多其他公司创造的新技术新功能纳入自己的产品 
    但是,
    不管盖茨使用了什么卑劣和霸道的经营手法,不管微软是不是违反了垄断法,不管法院将对它做出什么样的裁决,我们都应当感谢微软,感谢盖茨,是他们改变了我们的工作、学习和生活方式,是他们增加了我们对这个世界的更新、更深刻的认识,是他们让人类向科技和文明的高峰又迈进了一步。盖茨和微软,是工业经济时代向信息经济时代转轨过程中永远屹立的丰碑!
    国内著名程序员:
    求伯君 王江民 严援朝 吴晓军 
    鲍岳桥 刘 旭 王志东 朱崇君 
    王永民 史玉柱 刘积仁 周志农 
    丁 磊 王文京 刘迎建 池宇峰 
    王志东 周 奕 郭 为 刘 虎

    中国有千千万万的程序员,从求伯军到王江民,从严援朝到王志东,从丁磊到雷军;世界上也有千千万万的程序员,从Linus到Andersen,从比尔.盖茨到杨致远,我一直在研究这些优秀的程序员所走过的道路。发现他们共同的特点是把软件开发当成自己的嗜好,并且把这种嗜好变成自己的事业,永远保持着好奇心、思考、执著(韧性)和耐心!市场需求决定着软件产业的发展方向。软件工程师不能就技术论技术,而是要就市场论技术。因为如果没有市场需求,没有地方可应用,即便是“天衣无缝”的技术也只能“孤芳自赏”。 
    好奇心:乐趣始终是工作的源动力。视工作的成就为人生最大享受,可能是这一代新富翁共同的特点。做自己喜欢做的事,而不是赚钱,才是他们的主要动力。对他们而言,在计算机屏幕前编写着一句句看似枯燥的程序代码,干得不分昼夜,是最大的乐趣。
    思考:基尔代尔,作为最伟大的程序设计员和设计家之一。他搞程序主要是出于缜密思维的雅兴,而不是为了赚钱。在开发的过程中学会思考和远望,学会做创造性的工作。有思想的程序员生命力才能长久。给大家出两道思考题:软件的本质是什么?软件高手怎样定义?日后有机会大家一起讨论!
    执著:执著是一切天才的“通病”, 王文京执著于财务软件,于是有了今天的用友软件。苏启强执著于软件服务,于是有了今天的连邦软件。我们也要执著于我的执著!阿甘的例子,只有偏执狂才能生存IBM(安迪•葛洛夫)
    耐心:值得你一生去学习的东西!高手往往都是寂寞的,寂寞的人是走得最快的人。
    一个人只要有韧性,刚开始写程序的时候,学得多的人写得好,到了后来,大家都上了一个层次,谁写的好只取决于这个人是否细心、有韧性、有灵性。关键是你是否能够出想法出产品,你的劳动是否能被社会承认,能为社会创造财富。
    我要告诉大家的是,不论你今后是选择继续学习还是选择工作,都要始终把终身学习的观念树立起来,永远保持对新事物的好奇心,执著的去追求自己做钟爱的软件事业,学会思考,去除浮躁,有耐心的去写好每一行代码,那么不管今后你发展的怎么样,至少现在,你已经具备了一个优秀程序员所具备的基本素质,你的思想已经能够得到别人的尊重。
    “专注与超越——这是人生每日的主题”
    如何做一个成功的程序员?
    下面是我和一些朋友谈过之后的小结,希望对于各位有所帮助。 
    1. 培养对软件开发的兴趣。
    因为不喜欢,所以才感觉的痛苦,因为痛苦,所以很难有大的发展,因为一直没有大的进步,所以,更加不喜欢。如此恶性循环。而正确的应该是,先做到对于软件开发感兴趣,如何做呢?首先你要产生对于软件本身的好奇心,做这项生活的人,多数有这方面的爱好,也能感受到其中的乐趣,否则就会成天痛苦不堪。
    2. 第二步,其实更简单,给自己进入软件行业一个理由!
    然后,写下来,放在一个适当的地方,不要随便看到,但是,永远不要忘掉。 
    为什么需要这个理由?原因很简单。当我听一些朋友聊他的苦闷时,总觉得对于自己选择软件行业是一个错误,如何的不好。我就问他,你当初为什么选择软件这一行?想了半天,他才回答我。我说,你在犹豫 ,就证明你已经淡忘了当初你为什么决定入行了。关于选择,应该说人生无处不在抉择,一旦选择了就不会放弃。既然选择了就不要轻易后悔,执著的走下去,因为你一后悔,任何选择和决定都是错误的。永远不要把时间浪费到对往事后悔的追忆上。
    如果你一直记得入行的理由,那么,在做软件开发这份寂寞的路上,你永远不会被寂寞击倒。成功就在你坚持的那一刻来临。
    3. 一切从dos开始。
    也许你觉得奇怪,为什么要从dos开始,因为这里我是说你要成为一个成功的软件程序员,而不是仅仅是一个程序员,既然你要成功,所以,你要厚积薄发,所以,从dos开始是有道理的。因为从dos开始,你就知道,要想删除一个文件不是右键点一下,然后,选择删除菜单,可能还要点一个确定,就一切OK了,你可以要执行一下del指令,然后,还要输入一些参数如文件名,可能还需要路径,知道这两个区别有什么用呢?当然有用,你不会被漂亮的窗口界面(所见即所得的精美画面)所迷惑。 当你现在才开始学习的时候,挡住窗口界面的引诱,或许你会更容易成功。 
     你可以猜测出它们大概处理的过程是什么。
    4. 开始你选择的工具决定了你将来的发展水平
    世界上流行的程序语言有许多种,这种情况将来也不会改变,因为这是由我们所面临的需要解决的计算问题的五彩缤纷所决定的。任何语言都不可能是最完美的工具,不可能在处理任何问题时都是最锐利的宝剑。“为完成目的而不择工具”; 一个计算机工作者需要理解掌握多种程序设计语言,只有这样,在遇到具体问题时才可能做出更合理的选择。
    目前流行的:.net; Java; VB; VC等等。
    各种开发工具各有千秋,应根据具体应用来采用不同的工具。例如写MIS用PB/VB就很好,界面设计用VB/Delphi很不错,写系统软件,用C是最好的。对于初学者来说,先用一种可视化强的工具(如VFP/VB/DELPHI)比较好,容易掌握,上手也快。但如果你想做一名真正的程序员,我建议你还是很有必要去精通C。
      单从一个很功利的角度来说说。Delphi/ VB对于一般人来说学上几个月就可以上手了。易学的东西学的人肯定多。而对于C来说,由于它难掌握,学的人不火,但一旦你真正掌握了,你的竞争实力就比其他人强。现实中,C程序员的工资普遍高于其他程序员就是一个证明。
    Vb/delphi 写界面的4000元
    vc 写通讯DLL的5000到6000元
    linux c/c++ 写服务器的7000到9000元
    知道C/C++有前途了吧 
    5. 编译原理
    如果你有足够的好奇的话,你现在应该想知道编译工具背后的故事,写代码时,你也许会奇怪,不同的程序语言为什么会有不同的语法,语义,语用;变量名为什么不能数字开头?计算机如何识别这些定义,运算,名字空间等等。这个时候看看《编译原理》多少能够给你一些解释。学习一点理论知识,加强你的理论功底,很多人都说科班出身的程序员比参加社会认证培训出来的程序员强的地方,就是理论功底强,系统思考能力强,时间长了就会体现出其优势。学习编译原理的另一个好处在于将来你学习其它开发工具时, 特别是学习不同底层语言的开发工具时,虽然它们的底层语言相关非常大,但是,除去这些语言的外衣,用编译原理层面来看它们,原来它们是如此相似。
    6. 操作系统原理
    你要知道,任何你做出来的软件都是运行在操作系统环境中的,操作系统为你的作品提供了什么样的环境呢? 这很重要,如果是DOS,它是以软中断的方式提供的,而Windows则是以一系列的API提供的。然后,你还可以知道,如何判断系统当前路径,内存管理机制、进程/线程调度、信号、内核对象管理、系统调用等,操作系统中如何处理死锁的 。 
    7. 现在让我们进入windows时代,windows下的开发工具
    毕竟在微软统治的时代,大家还是识时务者为俊杰比较好,windows下的开发工具一定要重点掌握。 面向过程编程向面向对象转变,现在流行的开发工具VC,VB都差不多。
    8. 数据库原理和开始数据库编程
    现在做软件一个最基本的应用类型就是数据库编程,这是可能使你可以胜任很大一部分工作了。也就是说,如果你掌握了数据库之后,你就可以出去找工作了。很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,用SQL server作为起点吧,因为这东西使用起来挺方便的。写一个简单的单表输入程序,简单一点容易掌握。比如写一个客户资料录入程序。 
    10 英语
    统计表明,全世界45个国家的官方语言是英语,1/3的人讲英语,75%的电视节目用英语播出,80%以上的科技信息用英文表达,几乎100%的软件源代码用英文写成。
    学习英语真得很重要,且不说它是程序世界的主导语言,且不说它是计算机专业本科毕业生四年的必修课,且不说它是全世界程序高手们互相切磋寻求帮助的主要工具,它还是现在大多数用人单位的敲门砖,在这样一个开放性的社会里,如果你不懂英文,你是不是很难称得上是一个人才啊!
    多读英文书。信息技术发展太快,而大部分的技术最先出现的时候都是英文版本的,要几个月以后才有中文版本的书出来,因此要想跟上步伐,一定要努力提高自己的英文水平,这样才能同步跟上信息技术。你可能担心自己的英语水平不行,没关系,刚开始多查字典。
    很多东西看中文的译版不如原版的清晰,中文的可能越看越糊涂,可是英文却可以一目了然。再说对于一些最新的技术和动态文章,你哪里有时间去等到别人给你翻译出来再看啊,等你看到了,也快过时了。不懂英语,你真得很难算得上是一个人才!
    到了这里,你没有发现你在和别人聊软件开发时,别人对你的态度有变化呢? 
    从现在开始,你要注意和别人交流了,因为从现在开始的很多东西,都是别人一指点就可以,而你自己看需要很久的。可以经常去一些论坛交流,都是很不错的,没有不上网的程序员,也没有不在网上取长补短的程序员。不过在问问题之前,自己一定要先努力尝试过,再给出自己的想法。动不动就问别人,自己水平得不到提高,别人也不再会回答你的问题。

    程序员最喜欢的网站:
    http://www.microsoft.com/china/msdn/default.asp  微软社区
    (IBM SUN Borland orACLE BEA CISCO GOOGLE)
    http://www.csdn.net  中国软件
    www.china-pub.com 互动出版社
    www.codestudy.net 程序员联盟
    http://www.codeproject.com 
    www.soft.net 印度
    msdn.microsoft.com/msdnmag

    程序员的七种武器
    第一种武器:开发工具
    至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是我重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVA One会成为未来的主流开发工具之一。其次,如果能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C++ Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。 
    第二种武器:数据库
    为什么数据库是如此重要?很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。 
    第三种武器:操作系统
    当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。 
    第四种武器:网络协议TCP/IP
    在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。 
    第五种武器:DCOM/CORBA/XML/WEB Services
    随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间件平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG(object Management group)支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。 
    第六种武器:软件工程与CMM
    现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。 
    第七种武器:强烈的好奇心
    什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。 
    养成良好的习惯
    现在很流行的一句话是“性格决定命运”,实际上可以这样理解,你的性格决定你的习惯,而习惯决定你的命运!中国有一句古话叫做:习惯成自然。同时,西方古希腊哲学家亚里士多德也说过:“优秀是一种习惯”,比如你每天早上坚持起来读书,就养成了读书的好习惯。那么懒惰也是一种习惯,不知道在座的各位又没有感觉到,当你睡觉越来越多的时候,你每天都想睡觉,越睡越懒,越坐越瘫。你习惯于10点睡觉7点起床,那就比习惯于11点睡觉6点起床的人少拥有两个小时,而据我所知很多好学习的人都是12点睡觉5点起床的,那你就又比他们每天少拥有4个小时了。
    在一次次沉重的洗礼后,痛苦地改掉不利于自己发展的不良习惯,从而又一次超越自己。
    一、适当背诵的习惯
    新东方有个学员上中学的时候英语特别的差,总是倒数第一名,于是为了提高自己的英文水平他就决定开始背诵新概念英语,结果背到一半2册的时候,他成绩就明显提高了。高考后上了大学,他考上了一所比较著名的大学,他本来不想再背诵了,但是当他背给同学听的时候,其他同学都露出了羡慕的眼光,于是为了这种虚荣心,他就坚持背诵第三册第四册,背得滚瓜烂熟,你说上一句,他就能联出下一句,而且语音非常标准,因为他是模仿磁带背诵的。后来他去了美国的duke大学,第一个星期写文章,教授就把他叫过来说你的文章是剽窃的,他说:“我教了20年的书也没教出这么漂亮的文章来”,这个学生说我没办法证明我能写出这么漂亮的文章,但我告诉你我能背诵108篇文章,你想不想听,于是他就开始背诵,结果他没背完两篇,教授就哭了起来,为什么?这个教授想我教了20年书,居然一篇文章也没有背过,被中国学生背掉了,所以很难过。小时候背诵儿歌的故事,好的算法和好的代码可以重点看一看。 
    二、好为人师的习惯 
    把你认为你懂的东西讲出来吧,将给别人听,你会记忆得更加深刻。成就感是一点一点积累起来的,你考考别人bluetooth、ASP、PDA、CDMA是什么?如果他不懂,你就讲给他听,同时你自己的记忆也在加深。在现代这样一个向开放型过渡的社会里,你要想成功必须要善于表达自己,善于表达自己的观点和思想,并想办法说服别人,做市场作营销当老师当领导者,你要想证明自己有能力,那你就必须学会说出来呀、表达自己,塑造你个人的影响力,人与人之间的交往,就是意志力与意志力的较量,不是我影响你,就是你影响我。 现在最流行的职业:口力劳动者,教师、主持人、歌星、领导、美国总统、市场营销人员等等。
    三、五官齐用的习惯 
    如果说你看到的东西,你会记住30%,那么你同时看和听就会记住50%,如果你既看又听,手里还在写、嘴里还在念念有词,你就会记住100%,如果日后有时间再复习两至三遍,你就永远不会忘记了。不在于你一次看了多长时间,重要的是你重复了多少次! 
    四、学习他人的习惯 
    给自己树立一个目标人物,最好从身边找到一个这样的榜样,你可以跟他交流,这样当你遇到困难的时候想一想你做敬佩的人会怎样做,你就有力量去征服它了。我常以为,这辈子如果能遇到一位好的指导老师讲是一件很幸运的事情。如果身边没有,我上面举了那么多的明星人物,从里面找一个你的努力目标吧!周奕的例子,mp3到光盘刻录、注册码、汇款方式。小的目标大的目标,向他看齐,现在时代,不是个人英雄主义的时代,你要学会从别人身上学习好的东西,拿为己用,你的任务只是在他的基础上能够提升。 
    五、见缝插针的习惯 
    时间像海绵里的水,看你怎样挤出来用,最有效的记忆规律不是你一次记忆多长时间,二是你多长时间重复记忆多少次。把你最喜欢的书随时带在身边,有空就看,不要让大脑闲置太久不用。背单词。
    六、设立特定的目标并规定期限 
    把你的人生当成程序来设计,制定计划,并限制完成的日期,否则你总会被各种原因而耽误的。比如说参加gre考试,你永远也不敢肯定自己是否已经准备到最充分了,那么是不是就一直不考呢?一直在准备准备、复习复习,直到你筋疲力尽没有力气去考试了,一鼓作气、再而衰、三而竭,再说时间有限,你有多少时间可以浪费呢? 
    七、注重实践的习惯 
    无论你的书本知识掌握得多么牢固,你多么的清晰地理解你所学到的知识,你一到实践中去用,你会发现远远不是那么一回事。就像学习游泳,我学游泳的时候,请教了无数的游泳专家,模仿最标准的姿势,练气和技巧,我在陆地上不停的练习、练习、再练习,可是一下水,全完了,还是不会。 做程序员,那得练、不停的练习。最好的学习方法,就是自己写一段小程序。学习开车,我跟我男朋友学开车,每次他开车的时候都告诉我,怎样启动发动机,然后踩离合器,挂档,给油,刹车停车,我对开车的理论和技巧无比熟悉了,自信一定可以开车了,于是就尝试了一下,怎么样,结果不是不堪设想啊,动用了手刹。学员活动调查结果,最短时间内、最快学会编程、成为像你们一样的程序员!
     一点学习经验
    勤奋练习 
    把书上的例子输进电脑实践一遍,然后进行各种试验,再联想出各种相关的程序,自己写出来,并验证自己的结果。
    读高手写的程序
    有了一定的基础的时候,可以尝试去读高手写的程序,解读他们的程序的设计理念、风格、解决问题的思路等。我的程序就和英语一样,一个变量名就是一个句子!写程序很少加注释!
    GNU/Linux为我们提供了一个巨大的源程序宝库,里面有各种各样的程序源代码,详细研究一套你感兴趣的系统,你的水平会得到大幅度提高。
    不断提高 
    除了多加练习,你还需要多读书,特别是英文书。要适时的选择自己的主攻方向。
    记笔记的习惯
    随时拿着你的笔和笔记本,一接收到有用的信息或字急又好的想法就迅速记下来,抓住瞬息即逝的灵感。自己大脑里蹦出来的东西,才是自己的价值和骄傲。
    学习它是个长期的过程,要不断的总结经验,我们学习就怕不能持之以恒。关于这点大家比我更清楚。一旦你学会了它,其他的语言就可以触类旁通了,例如:C++,C#,JAVA,VB,DELPHI......这些学起来就会比那些C语言基础不扎实的人要轻松得许多!学习的过程是一个不断积累的过程,只有学习的时间积累到一定的程度,才能发生质的提高。经过ACCP接近两年时间学习培养出来的软件工程师才是当前市场上亟需的专业软件人才,才意味着高薪和价值。
    程序员的分类
    第一种是初级,这种人数量最多,水平最低。喜欢看报纸上的编程小知识,秘籍和技巧大全之类的东西,这给了他广博的半瓶子醋的学问。这种程序员往往把编程这种脑力劳动变成敲键盘的体力劳动。把软件白领变成了软件蓝领。一些软件公司的Fans们往往拿着吓人的工资、做着吓人的项目,他们做出来的结果也往往很吓人。这些人组成了软件人才市场上的流动大军。 
    第二种是通常意义上的高手,他们有时候觉得自己十分了不起,有时候又觉得自己什么也不是。大部分时候,他没感觉,没激情,没爱,相当于一个血肉机器、曰之为“感情木头”。对于他们来说没有比coding更加有意义的事情了。 
    第三种是大师级的人物。在平凡的外表下,是一个无所不能的人。没有一个人和一条狗不尊敬他。他吐痰的样子也有人模仿。微软公司首席“建筑师”西蒙尼就是一个这样的人物。不过,他说“合作比天才更重要”
    为什么软件市场上人才缺口这么大,每年20万之多,最缺乏的是熟练的程序员,而成千上万的毕业生又找不到工作。大家应该好好想一想:
    软件人才是多了,但多的是没有实际工作经验、技术掌握的层次低的开发人员。这批人频繁地跳槽形成的求职大军营造出中国软件人才一大把的现象。 
    软件人才是少了,少的是具有丰富工作经验,技术扎实精深的工程师一类的开发人员。他们在哪里都是炙手可热的人物,求职大军里自然少有这样的人才。 
    劝每一个学员克服浮躁,踏踏实实地走好每一步!既然要学,就得耐心,你要告诉自己,要用一生的时间去学习它,你就不会急功近利了。
    俞敏洪总结的成功的四种能力
    一、忍受孤独的能力是成功者的必经之路
    不管有多少人在你身边,父母督促你、朋友鼓励你,你要想达到成功最终都要靠你自己,God helps those who help themselves. 如果你想走出平凡,那么请你走进孤独!孤独的人是走得最快的人!去除浮躁,不要总想着你将来会怎样怎样,重要的是现在,自信心是一点一滴积累起来的。
    二、忍受失败的能力是重新振作的源泉
    生活中的失败实在是太多了,整个社会的竞争体系是一个金字塔式的结构,你可以说我与世无争,我知足者长乐,当然你可以这样做。可是社会不允许你这样做,因为他不会让你乐太久的,不进则退、优胜劣汰的市场机制会淘汰你,你会被社会抛在金字塔的最底层,你会感到整个金字塔的重量都压在了你的身上,你见不到阳光,你欣赏不到美丽的风景,你感到绝望。所以为了更好的活着,你就要振作、努力。好在机遇是平等的,在机会来临的时候,如果你有能力就会抓住它。
    三、忍受屈辱的能力是成就大业的基础 
    你去新东安燕莎买东西,如果你没有钱,你会不会感受到售货员对你的态度不一样了呢?你去找工作,被人才市场上的人流挤得东倒西歪,北大清华的请到前面来,男生请到前面来,硕士博士请到前面来……, 你租房子被各种各样的房东赶着跑,一年到头不停的搬家,与小商贩为了几块钱讨价还价,你为了一点点的钱为老板四处奔波。这些都是屈辱,在你成功之前你必须忍受屈辱。 
    四、生理承受能力是成就大业的前提 
    做一件事情,你付出了别人所没有付出的,那你得到的也是别人所没有得到的。当我们已经开始做了某一件事情之后,我们则不宜由于我们现在认为另一件事更理想、更值得做而轻易改变我们的行动。 已经开始做了这件事,已经为此付出了心力;而且,究竟我们现在的认识正确还是过去的认识正确也还有待于检验;因为我们每一个人的生命和精力都是有限的!
    对待学习的态度
    没有压力就没有动力,要想办法给自己施加压力,平时多看书,多接触相关的知识,保持永远能够学习的惯性,当然专业知识要不断的研究和深入探索;当真正的压力到来时,你的学习效率才是最高的。用任务去学习,没有任务制造任务。
    我们每天的工作就是接受问题,解决问题,只能就事而论了。主要态度如下:接受它、分析它、解决它、放下它;
    克服学习中的冷热病,有了刺激就去学习,刺激过去了就放松,考试来了就紧张,考试过了就全忘。听了一场讲座或报告就意气风发,苦学三天三夜,然后就又找借口放松。
    今天想干这个,明天想干那个,结果一事无成。
    书到用时方恨少,事非经过不知难,书有未曾经我,读事无不可对人言
  • 睡桑拿房 天天穿新衣 月入15000深圳MM的生活

    2007-03-31 11:19:02

    我一个月收入15000(当然,真正到手的只有13000多,因为还要交税和四金)。我的工资都直接打到农行的工资卡上,而我一般不带这个卡的。平常身上一分钱都不带,开销的明细大致如下:

    房子:我没有自己的住房,每天都在桑拿房睡觉,你可能会问,上桑拿房的钱怎么出。这个问题对于我来说都是小菜一碟。通常进了桑拿房,我总是挑一件最性感的游泳衣,在水疗池里,我总是用色眼挑逗身边的男人,看到我扑腾扑腾的在水里不会游泳,男人们都喜欢帮助我,悉心的教导我游泳的技巧,当然啦,现在是和谐社会,人们已经学会袅互助互爱。为了报答男人的帮助,我通常会主动提出来和对方一起享受桑拿小姐的按摩服务。一起按摩的两个小时里,我会仔细聆听男人的倾诉,每个和我一起按摩的男人都忘不袅我的善解人意,总是拿走我手上的锁牌主动提出来替我买单,甚至还有一些特别好的男人,给桑拿小姐小费时,非要抽几张100元的往我手里塞,我不要都不行,男人会很生气的说:“你给袅我精神上的安慰我一定要在金钱上弥补你”,没办法,通常碰到这样的男人后,我都会出去买一件衣服或者烫个头发来平息自己的激动。

    由于桑拿房里洗涤用品一应俱全,从牙刷到纸短裤,所以这些用品我是不需要出去买的啦。至于每天穿的衣服,我通常是下午下班的时候,逛逛服装店,每次都告诉店员我是给妹妹买衣服,不知道大小合适不合适,如果不合适明天这个时候来换。店员基本上都春风满面的答应我的要求。所以我每天都穿新衣服,晚上退旧的换新的,连衣服都不用洗。

    早上我基本上不吃早餐,这样就省袅一顿饭钱,中午我基本上在公司饭堂吃饭,每次排队时我都挨着部门下属,所以,每次餐卡总是刷别人的,当然啦,我吃的也很少,一顿中餐最多两个鸡腿,四两米饭外加一份竹丝鸡炖霸王花。中餐一定要吃饱,营养学家说了,一天主要就靠中餐。我晚上基本也不吃饭,当然别人请或者AA吃饭时,我的胃口也还是很好的。尤其深圳的一些网站比如奥一网,经常有网友AA吃饭,我去浑水摸一两条鱼那是小儿科的事情。

    人都有头痛脑热的时候,这也难不倒我,一有不舒服,我总是面如死灰蹒跚到十字路口的值班岗亭,指着“有困难找警察”,每次警察兄弟总是热情送我到医院垫钱给我看病,当然啦,我身体也还是很好的,这样的情况几十年也只发生在深圳5个十字路口岗亭里。何况事后总有热情洋溢的表扬信送上岗亭。尤其每次买了新衣服,我都会到这些岗亭看望一下这些兄弟们,他们都记住我啦,估计以后不论多远,只要我有困难,他们都会亮着敬灯来帮助我。

    手机费:不用钱,集团统一支付,有时朋友找我借手机打个国际长途,我一般都打八折收费,收到的钱一般用来买点香水零食,因为桑拿房不提供这些。还有姨妈纸也是要自己买的,有时我也会主动把手机借给朋友,给个6折消费。这叫每月促销,朋友们都认为我很有经济头脑。对了,忘了告诉大家,我的手机是公司奖励的,MOTO最新款,不用钱。

    交通费:为了增加运动量,每天走路上下班,有时呆的桑拿房离公司比较远,为了不迟到,我会参照生病时的方法,有困难打警的。

    其他:我喜欢运动,但不买健身卡,去公园广场打打球,或在家里练练哑铃,或者陪情人过个夜,这项不需要花钱。现在书也很少买,网络这么发达了,需要什么资料都在网上查。我在家从不上网,因为白天在办公室一直上网,晚上在桑拿中心上网,又省了一笔。

    这种生活也很充实丰富。所以花钱多少与生活的好坏没有直接关系,与收入更没关系。

  • 80年后女研究生相亲条件:有车有房是个准大款

    2007-03-31 11:10:02

    她有着出尘脱俗的容貌,玲珑有致的身材,高人一等的学识,然而,这些外在条件让她受到众人羡慕的同时,也成为她想嫁个大款的筹码。

    她叫谢悠然(化名),是长沙某高校古汉语文学专业研究生三年级的学生,又一个80后“超级女生”!

    今年26岁的谢悠然脸色白皙,头发被打理成金铜色的卷发,一双眸子略带浅棕。她定睛看人时,总是与你毫无躲闪的直视,仿佛有一种洞悉世事的清透。

    她的态度、语气干净至极,给人一种知性、优雅、理性的感觉。

    3月14日下午2点,田田应一位好友的邀请参加一次集体相亲活动,谢悠然就是相亲现场唯一的女研究生,她一开口就是奇谈怪论,“婚姻是要核算成本的,优秀就是我嫁大款的筹码,就是我投入婚姻赌局的资本。”以下就是谢悠然讲述的“理性”相亲记……

    苦心钻研

    怎样嫁个有钱人?

    我生长在一个封建保守的家庭,父母都是一般的工人,妈妈是我们当地有名的美人,我遗传了母亲的美貌。所以,从小我就被当作洋娃娃一样宠着,什么都不让我做,尤其是妈妈,她说,“女孩子,最关键是读好书,提升文化层次,然后,嫁个好男人。”

    大三时,我不明白妈妈的苦心,一心自由恋爱,天天和一个青海的小子打得火热,谁知,大四毕业时,他连一条分手短信也没发,就拍拍屁股回西部了。我痛苦得在床上躺了三天三夜,妈妈偷偷在我床头放了一本书,是一个美国女人写的,叫做《怎样嫁个有钱人》,我随手一翻,竟然看得入迷了。这本书彻底颠覆了我的爱情观。

    写书的女人基妮本来是一个穷人,靠贷款和救济读完了大学,她时刻注意提升自己的品位,毕业后专心致志寻找有钱人结婚。最终,出类拔萃的她真的嫁给了一位石油大亨!她的大亨老公说得好,“咱俩都是企业家”,这话让我茅塞顿开。那大亨经营的是石油,基妮经营的是自己。基妮靠苦心钻营和勇气,把本不景气的自己经营出一个大价码!

    疯狂相亲

    男人们为什么失败?

    读研究生一年级时,我开始了第一次相亲,对方是妈妈同事的亲戚,一个台湾人。他虽然个头不高,只有1.72米,但他很会哄女孩子开心,又会装可爱,我还是蛮喜欢他的。可后来妈妈打听后得知,他在台湾只是一般职员,父母还留在内地,家里当年为了他去台湾读大学欠了债,妈妈就坚决要求我和他分手。我虽然挺遗憾,也尊重妈妈的意见与他分手了。毕竟,妈妈是为我好,我也不想嫁个穷人,把最美丽的青春年华用来还房子按揭款。

    一贯节省的妈妈咬牙把爸爸的烟戒了,再卖了一件金器,给我在一个高级交友会所花5000元报了名,她恨恨地说,舍不得孩子套不着“郎”!很快,交友会所给我推荐了6个相亲对象,我用一个星期的时间和他们分别见面了。

    “礼拜一”先生是个秃头,我老远看见即望风而逃。

    “礼拜二”先生喜欢翘兰花指,对名牌服饰的研究比我更甚,一个小时后,我们成了好朋友,但他的名字也被我从“准男朋友”名单中轻轻勾去。

    “礼拜三”先生由全家八口陪伴而来,并且居然不结账,我当场拂袖而去。

    “礼拜四”先生有结巴。

    “礼拜五”先生大谈他信奉“不婚主义”,我纳闷半天,问他,“那你来相亲干吗?”他说,“我只想找女朋友啊。”怪人!

    “礼拜六”先生姓王,是湘潭市的一位著名企业家,家中有别墅,有两辆奔驰,他的长相温文儒雅,只是年龄比我大十五岁。我盘算了一下,觉得没有比他条件更好的对象,就把这周剩下的时间都给了他。我们彼此都很满意,感情迅速升温。

    甜蜜试婚

    “小气”因你爱我不深

    我刚才已经说过了,“婚姻是要核算成本的,优秀就是我嫁大款的筹码,就是我投入婚姻赌局的资本。”那么,投入了资本我就要得到回报。

    “礼拜六”不久提出跟我试婚,他说,“我在感情上受到过伤害,再不想离婚。两个人婚前试婚总比再次离婚好。”我盘算了一下,跟他要了一枚钻戒,就爽快地搬了过去。反正我的第一次也早没了,人哪,不就那么回事吗?

    试婚前,妈妈偷偷告诉我:“能要就多要点,以后是谁的还说不定呢,你们又没扯结婚证。”我深以为然,可是,住在一起以后,他却“小气”了。

    “礼拜六”不肯出去吃饭,却要我在家里做,还说自己工作忙,每次只肯给个1000元左右的小钱让我自己去逛街,我觉得他是为了省钱!有一次,我们去王府井买东西,我看中了一件宝姿的裙子,才3000多,我跟他撒娇要他买给我,他却吓一跳,“这么薄的料子要3000多元?”

    最终,“礼拜六”把裙子买给了我,却整天脸臭臭的,不说话。吃晚饭的时候,他突然问我,“你是看中我还是我的钱?”我也生气了,“你是真有钱还是假有钱,你一年赚几百万,买件3000块的衣服算什么?这就心疼了?我们同学还有穿上万元的套装的呢。”

    “礼拜六”拂袖而去,他说,“你是学生,一个月生活费才500元,一件衣服要花去你半年生活费,你说值吗?我是养老婆,不是养情妇!”我也很生气,打电话跟妈妈咬耳朵,妈妈坚决支持我分手,她告诉我最近从杂志上看到的爱情理论,“一个男人不在你身上花时间是因为不爱你,不给你花钱是因为爱你不够深。”

    继续“守候”

    有钱的婚姻质量才高

    现在的我正和一位曾留学英国的企业高管暂时谈着,他很在乎我,给我付了一套房子的首付,不过,我不着急,他的经济实力还不算雄厚,我想在30岁前再等等,看能否走入更有质量保证的婚姻。

    什么?你说没钱的婚姻不一定质量不高?呸,典型的受文艺书籍毒害了吧?傻了吧?好多书上说,“有钱买不到快乐”、“钱是万恶之源”,一派胡言!你想想有车有房,每年去几次欧洲度假的婚姻与拼命加班只为给孩子买罐名牌奶粉,怀孕八个月了还不敢待产的生活哪种更幸福?

    说到感情,不就是风花雪月吗?没有钱你拿什么风花雪月呢?举个最浅显的例子,条件允许的话,你会穿最舒适的世界名牌还是粗糙的化纤衣物?

    我也挺矛盾的,我很爱爸爸,爸爸人很好,勤快踏实,但我提出想买颗施华洛世奇的水晶时,他涨红了脸骂我不懂事。我觉得他是个没用的男人,很悲哀!我努力学习力争优秀,只为把自己卖个好价钱,也悲哀!

  • 深圳有什么全国最贵

    2007-03-31 10:40:10

    1.深圳公交车高票价,暴利!!!

    武汉从汉口郊区到武昌,也是一个半小时的路程,只要1.2元

    坐360去大鹏,人工售票14元

    深圳公交车票价,贵得合理吗?

    我是个普通打工族,每天都挤公交车上班,我发现,我们深圳的公交车票价实在是全国最高,一个线路全程下来要六七块,就像之前媒体说的,作为一个快速发展的大型现代化城市,深圳目前的交通现状不容乐观。每天上下班高峰期,市区交通要道车流拥堵已不鲜见。有关部门预计,2010年深圳客运机动化出行需求将达1200万人次/日,约为现在的2.3倍。提倡公交优先,鼓励市民公交出行成为深圳未来城市发展的一个重要内容。然而,往来于特区内外的公交车票价动辄七八元上十元;“深圳通”至今未能“一卡通深圳”,刷卡消费也只有九五折优惠;而抵达同一目的地,空调车、快线车与普通车的价格也各不相同……如此种种,都是市民经常谈到的话题。

    妈的,这个特区的车也是特吗?跟内陆城市一样的汽油价格,为什么深圳就这么贵呢?实在是想不清楚?难道深圳的路是金子做的。

    我还有个发现,深圳的公交车好多人工售票的,浪费人力、物力,少请一个人能少多少钱啊?

    希望代表、委员介入调查,深圳现行公交车贵票价是否合理,其中是不是有暴利空间?也请各公交公司出来解释你的收入构成及利润分配。

    拜托了,各位代表、委员,谁能帮我们平常百姓的呼声传入深圳会堂呢?

    2.南方日报 近六成人认为1元最合理

    我在深圳住了十多年,总觉得深圳什么都比其它地区的贵,例如:深圳房价啦!深圳“的士”起步价啦!深圳天然气啦!深圳公务员月薪啦!……

     

  • 返京大学生狠批列车内蹩脚“中式英语”

    2007-03-31 10:28:05

    核心提示:一高校学生坐火车回京,发现列车上的几块警示牌都有或多或少、或轻或重的英文翻译错误,属于典型的“Chinglish”。他用手机照了下来,回学校后整理出其中的无数谬误,并指出较正确的译法。

    信息时报3月31日报道2月26号,北京某高校的大学生羽佳,从家中坐火车回京。漫漫旅途,29个小时。闲来无事,他便在车厢中胡乱游荡。结果,他发现列车上的几块警示牌都有或多或少、或轻或重的英文翻译错误,属于典型的“Chinglish”。于是他在列车里“上窜下跳”,将目所能及的所有警示牌、提示牌都用手机照了下来,回学校后整理出其中的无数谬误,并指出正确的译法(编者注:虽然有些译得还不是很完美):

    中国的铁路,一直是由国家管理、运营,不客气地说,这是国家的一张脸。作为世界上人口最多的国家、铁路长度最长的国家、以及全年铁路运送量最多的国家,一个车厢的英语警示牌、提示牌居然是这般的满目荒唐言,说不完的错。其它列车上的问题,我都不敢想。我真是希望这类错误能得到最大程度的避免,要不我等“多事之人”在这纠错,中英文切换,是废不完的劲。

    人们一提到鲁迅先生的作品,便是“哀其不幸,怒其不争。”我对这一车厢的荒唐英语是“哀其不细心,怒其不用心”。想着我去请教外教时,她一脸复杂的笑容,我的心啊,凉凉的!

    1一个车厢的存放灭火器的地方赫然竖着一块警示牌。

    不禁觉得好笑,若是光看其英文翻译的话,得到的信息是“战火安全设施,请勿随意搬动”。因为Fire fighter是救火队员的意思,翻译人员便将fire fight一词理所当然地翻译成“消防器材”,殊不知,这一词在英文中是“交火、炮战”之意。老外看了,除了错愕外,还不被吓死。英语中灭火器的一词应为“fire extinguisher”。所以,这个警示牌的英文翻译改成“Fire extinguisher, please don’t move it at will”才符合其中文意思。至于“safety device”二词也是完全是可以删掉的。

    2到了盥洗室,看见水龙头旁边也有一块提示牌。

    这块牌上的英文翻译更为可笑。若是根据其英文“Please take good personal luggage”再译成中文的话,得到的是“请带上好的个人物品”。好的物品就随身带,不好的就扔吗?这句提示语的英文翻译,将“good”一词去掉可以,但若换成“Please pay attention to your luggage”似乎更符合英文的语言习惯。

    3卫生间的门上,还有一幅提示牌,是这样的。

    这幅警示牌,不过四个单词,错误却最为荒谬。“stabling”是单词“stable”加上“ing”的形式。我们知道,英文中,只有动词才能在词的后面加上“ing”。而“stable”作为动词,只有一个意思——“把(马)拴进马厩、或置于马房”。所以,我们若将“No occupying while stabling.”一句翻译过来的话,意思是:“当将马拴进马厩时勿占用”。天,我要是外国人,不在这趟既有炮战,又有马厩的列车上崩溃才怪。这句话应是“No occupying while stopping”.

    4下面这幅警示牌是贴在车辆连接处的。

    上半句中,“车辆”一词,翻译为“vehicle”,用这个词作为火车车厢的翻译是不妥的。有另一个词“carriage”是专门用来指火车车厢的。下半句,“watch for”在朗文字典上的意思是“等待,期待”之意。若将警示牌上的英文再翻译过来,是“请等待一个安全”。显然,谬矣!所以,不妨翻译为:“Carriage conjunction, please be careful”。

    5这幅警示牌的错误同样是动词短语的运用不当。

    “keep out”的解释是,“用于警示牌,切勿靠近(进入)”。老外若看了这个牌子,还不知道前方是什么呢,竟会如此之凶险。“危险!请勿动。”翻译为“Danger!Don’t touch it.”即可(编者注:这个翻译成“Danger!No Touch”更准确)。

    6这一幅,贴在列车的车窗边。

    “严禁向窗外抛扔物品”,译文是“Strictly forbid toward window to throw to throw a product outside.”其中将“抛扔”翻译为“throw to throw”真可谓是鬼斧神工,让人“叹服”。说实在的,要不是亲眼所见,我可能一辈子都不会想到这样不负责任的翻译。简简单单的一句话“Don’t throw anything outside the window.”(编者注:译成“Don't throw anything out of window.”更好)。

    7这一幅,“垃圾在此投放,烟头切勿投入”。译文是“The garbage throws in here. The cigarette butt throws in absolutely not to.”

    别的错误先不说,因为逐字翻译,这两句话在译成英语后,都将宾语放在了主语的位置。在报纸上,好像会看见类似的用法,作为标题。所以我有些拿不准,请我们外教看了一下。外教一边笑一边冲我摇头,显然是错误的。正确的应该是:“Throw garbage in it. Don’t throw cigarette butts in it.”(编者注:应是“Garbage only, no for cigarette butt”)。

  • 成为编程高手的8大奥秘

    2007-03-26 23:02:05

    1、扎实的基础

      数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平

    的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学

    学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手

    无策。因此多读一些计算机基础理论方面的书籍是非常有必要的。

      2、丰富的想像力

      不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法

    。丰富的想像力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数

    学等等。开阔的思维对程序员来说很重要。

      3、最简单的是最好的

      这也许是所有科学都遵循的一条准则,复杂的质能转换原理在爱因斯坦眼里不过是一个简单得不能再

    简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑

    最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。

      4、不钻牛角尖

      当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到

    难题的时候会去玩游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得

    到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
     5、对答案的渴求

      人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付

    出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程

    中你也会学到很多东西。

      6、多与别人交流

      三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人

    对同一问题的看法,会给你很大的启发。


      7、良好的编程风格

      注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码

    中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,

    而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。

      8、韧性和毅力

      这也许是“高手”和一般程序员最大的区别。高手们并不是天才,他们是在无数个日日夜夜中磨炼出

    来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的

    素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条
  • 工作三年之后的痛

    2007-03-05 17:21:35

    1、很快你就会发现几千元的工资不算什么。 

    2、很快你就会发现金钱的获得是以时间和个人生活的牺牲为代价的。 

    3、很快你就会发现自己有点小钱但不幸福。

    4、很快你就会讨厌自己,讨厌自己的复杂和世故。 

    5、很快你就会发现你身边的很多人怎么素质这么低,这么俗,而你也快成为这样的了。 

    6、很快你就会讨厌冬天的,太冷了,太冷清和寂寞了。 

    7、你会不断地觉醒,不断地继续奋斗,然后你老想着辞职休息,或者再读书,或者再创业。 

    8、你会偶尔去同学录看看,但你已经不想再说话了。 

    9、你会偶尔想起自己以前最好的朋友,然后给他/她打个无聊的电话。 

    10、你会偶尔给自己的初恋情人打个电话,然后你发现自己老了。 

    11、你甚至会发现自己现在成熟得可怕,一件很复杂的事情,你一眼就看穿了,而你的依据是你对黑暗的了解。 

    12、你想幸福就要自己花一生的时间去先痛苦。 

    13、当你工作后发现你喜欢摇滚乐的时候,证明你还在挣扎,当你工作后发现自己喜欢忧郁的轻音乐时,你就快完蛋了 。 

     

     

    工作了才知道,有空调的办公室,不如闹哄哄的教室 

    工作了才知道,學校里爱情 是游戏,现在爱情是交易. 

    工作了才知道,有时候一顿饭吃上千块也是一种需要. 

    工作了才知道,学生都是装大款,真正的有钱人都哭穷 

    工作了才知道,穿什么不取决与品位,取决与场合. 

    工作了才知道,学校三点一 线,现在却是画直线. 

    工作了才知道,原来买房子也是个远大的理想. 

    工作了才知道,成为社会精英的几率,和中彩票是一样的. 

    工作了才知道,原来消灭剥削只是一种传说. 

    工作了才知道,自立的代价是失去更多的自由. 

    工作了才知道,搞计算机的根本不用等级证,不搞计算机的,等级证是废纸. 

    工作了才知道,原来在中国的外国企业也是用中文比较多. 

    工作了才知道,研究生和我们的区别就是刚参加工作时每月多拿200块钱. 

    工作了才知道,所有证书都是敲门砖,敲开门就没人看了. 

    工作了才知道,真正英语好的人都是工作以后出于需要自学的. 

    工作了才知道,学校的老师比起企业的一般领导,社会地位要高很多. 

    工作了才知道,搞中国人力资源的只要能判断毕业证真伪就行了. 
  • 工作三年之后的痛

    2007-03-05 17:19:58

    1、很快你就会发现几千元的工资不算什么。 

    2、很快你就会发现金钱的获得是以时间和个人生活的牺牲为代价的。 

    3、很快你就会发现自己有点小钱但不幸福。

    4、很快你就会讨厌自己,讨厌自己的复杂和世故。 

    5、很快你就会发现你身边的很多人怎么素质这么低,这么俗,而你也快成为这样的了。 

    6、很快你就会讨厌冬天的,太冷了,太冷清和寂寞了。 

    7、你会不断地觉醒,不断地继续奋斗,然后你老想着辞职休息,或者再读书,或者再创业。 

    8、你会偶尔去同学录看看,但你已经不想再说话了。 

    9、你会偶尔想起自己以前最好的朋友,然后给他/她打个无聊的电话。 

    10、你会偶尔给自己的初恋情人打个电话,然后你发现自己老了。 

    11、你甚至会发现自己现在成熟得可怕,一件很复杂的事情,你一眼就看穿了,而你的依据是你对黑暗的了解。 

    12、你想幸福就要自己花一生的时间去先痛苦。 

    13、当你工作后发现你喜欢摇滚乐的时候,证明你还在挣扎,当你工作后发现自己喜欢忧郁的轻音乐时,你就快完蛋了 。 

     

     

    工作了才知道,有空调的办公室,不如闹哄哄的教室 

    工作了才知道,學校里爱情 是游戏,现在爱情是交易. 

    工作了才知道,有时候一顿饭吃上千块也是一种需要. 

    工作了才知道,学生都是装大款,真正的有钱人都哭穷 

    工作了才知道,穿什么不取决与品位,取决与场合. 

    工作了才知道,学校三点一 线,现在却是画直线. 

    工作了才知道,原来买房子也是个远大的理想. 

    工作了才知道,成为社会精英的几率,和中彩票是一样的. 

    工作了才知道,原来消灭剥削只是一种传说. 

    工作了才知道,自立的代价是失去更多的自由. 

    工作了才知道,搞计算机的根本不用等级证,不搞计算机的,等级证是废纸. 

    工作了才知道,原来在中国的外国企业也是用中文比较多. 

    工作了才知道,研究生和我们的区别就是刚参加工作时每月多拿200块钱. 

    工作了才知道,所有证书都是敲门砖,敲开门就没人看了. 

    工作了才知道,真正英语好的人都是工作以后出于需要自学的. 

    工作了才知道,学校的老师比起企业的一般领导,社会地位要高很多. 

    工作了才知道,搞中国人力资源的只要能判断毕业证真伪就行了. 
  • 在LabVIEW中,我应该怎么实现对串口中的DTR和RTS信号线的控制?

    2007-02-18 06:51:22

    问题: 在LabVIEW中,我应该怎么实现对串口中的DTR和RTS信号线的控制?

    解答: 您可以通过程序框图中的VISA属性节点(Property Node)中的Modem Line Settings里的属性来读、写串口中的DTR和RTS等控制线。


    LabVIEW 6.x, 7.x
    请根据以下步骤放置VISA属性节点并选择Modem Line Settings:
    1. 在LabVIEW的程序框图,放置一个属性节点Functions Palette » Instrument I/O » VISA » VISA Advanced)。

    2. 右键点击属性节点,然后选择Property

    3. 选择Properties » Modem Line Settings.

    4. 选择相应的设置属性(Line CTS StateLine DCD StateLine DSR StateLine DTR StateLine RI StateLine RTS State)。
  • 偶的QQ空间

    2007-02-16 13:30:30

  • 值得一看

    2007-02-02 09:56:17

    Many years ago, Mrs. Thompson stood in front of her 5th grade class and told the children a lie that she loved them all the same. But that was impossible, because there in the front row, a little boy named Teddy Stoddard was so messy and inattentive in class that Mrs. Thompson would actually take delight in marking his papers with a broad red pen, making bold X's and then putting a big "F" at the top of his papers.

    许多年前,汤普逊老师对着她五年级的学生们撒了一个谎:她说她会平等地爱每个孩子!但这是不可能的,因为前排就坐着泰迪?史塔特-- <> 一个邋遢、上课不专心的小男孩,事实上,汤普逊老师很喜欢用粗红笔在泰迪的考卷上画大大的叉,然后在最上排写个不及格!

    One day, as Mrs. Thompson was reviewing each child's past records, she was surprised by comments of Teddy's former teachers:

    某一天,汤普逊老师检视每个学生以前的学习纪录表,她意外地发现泰迪之前的老师给的评语十分惊人:

    "Teddy is a bright child with a ready laugh. He does his work neatly and has good manners...he is a joy to be around," wrote Teddy's first grade teacher.

    一年级老师写道:「泰迪是个聪明的孩子,永远面带笑容,他的作业很整洁、很有礼貌,他让周遭的人很快乐!」

    His second grade teacher wrote, "Teddy is an excellent student, well liked by his classmates, but he is troubled because his mother has a terminal illness and life at home must be a struggle."

    二年级老师说:「泰迪很优秀,很受同学欢迎,但他的母亲罹患了绝症,他很担心,家里生活一定不好过!」

    His third grade teacher wrote, "His mother's death has been hard on him. He tries to do his best but his father doesn't show much interest and his home life will soon affect him if some steps aren't taken." <>

    三年级老师:「母亲过世泰迪一定不好过,他很努力表现但父亲总不在意,若再没有改善,他的家庭生活将严重打击泰迪。」

    Teddy's fourth grade teacher wrote, "Teddy is withdrawn and doesn't show much interest in school. He doesn't have many friends and sometimes sleeps in class."

    四年级老师:「泰迪开始退缩,对课业提不起兴趣,没有什么朋友,有时会在课堂上睡觉。」

    By now, Mrs. Thompson realized the problem and she was ashamed of herself. She felt even worse when her students brought her Christmas presents, wrapped in beautiful ribbons and bright paper, except for Teddy's. His present which was clumsily wrapped in the heavy, brown paper that he got from a grocery bag.

    直到现在,汤普逊老师才了解泰迪的困难,而深感羞愧,而当她收到泰迪送的圣诞礼物—别人的礼物用缎带及包装纸装饰的漂漂亮亮,泰迪送的礼物却是用杂货店的牛皮纸袋捆起来─汤普逊老师更觉得难过,

    <> Mrs. Thompson took pains to open it in the middle of the other presents. Some of the children started to laugh when she found a rhinestone bracelet with some of the stones missing, and a bottle that was one quarter full of perfume. But she stifled the children's laughter when she exclaimed how pretty the bracelet was, putting it on, and dabbing some of the perfume on her wrist.

    汤普逊老师忍着心酸,当着全班的面拆开泰迪的礼物,有的孩子开始嘲笑泰迪送的圣诞礼物:一条假钻手环,上面还缺了几颗宝石,另外是一罐只剩四分之一的香水。但是汤普逊老师不但惊呼漂亮,还带上手环,并喷了一些香水在手腕上,其它小朋友全都愣住了。

    Teddy Stoddard stayed after school that day just long enough to say, "Mrs. Thompson, today you smelled just like my Mom used to." After the children left she cried for at least an hour. On that very day, she quit teaching reading, and writing, and arithmetic. Instead, she began to teach children.

    放学后泰迪?史塔特留下来对汤普逊老师说:「老师,妳今天闻起来好像我妈咪喔!」一等泰迪回家,汤普逊老师整整哭了一个小时,就在那一天,汤普逊老师不再教「书」:不教阅读、不教写作、不教数学,相反地,她开始「教育孩童」!

    Mrs. Thompson paid particular attention to Teddy. As she worked with him, his mind seemed to come alive. The more she encouraged him, the faster he responded. By the end of the year, Teddy had become one of the smartest children in the class and, despite her lie that she would love all the children the same, Teddy became one her "teacher's pets."

    <> 汤普逊老师开始特别关注泰迪,而泰迪的心似乎重新活了过来,汤普逊老师越鼓励泰迪,泰迪的反应越快,到了学年尾声,泰迪已经成为班上最聪明的孩子之一。虽然汤普逊老师说过她会平等地爱每一个孩子,但泰迪却是她最喜欢的学生。

    A year later, she found a note under her door, from Teddy, telling her that she was still the best teacher he ever had in his whole life. Six years went by before she got another note from Teddy. He then wrote that he had finished high school, third in his class, and she was still the best teacher he ever had in his whole life.

    一年后,汤普逊老师在门边发现一张纸条,是泰迪写来的,上面说汤普逊老师是他一生遇到最棒的老师!六年过去了,汤普逊老师又发现另一张泰迪写的纸条,泰迪已经高中毕业,成绩全班第三名,而汤普逊老师仍是他一生遇到最棒的老师!

    Four years after that, she got another letter, saying that while things had been tough at times, he'd stayed in school, had stuck with it, and would soon graduate from college with the highest of honors. He assured Mrs. Thompson that she was still the best and favorite teacher he ever had in his whole life.

    四年后,汤普逊老师又收到一封信,泰迪说有时候学校生活并不顺利,但他仍坚持下去,而不久的将来他将获得荣誉学位毕业!他再一次告诉汤普逊老师,她仍是他这一辈子遇到最棒的老师!

    Then four more years passed and yet another letter came. This time he explained that after he got his bachelor's degree, he decided to go a little further. The letter explained that she was still the best and favorite teacher he ever had. But now his name was a little longer -- the letter was signed, Theodore F. Stoddard, <> M.D.

    四年过去,又来了一封信。信里面告诉汤普逊老师,泰迪大学毕业后决定继续攻读更高学位,他也不忘再说一次,汤普逊老师还是他这一生遇到最棒的老师,而这封信的结尾多了几个字:「泰迪?史塔特博士。」

    The story doesn't end there. You see, there was yet another letter that spring. Teddy said he'd met this girl and was going to be married. He explained that his father had died a couple of years ago and he was wondering if Mrs. Thompson might agree to sit in the place at the wedding that was usually reserved for the mother of the groom. Of course, Mrs. Thompson did. And guess what? She wore that bracelet, the one with several rhinestones missing. And she made sure she was wearing the perfume that Teddy remembered his mother wearing on their last Christmas together.

    故事还没结束呢!你瞧!该年春天又来了一封信,泰迪说他遇到生命中的女孩,马上要结婚了,泰迪解释说他的父亲几年前过世了,他希望汤普逊老师可以参加他的婚礼并坐上属于新郎「母亲」的位置,汤普逊老师完成了泰迪的心愿。但你知道吗?汤普逊老师竟然戴着当年泰迪送的假钻手环,还喷了同一瓶香水,是泰迪母亲过世前的最后一个圣诞节用过的香水。

    They hugged each, and Dr. Stoddard whispered in Mrs. Thompson's ear, "Thank you Mrs. Thompson for believing in me. Thank you so much for making me feel important and showing me that I could make a difference."

    他们互相拥抱,史塔特博士悄悄在耳边告诉汤普逊老师:「汤普逊老师,谢谢妳相信我,谢谢妳让我觉得自己很重要,让我相信我有能力去改变(make a difference) <> !」

    Mrs. Thompson, with tears in her eyes, whispered back. She said, "Teddy, you have it all wrong. You were the one who taught me that I could make a difference. I didn't know how to teach until I met you."

    汤普逊老师热泪满盈,告诉泰迪:「泰迪,你错了!是你教导我、让我相信我有能力去改变,一直到遇见你,我才知道该怎么教书!」

1233/7<1234567>
Open Toolbar