回 帖 发 新 帖 刷新版面

主题:[原创]连载:十年经验,思考和讨论:计算机技术该如何学?

连载:十年经验,思考和讨论:计算机技术该如何学?


首发:www.rzchina.net



(1)程序设计如何学? 


程序设计如何入门,如何学效率更高。这是初学者经常问的问题。
每个人都希望投入时间最短,获益最大。这很正常。好吧,我们来总结一下,程序设计的一些经验。我们的经验就一句话:
“好读书不求甚解,上机实践是检验真理的唯一标准。”

所以,我们推荐的学习方法是,首先建立起对计算机的感情。
对计算机的应用比较感兴趣,兴趣是最好的老师,你经常折腾计算机了,慢慢也有了探索计算机奥秘的兴趣,这对坚持学习,非常重要。

接下来,你要做的,就是不断上机提高你的水平了。

第一阶段,学习语法。
课本上的语法,理解之后,即可上机试验,加深理解,熟练使用。
这个阶段,看书和上机的时间分配大概是1:1的比例。

第二阶段,熟练提高
看书:上机比至少1:2,甚至1:3或者1:4更高。
主要用于自己设计,编写一些小的工具软件。
这个阶段,逐渐加大的代码,会让你逐步体会到很多代码建构的技巧,
而且,不少技巧,是必须自己去做,才能深刻体会的。

其次,多请教同学老师,也是非常好的一个技巧。
一般来说,学校里都有一些计算机组织,你可以参加。
而且,一般每个系都会有一些牛人,你可以读向他们学习。
网上也有很多比较能干的人,
而且,他们往往也会比较热心的帮人们解答问题。

一般来说,在校大学生,坚持做到能快速编写一些小工具,
水平就足够了,在你工作的时候,这是一个比较高的起点。

回复列表 (共4个回复)

沙发

连载:十年经验,思考和讨论:计算机技术该如何学?(2)


"开发经验提升三部曲"



编写了十多年程序,更换了不少平台,也做了不少项目。总结一下,基本上不停地在学习应用总结这三个循环中逐步提高自己。
简单的说,开发经验的提升,基本上逃不出这三个阶段:


学习库测试库

应用库解决实际问题

总结一套库的使用经验,形成自己的二次开发库


以最开始学习C语言为案例吧。
Borland C++/Turbo C中提供了一个库:graphics.h。
这是一个DOS下,PC平台的图像库。我们当时很多程序需要用到,从课程设计到毕业设计。
这是我们第一次经历这三个阶段。

第一个阶段,我们看帮助,看graphics.h头文件,
自己编写一些小程序测试graphics.h的功能,了解公共参数,熟悉里面的大多数函数的用法。


第二个阶段,应用库解决实际问题。
比如我的一个大作业,要编写程序演示信号的变化情况,这就要用到这个库。
刚好我之前因为兴趣,比较熟悉这个库,在编写代码的时候,就只把精力放在信号处理的核心算法上,
学习库函数的时间基本上可以忽略了。

通过一系列的开发之后,我有空总结了一下,把自己编写的和graphics.h相关的,比较通用的函数汇集在一起,
形成了一个自己的二次开发库,这就进入了开发的第三个阶段,
通过这个总结,不但自己把这个库理解得更清楚了,而且积累了学习和应用的经验,在将来的开发过程中大大提高了效率。
比如毕业设计中,就有部分是编写一个小型CAD平台,就又需要使用这个graphics.h库。
因为我自己已经总结了一套二次开发库,在开发实践中,拿起来就用,
在项目编写过程中,主要精力就集中在CAD平台的数据处理上,图像显示部分,已经有成熟的经验,效率大大提高。


毕业之后,进入实际项目的开发。
基本上每个项目都会学习一个新的库,因为一般的设备都提供了一套库函数供我们开发使用。
也避免不了就要进入上面所说的三个循环:
学习库测试库;应用库解决实际问题;积累了足够的经验,慢慢形成了自己的二次开发库,提高了工作效率。
当然,有的库简单得很,只能说积累了应用经验,没必要一定要写出一个二次开发库来。

即使后来的平台转换,实际上,也是这样的过程。
用ucOS,学习ucOS的运行机制,阅读它的代码,也是一个库的学习过程,然后是应用,总结经验。
用VxWorks,依然是学习VxWorks原理,然后应用它。
更换到LIUNX平台,也是同样的过程。

当我们成为一个成熟的开发者,这样的学习和应用,就变得简单了。
我们换用Visual C++,要学习Windows开发库和MFC类库;
我们用Delphi/C++ Builder,就要学习VCL这个组件库;
……
只不过我们的学习和开发经验丰富之后,后面的学习,因为前面的经验,将变得相当的简单。


我们来总结一下,这三个阶段,其实是不断的在锻炼我们三方面的能力。

学习库测试库——→ 锻炼我们的学习能力。
特别是有源代码的库,通过看高手的编写成熟的源代码,你会因为他们的处理方法和机制学习到很多优秀的开发经验。

应用库解决实际问题——→ 提升解决问题的能力。
发散多种算法,选择最优数据结构,优化代码提高效率……

总结一套库的使用经验,形成自己的二次开发库——→ 总结与提高的习惯和能力。
嗯,一般人没有这个抽丝剥茧的习惯,其实很重要。
不管是对应用这套库,还是使自己思维更清晰,解决问题的能力更强,都是非常必要的。

我们的学习能力,因为个体的不同而各有异同,总的来说,不断的学习和找窍门,终究会找到一套自己的快速学习方法。
解决问题的能力,概括来说,就三个方面:发散思维的能力,直觉和经验积累。
总结与提高,更多的是一种态度和习惯。

我们应该承认个体是有差异的,比如说发散思维的能力和直觉的能力,就可以看出一个人的聪明程度。
但不断的经验积累,总结和提高会弥补你的这些方面。
前面有介绍我的开发经历,其实感觉自己的资质一般得很,但兴趣,勤奋,比较踏实逐步弥补了我的缺陷,
而且,经验的积累,使我很惊讶的发现,直觉和发散思维的能力也在逐步的提高,
越到后面,越能在千头万绪中找到解决问题之道,开发效率越来越高。
总结过去,我有一个感慨:勤能补拙是真理,但前提是方法正确。


---------------------------
更多系列文章,请到我们的网站:www.rzchina.net 阅读交流。

板凳

经典啊,我支持!!

3 楼

谢谢分享!www.qq8080.com

4 楼

学习了~~ www.11yh.com

我来回复

您尚未登录,请登录后再回复。点此登录或注册