- 帖子
- 2
- 积分
- 5
- 威望
- 8
- 金钱
- 4
- 在线时间
- 0 小时
|
【大师醒目】编程大师速成手册【速成醒目】
大家都干挨踢行业的,想成为人人敬仰的挨踢大师么?我就把我和别人身上总结出来的方法写成一速成大法。其实这个我本不想说的,这个行业浮躁的人太多了,真正厉害的大师级人物数来数去就那几个人,反正正是因为浮躁的人太多,那多加几个也无所谓的,对吧。
第一步基本功
不管什么都要打好扎实的基本功,但是我写的这个是速成大法,就不能讲那么多基本知识了。
看看那些大师,一出口就是嵌入式,契约编程,原语,面向方面,面向服务,面向组件,时间片,元编程,XX模式,动态代理,分布式,并行处理等等。所以,你必须要掌握这些城唬得住初学者的词汇。这些词汇,可以在一些如计算机等级考试四级培训教材,或者什么系统分析师,软件设计师考试复习题上面随便找点。
然后提到CPU,言必称C51,AD21xx,ARM。x86 ?那还得是基础!我是高手我不懈!
提到Win32 的API,记住,出口的API一定要以Nt,Rtl,Zw,Pfx,Ki,Ldr,Dbg,Csr开头。不是这些开头的API都是简单的东西,本高手还看不起。如果没有高手在场,你就随便拿一个你知道的API,如CreateFile,前面加上一个前面的前缀,如Nt,你就说我创建文件都用NtCreateFile,你们那方法没技术含量。万一说错了,高手不在也不怕,在也不见得会指出你的错误,如果真万一有个25%的几率说你说错了,你就说你学的东西太多太杂了,一下没记过来,真正的高手的知识面都是很广的。
另外,多翻一些书后面的参考书目,和作者,一些超级大腕要知道一些。如Bjarne Stroustrup, Djkstra, Bruce Eckel, Don Box, Stanley B Lipman, John Carmack, 设计模式的四人帮。最好的方法是去书店,找机械工业出版社《计算机科学丛书》的一些书,把作者都记下来。记住,不要记译者,也不要记国内的作者名字,稍微了解一下技术作者有侯杰,李维,潘爱民等人就足够了。因为高手是要看英文影印版的书。
然后技术方面,我认识的真正的超级大牛人,一般都是全才,或者是精通几个方面的。但是对于吓唬新手,没必要,什么领域知道一两个词汇足以。所以你只懂一个方面就可以了,一般初学者,以SDK,汇编,编译原理和一些低层的东西为衡量一个人是否是高手的标准,所以,你可以不学高级语言,一上来就搞汇编。也许有些人先学高级语言,学到汇编的时候,高级语言已经学了好多年了。这样的人,在新手面前,会认为水平不如别人学汇编一年的人。所以你可以吓唬新手,我只用汇编!其实你只会汇编而已。其他语言也是一样,我只用VB.NET!其他的我太忙了,我不想学!扯个其他理由也可以,因为要当高手必须要会扯理由。
第二步,语言是新手衡量高手的重要手段
现在Java, .net很吃香,下个Eclipse,看看简单的Java语法,写个hello world,然后用VS的IDE给C#,VB.NET,J#分别画几个窗口,于是乎,你就有java,C#,VB.NET,J#的经验了,一点经验也算经验吧。然后再找C,C++等语言的Hello World,照着写一遍,嘿嘿,你又多了点经验。然后了解一下XML其实和HTML看起来差不多的,了解一下XSL其实就是XML。然后碰到高手问你会什么语言,你大可放心说我会C, C++, C#, VB, VB.NET, VBScript, Java, Jscript, J#, XML, XSL, HTML,汇编等等。顺便再加上一大堆语言,如Smalltalk, Modula, Algol, Lisp, Eiffel,COBOL,Ada, Fortran, Perl, Python, PHP, Ruby等等,因为这个时候,新手们已经开始想念古人所说的“人比人,气死人”这句至理名言,或者对你开始无限的崇敬了,不会管你是否真会这么多。如果这个时候某个新手说想学一门语言,问你该从哪门开始学,这个时候,你要明确地告诉他学习XX语言,前提是XX是你最熟悉的语言。这样他有问题问你就不会露馅。或者告诉他最难学的,让他不断碰壁,这样他就会感慨你也是这样一路走来的。
// 本文转自 C++Builder 研究 - http://www.ccrun.com/article.asp?i=971&d=r21i83
或者,你不想说这么多,也可以的,你就说我只懂一门语言,我如果花太多时间学其他语言,那么我就不能成这一个语言的专家了,要记住,高手常常挂在嘴巴上说的,“语言只是表达思想的工具,什么语言都无所谓的”,这句话一定要当重点背下来。重点的重点。
如果别人问你某个问题,你一定要快速回答别人,这样别人会觉得你对这个问题了如指掌,而不必管你回答的问题是对是错,或者是答非所问。如果你回答对了,那就再新手心目中又增加了一点敬仰。如果回答错了,那么你可以说,我这里就是这样,你有人品问题,我有事先走了。如果被证明出来你是错的,那你就说我就是那样写的,我告诉你的时候打错了,笔误。如果答非所问,赶紧趁别人还没反应过来之前,先GOOGLE一下,然后别人反应过来后,你可以说,刚才是别人问我的那个问题,我发错了。或者说我理解错了你的问题。
第三步,物以类聚,人以群分
高手认识的高手肯定普遍比新手认识的高手多,这个是毋庸置疑的。所以你要会扯,你在CSDN之类的论坛上问个问题,某位知名大牛回答过你的问题,你就要说当年我和某某高手讨论过某某问题。就算你某个朋友,某个同学,在某某著名软件公司当清洁工,哪天碰到了他,也要喊他出去吃饭,那样你以后就能和别人说我和某某公司的人一起吃饭,还是我好多年的兄弟哇,他还对我透露了什么什么消息,这个什么什么消息,你可以在网上看看新闻,因为不是所有人都看新闻的,或者你也不知道是什么什么消息,你就说那是他们公司的商业机密,他告诉我我已经很感激了,我还是不能泄漏出去。而且公司还不能说少,一定要是知名公司,不知道怎么说?那你今天说微软,明天说IBM,后天说SUN,然后挨着说BEA,瑞星,百度,金山,卡巴司机之类的,有名的公司,你一天说一个,十天半个月都说不完的。这样新手一看,不得了啊,方兴东也不过如此嘛。顺便举个例子,我大一时候的体育老师,上课总是休息,说他以前哪个哪个关系多好的朋友,在哪里当老总身价几千万几亿了,哪个哪个兄弟在哪个军区当旅长还得了多高多高的军衔,我随便靠什么关系就能拿比现在更高的工资了,只是我实在是热爱当体育老师这个职业啊。或者按照某某经济学家素称手册里面所说的,出国镀金,到某个知名大学去,见到大胡子的老外就喊他老师,然后你就是拜师从洋。
第四步,学习玉皇大帝
玉皇大帝为什么是道教众神领袖?因为他找的都是水平比他差的神才建立起信仰。没看到一些神话电视剧里面,有玉皇大帝的镜头很少看到或者几乎看不到释迦莫尼,默罕默德,耶和华,宙斯么?人也是这样的,要建立起自己的信仰,你就要找这么一个圈子,里面的人都比你差。因为高手也是相对的,你和一群新手在一起,你自然就是他们的顶尖高手了。然后在学玉皇大帝找如来佛一样,镀点金,建立起基本信仰后,找点高手近来,这样的话,偶尔和他谈点自己懂,但是新手不懂的问题,新手会发现那个传说中的高手和你水平大相径庭,你的声望又高了不少。
第五步,大师?天才?
《C++编程新思维》的作者Andrei Alexandrescu曾说过“Programming genius may show at an early age, whereas software designer tends to take more time to ripen”,你要当大师,你的年龄越大越好,你要当天才,你的年龄越小越好。而且还要学会吹自己学习的时间,你要当天才,对一个东西钻研时间越短越好,你要是大师,时间越长越好。例如我学汇编用了两个星期时间,可是我和别人吹,我只用了一个星期时间(后来我学ADSP-218x平台的汇编实际上只用了一个下午,没有吹的)。如果你年龄很大了,例如你都快40岁了,你可以吹你钻研某个领域如软件工程钻研了二十年时间。如果你想当天才,但是你真没有什么过人之处,那就搞理论型天才,到国外如sf之类的地方去随便找点什么开源代码,如模式匹配算法,神经元网络,动态LOD,BSP等等,然后把里面的GPL等协议删掉后换成自己的版权,怕被人发现,找个好一点的重构工具把所有变量名,函数名一换。万事OK,你的又一大作面世,但是首先你不要到处公开,要知道人怕出名猪怕壮,万一被人识破了就不好办了。就在小范围内宣传,特别是给那些新手们瞻仰。因为这样他们一般不会提出专业得连你都不懂的问题。如果是非理论型天才,那可以往上多找点VCL,.net, ActiveX等RAD控件,在你的程序上随便一拖,点几下鼠标修改点属性,写几行代码将他们组合起来。OK,用VCL的程序你要说你用SDK写的,别人用Spy++查出来窗口类以T开头,你还是要说这是你的编程习惯。SWT出来的程序,你要说你是用C写的,用的JNI而已。总之扯得越远越好。
今天就写这么多,希望要当大师级人物的读者,去买本厚黑学,对于速成大师有很大的辅助作用的。
欢迎大家拍砖扔西红柿。xxxoxx.com.cn 中国女子安全小组(原yes女子黑客团) |
|