免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 974 | 回复: 0
打印 上一主题 下一主题

学习经验的总结 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-04 17:09 |只看该作者 |倒序浏览

做了快20年的学生,应该把自己的学习经验总结一下了:)
一、 技术的学习途径:
      我觉得,面对一个新的学科或者说新的技术,我们的最关键问题是 不知重点在哪儿,不知道从哪儿下手,不知道这一领域中的人一是如何考虑问题的,不知道行业习惯是什么。 在技术的学习中,还有一点重要的是,在解决各个特定问题时不知道我们所学的那些技术知识和经验如何才能组合起来解决问题。 因此,对于技术的学习,首先我认为就是应该对这一技术进行全面的了解,可以把讲解技术细节的书通缆一遍,这一遍主要是要看一看整体的技术体系,知道关键问题在哪里,这一领域的人倒是一般是如何来使用技术以及解决问题的思路是什么。这一点我觉得非常重要,有了这样的基础,我就相当于在一个网络装的知识技能体系中 找准了几个关键点,纲举而目张,以后在细致的讨论这些技术的时候就可以以这几个关键点为坐标,看看各个技术细节的处理办法是如何来体现、协助、补充几个关键点的,这样,整个技术体系的大厦就可以比较快的完成。
     技术学习的第二阶段其实是最最辛苦的,因为,我们需要在实践中学习,在事情中体会技术细节的处理办法,我们需要经历反复的实验、反复的思考、反复的查阅资料、才能得到一个技术细节的使用方法和可以用之来解决的问题方案。搭建实验平台、设计精巧的实验步骤等都是需要耗费大量的人力脑力的,而且经常还需要四处查阅其他的参考文献,有的时候还要以不通方法做多个实验以比较各个试验的结果,加深对于各个方法实质的理解。而且这个过程很可能会有比较多的困难。一般优秀的技术资料 往往都是在这个阶段对我们技术人员给予帮助的。比如说现在我在学习的unix平台的编程等,就是属于这个体系,Richerd Stevens的技术书籍为什么如此畅销,就是 由于在这个层次上给了我们上好的帮助,这是技术人员最难逾越的一关,也是从菜鸟到高手的必经之路。
     很多时候,如果第一类图书没有的话,可以将这一类书作为第一类书,但是阅读方法必须很不一样了,第一遍阅读时,必须摆脱很多技术细节的干扰,集中注意力在主要的问题上,而且第一遍也是不需要做多少实验的,关键是理解思想和习惯还有一般通用的解决问题的办法。而且这个过程中需要有很多自身的积累,参考文献资料的积累、易错细节信息的积累、解决方案的积累、错误解决办法的积累。一个会积累各种细节的科技人员才是优秀的,天下大事,必作于细。
      第三个阶段我觉得应该是在大的实例中学习。技术的学习经验非常的重要。因此来说,大的具有实际意义的项目的实战或者模拟是增加经验的最好途径。而这个领域能够获得的第一手资料是比较少的,因此,一边去发掘 ,一边自己动手亲自实验,一遍去向有经验的工程师学习,谦虚一些,非常重要,网络起来以后,也可以网上求教,但是亲身的去接触第一线的开发人员仍然是非常必要的。 自己可以把一些别人已经做好了的东西自己重新做一遍,以此自己能够获得第一线的开发经验。这个阶段需要积累的是自身的开发经验,以及一些实战项目中的问题以及解决方案,积累的东西相对来说比较大,不是像第二个阶段的细节积累了,当然了,积累的东西实际上不肯能分的特别清楚。
还有需要积累的 就是 实际问题中的客户需求。我的产品都是做出来满足用户需要的,一般用户会有什么样的需要,我们通过现有的技术一般经常如何来满足这些需要 —— 这是非常宝贵的经验,特别是当自己成长为项目经理以后,这样的经验尤为重要。

以上就是我在学习unix平台编程时候的亲身感受,经验以及教训,我觉得对于我自己是有很大帮助的,也是我越来越会用工程技术人员的方法来学习,这个学习过程确实不同于以往在学校上课时候的学习方法。 我以前比较习惯的是上课的学习方法,现在从事技术领域,感觉方法确实非常不一样。
二、科学(文理科)的学习方法:
       这部分其实适用于 数学、经济学、等文理学科的学习过程。
理论一些的学科学习,和技术学科有一些不同。我认为,应该来说,其在某种程度上更像一个树状结构,或者说比较容易划成一个树状结构,后面内容的学习严格依赖于前面,而严格不依赖于后面,这就是我的感受。读书应该一页一页的向后阅读,跳过一些内容可能会造成读不懂的情况。但是呢,就我以往的经验来看,还是需要有个网络状的概念。很多问题,也许在此处我们不太能懂,但是有了其他后面内容的铺垫就会好了很多。 因此,科学的学习也可以按照前面所说的 技术学习的前两步来进行,首先对整体有个全面大概的认识(不过可能理科课程需要在这个阶段多费一些时间,毕竟理科相互之间的逻辑性比较强)
       在第二个阶段中,可能在理顺很多逻辑的同时,需要对内容作一个扩展,应该引入思辨和批判的机制进行学习,不断加强整体逻辑体系的联系,可以说,文理科的学习主要是用来认识世界,因此对于各个相关部分的逻辑关系之间的理解非常重要,逻辑线索越多越好,说明理解问题也更加深刻,从中可以提炼出来很多值得思考和研究的问题,再去寻找新的相关结点建立逻辑关系,我们的任务实质上就是在画一个相互之间联系的网络图的过程。注意,这是在第二个阶段我们的任务,而且可能是永无之境的,我以前的错误就在于在第一阶段就希望能像第二阶段这样来学习,实际上是不可能的,白白浪费了许多大好时光,非常的可惜。
三、什么是写的好的技术教程:
     《unix/Linux编程实践教程》  中体会到了我们人类认识问题的一般方法, 什么是写的好的教程,Toturial 和reference 之间的区别等。
      技术体系是一个解决实际问题的工业体系,最大的特点是 网络状的知识体系,为了解决问题,我们需要一个组织精密的严密体系去解决,而且很多技巧经常交叠在一起,初学的人很难进去。其实就每一个技术点来说都是相当简单的。 而且技术体系是一个历史性的过程,每一个零件和每一个技巧的加入是在不同的时间的,不是一次完成的,加入的原因往往是为了解决当时的一个需求,而且后来需求加入的同时为了保持对于原有体系的兼容性还做了一些曲折的技术方案,使得那些技巧更加难懂。而初学的人看到的是一个平面的技术体系,没有时间的历史性在里面了,加大的学习难度。 技术的复杂性我认为主要在于此两点,其实每一个鼓励的技术点和技巧是简单的。

      面对这样的一个庞然大物,学习曲线比较陡峭。然而我们都知道,人认识事物的过程必然是逻辑和历史的统一。我们如果不能够仿真出这套技术体系的从萌芽到成熟的发展体系就很难理解现有的很多东西为什么会长成这样。 而且,我们读书的习惯也是希望能够严格按照树状组织来学习,后面严格依赖于前面,而前面严格不依赖于后面,但是这在技术的学习体系中几乎不可能。 而技术手册又以其全面性作为参考时有用,而作为学习教程却非常不合适了。
      写的好的技术书籍和资料都是能够把现有的结构严密复杂的技术体系条分缕析出来,分出一个个单立的部分去理解,在分析一个个单立部分中,还会解释这个技术从萌芽到现在是如何适应不同的需求而演化的。 当把单立的部分解释清楚以后,又会有一些例子解释单立部分如何相互组织起来行程一个比较严密复杂的体系的。这个特点在《unix环境高级编程》中表现的非常的明显,值得我去好好体会。 而且各个分立技术的讲解又比较注意按照书的顺序组织成一个相对来说比较成树状结构的体系,并指出各个分立技术之间的关系。实在没法做成一个树状结构了,写出参加后面的哪一个部分。这样的书籍大多会非常成功。那本《unix/Linux编程实践教程》就是一本典范,严密的unix编程体系被按照人们认识事物的规律被分成了一个个自然而又容易理解的树状结构,非常精彩,可以说是教程中的典范。《unix环境高级编程》做的稍微差一些,不过这是由于这本书和那本书定位不一样,《实践教程》就是定位成教程,而apue除了定位成为教程还定位为一本参考手册。《TCP/IP illustrate》在教程方面就出色些,讲解的非常细致。同时又有许多的实际环境实验。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4665/showart_14111.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP