1
【原创】编程心得
28 荆棘探兴 2008-07-01 01:19:25
标题党一次。
if(您欲退出)
{
请献花;
return;
}
else
{
continue;
}
心得谈不上,只是一点总结,抛个砖。
很多人描写程序员的生活是“起得比鸡早,睡得比妓晚,干得比驴累…”,我觉得有点过,但干这行还是比较幸苦的。加班、通宵的频率比较高,年轻人扎堆的地方,有时候就是拼身体、比体力。技术、软件更新比较快,总的学习新的东西,新的技术,这还不算痛苦,最无聊烦人的事情是读别人的代码,运气不好点,如读天书一般。除了这些,竞争压力还会时常眷顾你。
所以,如果没有对编程有极大的兴趣,干不了多久就会度日如年。如果不感兴趣,应该赶紧转行。有个感兴趣的工作,是人的福分;如果再有个看着舒服、和你过日子的老婆,作为一个普通人,这辈子就算幸福了,该知足了。不过,包办婚姻也有美满的,兴趣是可以培养的。
说来好玄,第一门计算机语言课程FORTRAN差点把我的那点编程兴趣给砸了。FORTRAN语言是工程计算语言, 那时候,还以为编程就是把计算公式写成程序就完事了。最可气的是,很多上C语言课程的人骂人傻就用“FORTRAN”,不过后来我们也如此用了。还是C语言好,下可以操作硬件,上可以很容易学习c++,c#这些面向对象语言,进退自如,还很通用。C语言堪比武器中的AK47, 实在是程序员的最爱。
清华大学唐浩强的《C语言程序设计》是学习C语言的一本好书,另外还有一本林锐的《高质量C/C++编程指南》。把这两本书学通了,C语言的基本功就算打好了。以后就靠自己在编程实践中历练了。
偶以为编程最重要的是你的思维、你解决问题的方法。当然掌握更多的工具,精通更多的语言多多益善,技多不压人。大牛一定要博学,博学不一定就能成为大牛。有些解决问题的算法、设计的思想很多是看书学不到的,需要实践,需要悟性。同样的时间,同样的环境,有的人总能比你更快、更好的解决一些问题,这才是最难的。
不过,有好的编程基础,只要不是太死板,混程序员这口饭吃我觉得够用了。新员工总呈慌呈恐,以为老员工都是牛人,其实牛人没那么多,也就那么几个。老员工也没必要太狂妄,牛人都是很谦虚的。平静很重要,“思想如同水, 当水波摇曳时, 很难看清, 不过当它平静下来, 答案就清澈见底了。”
刚开始工作的时候,晚上总睡不着,白天编程的一些问题总困扰我,现在这种情况基本没了。我现在一个同事,做程序员这么多年了,依然会因为白天的编程问题而晚上失眠,典型的强迫症后期。“ 多大点事啊,还以为是抢鸡蛋呢!”。这些心智方面的磨练,可能是各行各业都会遇到的。
曾遇到过一个编程问题,怎么也看不出代码有错误的地方。查了好多书,都找不出问题所在,后来在一本不起眼的书上看到有不同的方法才把问题解决。很多编书者自己没有编译调试就把程序写在书里出版,实在是误人子弟。好几个同学在校就参加过编写计算机方面的书,所以,现在我不怎么相信书了,别人的成功的编程实例、相关的代码是最好的书。
程序不可能没有问题,知道问题所在怎么也能解决,怕就怕不知道问题出在哪里。俺用的最多定位问题的方法是二分法,是硬件问题,还是软件问题;是底层软件问题,还是上层软件问题?这时候,断点或者printf是最好的朋友。仔细想想,printf是用的最多的一个函数了。
如果怎么也找不到问题,不妨放几天,事缓则圆,几天后说不定会“幕然回首,那人却在灯火阑珊处” 。
如果还找不出问题所在来,那可能是自己思维定势,自己发现不了问题。这时候换个人帮你看看,也许一下就发觉了,所谓当局者迷。
还有一种可能是环境的问题,以前遇到一个问题在上海能发现,但在北京就没问题,苦无良策。最后不得不跑到上海,下飞机在宾馆就把问题解决了,接下来的两天公费犒劳了自己一下。问题原因就是上海与北京的环境不一样,程序走的路线不同。如果还在北京死啃,只有空悲切了。
写到此,回头再看一遍,所谓的编程心得好像和编程有点距离…
关键词(Tags): 编程 心得
4
呵呵不敢, 隆飞 2008-07-02 20:54:51
看您拿printf说事,就猜到你最熟的是C,再看您北京上海环境差别那个例子,就知道您是俺的同行+前辈了.
2
我看过的最好的书是
2 闻砾 2008-07-02 20:38:14
C++ programming language 第三版,C++创建者写的。干净,清楚,要是早读这本书10年可能我就是编程大牛了。:) 现在的好书比应该以前多也方便。
2
偶觉得,
1 草纹 2008-07-02 10:03:13
现在我不怎么相信书了
技术文档才能查到真正的答案或者解决开发中问题的启发,书还是离现实太远,只能提供基础。
3
书有两种
1 风北客 2008-07-02 22:59:34
一种只是资料的堆积,适合入门和查阅,看完就扔。而有些负责的作者,对资料做了比较好的整理和过滤,很适合长期放在手边做工具书,比一般资料好。另外么,有些产品,比如18mo的东西,你是很难拿到什么合适资料的,在某些书里的作者会暴力破解一些东西给你分享,那这块也是蛮有用的。
另外一种是讲述作者对某一个或一类问题的思考的,这类东西能有多大帮助,很大程度上就取决于你自己了。
4
嗯,对于开发而言 草纹 2008-07-04 09:31:14
往往最新技术只能看英文资料,因为成书,或者翻译都要花时间。
书在解决知识点理解方面还是有用的。当年我的C的指针问题就是攻读了一本这方面的完整解剖秘籍之后,不再疑惑,开始入门。
最后于2008-07-04 11:45:36改,共1次;
2
看起来河里搞编程的不少哈
1 不感冒 2008-07-01 23:19:48
睡觉前还真是不能想程序,不然梦里也在想,不过梦里想有可能有助于解决问题,呵呵,有时候百思不得其解的一个问题,在早上醒来的时候,突然一想就明白了,然后兴冲冲上班一试就搞定了,还要大笑自己真笨,怎么就没有考虑到那个方面
BTW:唐浩强 应是谭浩强吧