一个编程菜鸟和编程的缘分
我和编程的缘分一直是淡淡的,但是却一直没脱了干系。
这就好像是一对男女,处过一段时间,然后女的离开了2年,后来两人又遇见了,淡淡地偶尔联系,但是一直也没分开很远。
本人和程序的经历:
1. 本科:第一次学习编程,学习了谭昊强的C语言编程、数据库理论、数据结构等基础课程,但是没有学算法基础、汇编语言、VC++(面向对象)、操作系统等。那时候编程的经验非常少,用的是Turbo C,没有做过带界面的东西。只限于课堂作业,和语法的学习。
现在想来,什么是“高级语言”,什么是“程序设计”?其实和学外语也没什么区别。这个时候的我就好像学了一口“哑巴英语”,语法很清楚,但是不会用,也不知道要好好研究C的算法库。这个时候的男同学好像比我们厉害多了,知道自学,有一个男生很厉害的,知道自己找一些代码书来模仿着编程,这个男生后来转到了软件工程专业(2002年全国开始开设很多软工专业),我差点去了,但最终没去,于是和软件、程序的缘分又远了。
毕业设计做的是一个 学籍管理系统,但是没留下什么印象(应该是没学到什么东西吧)。
2.研究生实习:研究生阶段学了一个和计算机不太沾边的专业——翻译。在一家网络公司实习(做语言类产品)的时候,对编程的兴趣又来了,这个阶段学了一点Perl——相对简单、容易上手的一门语言。这次学习和以前不同,因为有应用在,所以看书比较少,做的比较多,周围还有一圈编程的同事,遇到不会的可以辅导一下。学习的环境提升了,学起来就比较快。
3.毕业设计:做的比较深了。完全不懂C#的我,在被迫的情况下,用C#开发了一个系统。这个时候,学会了“借鉴”——不是从零开始自己编代码,而是在别人代码的基础上进行修改,以使程序符合自己的需求。另外,不懂OOP的我,居然也在用类编程(因为C#中一切都是类)。这让我觉得编程、包括一些概念也不是那么难。实际上,用过了再来看类,很多概念更加容易理解了(从这个角度来说,书上写的太难懂了)。
4. 工作:工作做的是技术翻译的活。由于想了解产品,又一次有机会接触到编程。有了上次的经验,我毫不犹豫地答应了。因为我知道,类似的开发已经非常成熟了,有很多人已经做过类似的工作,所以没有理由我做不出来。实际上,很多我们平常用到的任务,C#和JAVA中的包、类都已经替我们实现了。因此,开发工作也变得简单了很多:读懂类的说明、调试程序示例…… 修修改改、调试。
做这个任务的过程中,总结出来一些东西:
1. 对于语言一些基础的东西一定要非常熟悉。由于不同的语言有它的特点,我说的是在语法上,因此这些东西一定要找一本书,从头到尾地对照看一遍,同时在电脑上敲程序,试一试,这就是一个熟悉的过程。比如C#中没有指针,没有全局变量。那么遇到需要用全局变量的时候,怎么办呢?
2. 对于调试——这里面有很多技巧,还有科学性可言。
3. 细节有时候可以决定功败。
其实,作为一个还缺少经验的菜鸟,实在不应该在这里班门弄斧。不过鉴于我只是一个编程“爱好者”,也不怕丢人了。
What makes a good programmer?
基本上,我都不太沾的上边,不过还好已经知道方向了。
还有更多...
http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=175127

浙公网安备 33010602011771号