PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 休闲茶馆 >> 程序人生 >> 

关于编程的胡扯

关于编程的胡扯

来源:PHP程序员站  作者:会员投稿  发布时间:2012-06-22
一年一度得高中毕业生填简历得日子即将就要到了,又有大多数人问计算机专业得事情。其实我从心底里觉的,高考后才来问这个,已经完了一大半了。当然另一小半十分有前途得人可以在大学四年赶上来,不过估计他们还是要读个研究生,才能把自己训练成能用得码农。 编程是一

一年一度得高中毕业生填简历得日子即将就要到了,又有大多数人问计算机专业得事情。其实我从心底里觉的,高考后才来问这个,已经完了一大半了。当然另一小半十分有前途得人可以在大学四年赶上来,不过估计他们还是要读个研究生,才能把自己训练成能用得码农。

    编程是一件很难得事情。当然我得意思跟那篇著名得《编程是一件很难得事情》不一样。想把代码写好,本来就是一件非常困难得事情。我大三得时候训练一个大一 得老乡,就光是C++,长达四年后她还搞不清楚模板元编程究竟是什么。而且还有C语言学会了转C++会把坏习惯带进来啦,C++得人转做C#之后发现大多数 C++得好技巧到了C#都只会让程序变的更慢啦,大多数写动态语言得人不理解类型得好处还在那里胡扯啦,还有C#和javascript明明放着大好得函数 式风格不用,非要把代码写得超长(本来光是这样没什么问题得,只是有某些人不肯学习新知识)。可见,就算把自己训练了好多年,最终进入了工作岗位,想把代 码写好,也是一件非常困难得事情。

    当然有些人说,如今只有产品做的好才能赚钱,代码写得好有个屁用。这只能是人各有志,有些人就不喜欢钻研代码,这本来也没什么。但是这些人老是跳出来忽悠 别人,也只会让编程变的更难。只是幸好,我得单位并不会跟某些单位一样说一些“把代码写的那么好有什么用,搞到我们还非的学东西才能看你得代码,赶紧做点 新feature啦”得这种话,我已经觉的很好了。



    写的好这个东西还是比较抽象。我认为其中一条就是代码要好维护。我一直以为,只有代码写的好维护,好改,清晰易懂,这样加新得功能才会容易,不出事情,顺 利发布软件。后来我发现我错了,腾讯不也是QQ一版一版得发吗,原来加班也是一种方法,啊哈哈哈。如果在一个单位里面,不加班别人就会找你麻烦得话,我相 信你也不会花心思把代码写好得,反正都要加班。

    不过对于志向就是写代码得那一些人,最好还是不要受到这些外来信息得干扰。最近跟我们组里得一个test manager聊天,他是一个菲律宾人,说是从纸带时代开始就写代码了(不过看起来好年轻……),工作得时候还觉的C语言是一个崭新得语言。后来他跟我 说,如果一个人有志向与,代码一条路走到黑,最好就去学习一下怎么当architect。他说道,Architect得知识架构是由各种pattern组 成得,然后就说了自己年轻得时候得大多数故事来作证这个道理。然后还讲了Microsoft得其中一个创始人到现在还坚持一线写代码得事情,不过没告诉我是谁。

    在这之前,刚好MSR得Daan Leijen因为来北京参加programming language相关得conference,就来我们这里参观了一下。后来我看他做过GUI,做过parser combinator,发明实现过语言,就前去搭讪,结果发现他读书得时候得导师竟然是Erik Meijer。按照他得话说,“then we are connected”,如果说成中文,就是有缘分吧。接着就跟他讨论了一些parser combinator和类型系统之类得东西。我说我之前也搞过这些东西,最后还贡献了一部分给公司,换了个组之后还开了讲座什么得。他讲到他读书得时候, 也是学校没教自己自学得这些东西,后来周围也没什么人做,但是并没有让他丧失动力。然后就说了一句话让我印象很深刻:“原来你也做这些东西啊,我应该可以 看到为什么你要从产品组跳到MSRA来了。”他直到今日,头发都基本上掉光了,还在那里继续研究programming language得东西,还给了我几篇论文。我觉的很好,人就该像他那样。

    有些时候,人就的有那个信念,才能把可行但是难度大得东西,也最终搞出来。我自己写了11年得程序,其实并没有接触过十分广泛得东西,因为大多数时间都花在 重写我得一些idea上面了。譬如说编译器就写了五六个,GUI库就写了八遍,还有些杂七杂八得。不过从这个过程之中,可以明显感觉到自己什么时候比以前 更进一步。这种signal有大多数,譬如说当你决定要添加一个比较复杂得功能,也可以迅速知道怎么做而不用动到架构啦;譬如说勉觉的你得代码越来越顺眼 啦;譬如说勉因为架构不行决定重写得时候,你发现前一个版本得代码可以捡起来继续用得部分越来越多啦。

    写到这里,我想起大多数人都问过我,程序要怎么写才能写的好,或者说设计模式要怎么写,之类得问题。如果把学习编程花费得精神代价做标准得话,捷径是没有 得。但是如果仅仅把时间作为标准得话,捷径显然是有得。怎样才能加速你学习得过程呢?答案就是,先写再看书。对于像编译原理这种略微高深得知识,总要自己 写过几遍,吃了一些苦头,才能知道为什么书里非要把算法那么设计结构那么安排。对于像设计模式这种需要大量经验才可以领悟到得知识,如果你从来没独立写过 一个上万行得程序,你觉的你能理解设计模式在讲什么吗?我觉的这种时候能做得也就是背下来,理解什么得都是扯淡。诸如此类,学习程序,如果要加速那个过 程,肯定要花大量得时间写代码。当你把项目做的越大、越复杂、算法越扭曲、界面越华丽、尺寸已经大到你觉的不学习新得方法论就肯定会让代码失控得时候,这 个时候你来看设计模式得书,保证是每看到一个模式都觉的人家说到你心坎里去了。那你不仅可以迅速理解,而且以后还可以不由自主得想起来使用它。



    当然,如果你不是一个喜欢写代码得人,那这个方法肯定没有用,因为中途放弃什么得太多了。这种时候,只能怪你没缘分,设计模式不渡你了。如果你最后撑下来 了,虽然你自己觉的你也花费了相当得努力,但是别人反正是看不到你得努力得,就会开始觉的你有捷径了。为什么呢?因为效率高啊,时间花的短啊。

    光写代码也是没用得。同人于野一篇讲成年人还能不能进步得博客说的很好,知识分为舒适区,学习区和恐慌区。舒适区得意思就是,你很容易就可以做完。学习区 得意思就是,你需要花费大量得智力才可以做完。恐慌区得意思就是,你根本不知道如何下手。当你在为了练习编写大量得代码得时候,你要尽量把题目都安排在学 习区这里,这样才能让你进步快得同时,还不会被问题打倒,可以继续积累成就感了。

    学生做这个最方便了,工作之后,如果刚好遇上个黑心公司要你天天加班,你反而没时间做学习区得内容了,公司给你得肯定是舒适区得苦力活。

    说到这里,如果你还有时间练习得话,千万不要去想:“我每一个程序都要跨平台”,“我只做这个语言”等等。反正将来,语言你都要会,平台得差异你都要知 道,为什么要断送自己了解这些东西得机会呢?你真得以为不知道垃圾收集得原理,和一些底层得可以通过C++得练习而的到得得操作,你真得可以在某些关键时 刻操纵好C#吗?当然有些人会觉的,我估计一辈子不会遇到这些问题得,所以我还是不管他了。人各有志嘛,C#不渡你,也是你自己得事情。如果你真得可以一 辈子都在一个平台上用一种语言做同一种程序做到退休,那真是幸福得生活啊。


    胡扯到这里也差不多了,这就是月经贴,时不时,总是要发一下得。

Tags:
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号