程序大师所必须的三大基本条件

        又一次潜心钻研一年多,期间找了家游戏公司开始了我的上班族生涯。一年多来没再写BLOG,发现BLOG这东西真的是要花点心思做的,否则根本没法搞出点名堂。

 

        在这么长的时间里,我很幸运的遇到了两个对我的程序之路颇有影响的两个人。

        一位是在一个业余游戏开发群中遇见的程序员,这位仁兄是所谓的“算法狂人”,为什么叫所谓呢?他有几大特点:

1、任何算法都是自己写(其实很多都照搬网上的,只是用到自己的程序中那就是自己的了),这无可非议;

2、2D游戏引擎使用的是GDI绘制,算法依然自己写,包括块拷贝!当你问他为何不使用DirectDraw或d3d时,他会告诉你:那些东西严重依赖硬件,而这不是软件的精髓,软件的精髓就是不随别人的技术而改变!

3、3D游戏引擎没有接触过,但喜欢去写3D渲染器,依然自己实现顶点变换+光栅化处理(这个就过火了),然后依然的GDI绘制!效率上如何我暂且不说了,这种精神值得敬佩!当你告诉他什么叫GPU编程时,他会严肃的告诉你:GPU更新过快,没必要去学习那些东西,按照自己的思想去实现就好了!

 

        好吧,他还有很多“优秀”的观点,但我现在实在想谈谈另外一位,他是我目前公司里的同事,此人经历独特,与我情投意合,在我刚进公司时,他是一个有些顽固不化的人,虽然学习能力很强,但极度厌恶微软(很多人都这样),当然,多亏了我们那公司里一个“非常有才”的策划想出了一款真人版网络游戏,他有幸去写客户端,因而接触到了视频流的相关问题。由于公司里没人懂视频流(游戏程序员往往直接无视这个),在我去公司前,他在非常痛苦的摸索C语言接口的FFMPEG开源库!注意,这个开源库的特点就是:跨平台通用性。非常好,脱离微软一样可以使用的代码,对他很有吸引力。当我给他推荐DirectShow的时候,结果可想而之,肯定的很不乐意。然而过了几天,老总开始催人,他也实在有些搞不下去了,因为那些C接口让人眼花缭乱,他开始对我的提议抱有一线希望。在为期两天的DirectShow学习后,他决定完全抛弃曾经研究了两个多星期还没能出图像的视频库。呵呵,连锁反应接踵而至,先前痴迷于Linux和开源跨平台库的他,现在迷上了microsoft,并不再排斥任何先进的思想,也不再害怕了。他也告诉我曾经遇到个用C语言写游戏引擎的人,并害怕使用C++的精华技术,认为C++庞大复杂,效率低下(如果真是这样的话......),而且有很多华而不实的技术(如果真的是这样的话......)。

 

        我想说明的是什么呢?是说必须跟着别人的屁股后面走吗?是说开源的东西一定不好吗?是说微软的东西一定好吗?都不是!我可以很轻易的反驳上面这些观点:跟在别人后面走,你永远成不了大师;开源一样有顶级的东西,如Linux的服务器、ogre渲染引擎、CEGUI界面库以及各种优秀的开源辅助工具;微软的东西不一定好,visio是典型的鸡肋、什么都想插一腿的作风容易让人产生厌恶,还有很多很多不好的地方。

 

        让我们不要拒绝,让我们包容一切! —— 这才是我想要说的,无论什么技术,无论什么语言、无论是否托管、无论是否高级、无论是否开源、无论是否跨平台、无论是否简单、无论是否高效、无论是谁的倡议、无论是谁的思想......    只要是你经常看见和听到的,就有它的价值所在。为什么我们必须要在认知一件事物的时候去拼命甚至无中生有的找出它的缺陷呢?明明是有那么多优点,所以才会经常出现在我们附近的技术,却被挖出了那么多毛病,并且持有两个技术的人群产生了派别,相互挖苦与对峙,这哪里能够出大师!

 

        但无论何种事物,终究有优劣之分,不仅技术方面是这样,人也是如此,我们如何才能不跟在别人后头走?如何才能领导别人?很多程序员经常性的自大,作出了点东西便认为自己很有本事,于是自顾自的催生出一些自我封闭的思想,并拼尽一切想要做领导者,甚至不使用别人的技术,担心技术变革,想一劳永逸,实在是荒唐可笑。这其实是在害怕,害怕技术的变革,害怕使用别人的技术,而不是你不需要使用。群众的眼睛是雪亮的,你逞强别人是能看出来的,而越是害怕,你将越是站在谷底。

        那么,我们何时才能走在别人前面呢?何时才算真正有自己的东西呢?当你走在别人前面的时候,你自己是心知肚明的,这不是自大,当你不对任何新技术有恐惧,并隐约觉得,自己能够使用最新的技术创造出还未曾有过的技术时,你已经是一个领跑者了。领跑者往往谦虚谨慎,知识面广博,觉得自己要学的太多太多,但对任何技术已经没有了疑惑,安然的接受自己所不习惯的思想,并强迫自己去习惯。有了自己的东西并不代表不用别人的东西,你的任何成果都将建立在巨人的肩膀上,真正的领跑者无不尊重这些巨人,学会尊重将使你跑得更快!

 

        有此,我所悟出的,成为程序大师所必须的三大基本条件:

1) 超乎常人的全脑综合智力——这是成为C++大师的最基本保证。当代计算机巨匠无一不是C++的大师,而要成为C++大师,不是空有左脑逻辑发达就可以的,存在于你右脑中的那些想象力、那些情商、那些创造力和空间感也要非常强大!这不是危言耸听,综合智力没有底限,越高越好,而且智力越高,你也会对计算机越敢兴趣,毕竟这是个低智止步的行业,而符合最基本智力要求的人是不足10%的,如果您有幸是这10%之中的人,请不要放弃,您会成为人上之人,高级人才永远是短缺的。

2) 豁出性命的勤奋——只有兴趣和智力是绝对不行的,计算机是实践的科学,不存在理论和实践之分,理论即是实践,拳不离手曲不离口,编程的时间必须是你阅读书籍所用时间的至少20倍以上!特别是在中国的计算机教育大环境下,这是任何有点成绩的C++程序员都感同身受的一点(本人每天平均编程时间10小时以上,包含节假日,已坚持了3年有余)。

3) 开放灵活的思想——这是我说这么多话,打那么多字所要表达的一点,这里的思想不是指你编程的思想,而是你接受别人意见并采取行动改变自己习惯的觉悟!99%的人口上说是要接受别人的批评,但都没有采取切实行动去改变自己。最大的敌人就是自己,最大的挑战在自身,改变自己不是什么丢人的事情,这种行为需要莫大的勇气,需要放下自己那套臭架子。试问:凭什么我就是我,不能改变?这种说法根本没有根据,只是在给自己找个懒惰的借口罢了。好吧,懦夫是做不成大师的!

 

        如果您在百般思量后,肯定的认为自己符合前两个条件,那么请快点醒来,您可以选择一直睡下去从而做一个熟手,也可以选择咬紧牙关揭开盖在自己身上那床寒冬里的棉被,最终成为高手,成为大师。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值