已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
诶呀整理的眼睛都疼了可是还是整理的有点乱希望能够带给你们很大的帮助哟要珍惜我的劳动成果。谢谢咯!方法(一)编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又很难说清楚,如果按照我走过的所有路来说,显然是不可能的!当我看完了云风的游戏之旅-编程感悟和梁肇新的编程高手箴言我突然知道我要从何说起,我要怎么说了!从接触编程到现在已经至少要6年,虽然时间短,但我几乎每天都在编,而编程上突飞猛进的还是最近一两年,单纯编程上的进步,很简单就是经验,但你要理解才可以进步的快!这就是说,你的理论课要学好,才能学好编程,操作系统,网络原理,计算机体系结构,数据结构,编译原理,你哪个学的不好,你根本不配成为编程高手,我见过的高手,这些学的都不错!这些都是计算机的支柱,你连它的支柱都不了解,怎么编程,即使你编写的程序好只有一个原因,你用的是高级语言或脚本语言,因为它们封闭大量低层语言细节,让你不用了解就可以编写,你不了解低层细节你杂成为高手!解释什么叫编程我觉得现在很多同学,根本不知道什么叫编程!我现在告诉你,单纯的编程,也就是就知道语法知识的编程,根本不叫编程,只会单纯的语法的编程连低级程序员都不如!编程不仅仅是你对语法的掌握,你还要把各种技术混合到里面,这样才叫编程,你编程的时候,你应该问问自己,你的程序有算法吗?你的程序写的够简单吗?速度足够快吗?占用空间足够少吗?代码写的规范吗?语句写的标准吗?你的程序之间的结构合理吗?你类定义的合适吗?方法和属性合理吗?接口合理吗?等等等,包含很多东西!这就是高级程序员为什么赚这么多钱!要付出相当大的脑力劳动!调试对你也很重要,一个程序高手,也是调试专家,其实调试很多方法,但大多数都是实践中得到的!指正现在人对学计算机误区现在我每天在和汇编,硬件指令,c和c+或一些低层API打交道,有些时候编程这个东西很难说清楚,只有你经历了,你才能感受到,你没有经历,就永远体验不到!我现在要更正几个现在学计算机人的误区,我想回答的是,学什么才是学计算机!学计算机的两个方向:一个是纯搞理论的,一个是搞实践的。搞理论的无可厚非的,大家都承认是学计算机。那么实践呢?我很难给出一个定义,但我会列出那些才是真正学计算机学的:(1)编程,这里的编程,我要抛出FLASH,PHOTOSHOP,3DMAX等,它们虽然也有语言,但都是为了给美术人员提供的!也就是几乎封闭了大量的低层细节,对于一个学计算机的人来说,如果你努力学它们,你还是不要学计算机了,去学美术把!网页编程能接触到至少两种类型语言,HTML和ASP或JSP(PHP),HTML说实话,不应该是计算机人学的,你应该学的是ASP,JSP等!按严格意义上讲(但实际没有这么严格)如果你的主要必修语言,不是c,c+,JAVA,或者硬件指令,都不算是真正学计算机的,之所以这么说,我举个例子,比如你用JSP,它是一个脚本语言,如果你用过这个语言,你认为你用好这门语言需要了解硬件结构知识吗?显然不用,如果你纯是JSP程序员,你需要只是,JSP语法,一些简单的JAVA语言,SQL之类的数据库知识,其余的你什么都不需要,至于分析流程,那是系统分析师的事,不要和编程混为一谈,我学JSP学了3个月,现学现买就做出了功能齐全的网上书店(当时是老师布置的作业),如果再努点力,就可以投如使用!所以说,学JSP根本就不需要太多的专业知识,不是学计算机的也很容易就学会!学c+,我都学了好几年了,用它写程序都几十万行,我也不敢说我学的精通!就是因为它太灵活了!不同人,用的效果就是不一样!所以按严格意义上讲,如果你的主要必修语言,不是c,c+,JAVA,或者硬件指令,都不算是真正学计算机的,也就是说,学那些对计算机专业知识不需要太多了解的语言,就不叫学计算机的!(2)从事软件方法实践研究,这个纯是软件工程方面的,如果你没有容入一个大项目中很难体会它的重要性,想一想,一个程序,几十万,几百万行代码,能这么好的实现,并运行,它的功劳不小!(3)从事低层硬件开发,这里可能和搞电子的专业有些重叠,但事实就是这样,他们也是学计算机的!其余的,装系统了,装电脑了,用人家编好的软件实现些图片音乐等功能的,那都是计算机的门外汉,不要和真正学计算机的混为一谈!我经常被问到:你会盗qq不?我晕,学计算机的就要会盗qq?你会装电脑不?虽然我会,但不会并不可耻你会装系统不?虽然我会,但不会并不可耻等等把,有好多,通过我上面解释,你应该理解学计算机的应该会什么,不会什么也是应该的!正式入题,怎么学好编程!世面上好象只有这两本是中国人写的关于编程心得的书,中国编程好的人很多,但写出方法很难!第一本游戏之旅-编程感悟前面几章写的是云风的编程经历,后面几章写的是编程经验!总的来说本书很容易读懂!编程高手箴言书很难,尤其写操作系统那章!正如作者所说,真正写一门编程方法学的书很难!本书前几张概括了当前中国软件面临的形式,我强烈建议看一下,写的很经典!以前我不知道程序和软件的区别是什么,现在我知道了!后面几张写的都是编程方法和编程要具备的知识!总结他们两人所说的,我准备按照下面提纲来写编程方法!1。如果你感兴趣,学计算机是一种光荣,如果你不感兴趣,那么它是地狱!2。理论对你很重要,尤其是你一名搞技术的程序工程师!3。学会自学,学会思考,学会合作与交流!4。要想成为高手,一定要从底层学起,底层是什么?CPU,汇编等硬件指令!5。编程需要经验积累,学会调试对你尤其重要!6。全局把握整个工程,具体到每个类的属性和方法以及各个类的关系!一定确保你设计的类和类模式和类间关系能够有效,利于修改和升级!概括说就是软件工程下面我就分别说一下一。如果你感兴趣,学计算机是一种光荣,如果你不感兴趣,那么它是地狱!我经常听很多同学说,开始他对计算机很感兴趣,但随着大学里的学习,越来越感觉无聊甚至厌烦!你之所以这么想,其实一点也不怪你!从高中的应试教育到大学里的自由学习方式上的转变,我们几乎都不适应,一到大学,突然有一种解放的感觉,没有老师的强硬指示学习,自己根本不知道怎么学,学什么!所以说,教育对我们很不负责任!如果你在大学以前已经知道编程怎么回事,那到没什么事情!但好象很少有人象云风这样从小就接触了编程教育!所以我们在没有上大学前几乎是零起步!其实,按我的理解,刚上大学开始学编程有些晚了,之所以这么说,不是因为单纯的编程很难,如果你很努力,几年完全可以搞定,其他的你去公司的经验可以弥补!我这里想说的是,一个真正的程序员不单单要有强硬的编程实力,还要有强大的理论后盾!你只会编程,没有强大的理论做后盾,你也就不会把理论转化成实际的代码,你也不会做出高效,高技能的程序!在计算机理论中,图论,人工智能等等都是很难的理论,但如果你能把它们有效的用在计算机领域,功德无量!国人能做这点的很少,本来厉害的程序员就很少,有高尖端理论技术并把它应用的更是凤毛麟角!(这里可以推荐大家一本书游戏编程中的人工智能技术,这本书抛开了传统的自动机,产生式,各种规则的传统的人工智能理论,而是讲的更前沿的计算智能生物遗传算法,人工神经网络!这本书,不单纯讲理论,还用c+语言结合理论实现各种游戏程序!有时抽象的理论都是基于数学基础之上,如果没有一定数学基础是很难看懂的,但正因为它有数学证明是正确的,所以它是可行的!能把它用语言实现更是可观!)所以,如果你热爱计算机,在大学以前,就应该成为一个程序高手,而大学以后,主要专研各种技术的实现,和各种技术的学习,如果你把他留在工作里,可能很难,我的同学在参加工作后,很少有继续看技术书籍,因为技术书籍很难,不是一下两下就看懂的,有几个还有这样的耐力和精力去搞!这些怎么在编程上实现,都在等着老外,咱们COPY,这样我们的软件技术能强大吗?可是在大学以前成为一个编程高手几乎不可能,我们没有良好的学习编程的环境,而且面对着中考,高考的各种压力,几乎没有机会去学习编程!其实,小学,初中,高学,那些课程没有必要象我们这样反复的复习,反复的作题,浪费了大量时间,我们要学会什么?学会一种技能,能够应付各种变化的技能,就是自学,学会思考,学会自己解决问题,学会团结合作!初等教育,打的口号很好,实际上,完全压制了这种学习方式!所以我们应该以最快的速度,在大学里容入一个热爱计算机的氛围!说到这又很难,当代大学生迷茫呀!不知道作什么,有些知道自己该好好编程,但光说不做!有些人,写了几段代码,出现了问题,不会调试,就放弃了!大家都这样,所以以寝室为单位没有人编程,逐渐以整个计算机学院为单位逐渐编程!确实我们的计算机老师,会编程的很少,我们应该知道,中国计算机引进并发展才短短20年,正是这样老一辈的,把这些计算机理论上确立,他们不会编程理所当然,大学的老师主要研究理论,国外的也是,因为理论太难了!所以大学里学习编程要完全考自己,你要有信心,有意志把它学好才可以,而且这个过程是循序渐进的!以最快方式,找到你编程的爱好和兴趣!我介绍几个方法,学习方式,希望你能找到兴趣,起码我是这样做的,记住如果跌倒了,你要站起来。1。一定要和喜欢编程的,或编程厉害的,或经常编程的人,在一起,经常探讨问题!初学编程会有很多问题出现,你自己很难解决2。我建议VB和c一起学习,这个只是我的建议!我为什么这样说呢?如果你开始只学c,你会厌烦整天在DOS下,没有图象的程序!如果你直接学WINDOW编程会很难,所以我建议学VB,VB这是个语法简单,很快可以见到你编写程序的画面,这样你就会逐渐喜欢编程,没有画面很枯燥的,你不这样认为吗?反正我是这样认为的,你编写的好坏,没有画面也很难用眼睛直接看出来!VB是最简单的语言了!不存在c的复杂语法结构,程序出错概率相对c来说很少,因为VB封状的很好,帮你解决了复杂的过程!其实象JAVA,MFC,c#完全可以作到VB效果,但上手相对困难!c是我们一定要学的,它是一种很接近底层的语言!如果你要成为高手,应该学这个!C是个纯面向过程的语言,它的语法不是很难,你用它大约一年半多左右,就完全可以掌握它,记住这需要你的实践,多做程序,主要是算法程序,最好把你教科书的后的的习题都做了。大家几乎学的都是潭浩强的书,这本书我开始认为很好,但我看了很多国外的书,和很多国外人所打的代码后,和国内高级程序员所说的话,我只能说这本书,只能是你的开端,但不能让你更深层次了解语言。但你要问我初学者用什么书,我还会介绍这本书。C的精髓在于指针,你能灵活运用指针就几乎等于你掌握了C语言,这是一种高效的语法支持,快的让你无法想象,我很有感触,在VB下要慢的多。那么我们学VB究竟做什么,很简单,做WINDOWS程序,控件的使用,数据库的使用等等,还有一个很重要的是,你可以练习你学的数据结构,各种计算机算法,很快就可以用图形的方式显现出来!你现在知道这些就可以,等你以后学了真正WINDOWS编程,你会对你以前所实现的东西有很深的理解,究竟什么是API,什么是动态连接库,什么是控件,象VB,MFC这样的东西,究竟封状了什么让我们用起来这么简单!3如果你能作到,以上两点,(加上你学的专业,如果你很努力,课大约1年)我想你会对计算机感兴趣的!你逐渐容入爱学计算机的氛围!接下来有两个方向你要去做,一个是努力学好其他计算机专业课,二是在巩固c语言的基础上,你可以选择学习c+或者WINDWOS编程!这两个先学哪个都无所谓。记住你大学时学的10大专业课,数学,离散数学,数据结构,编译原理,汇编,数据库,计算机体系结构,操作系统,计算机网络,软件工程,你要尽力把它们学好,这个是整个计算机系统的精髓,这些都是相互贯穿的,相互联系的,你可能学某科没学懂,但学了别的后,可能会懂的!切记,在你学好编程的同时,一定要学好这些理论,以后你会受益匪浅的。4。在你觉的c或者VB学的没什么问题,或者你学会WINDOWS编程,记住一定要自己有个想法,做个小的可视化程序,小游戏也好,小应用软件也好,都可以,这个步骤,你一定要做,你会学到很多东西!在这期间,你还会遇到很多问题,你要自己多想,多问别人,多去网上查资料!但你做的程序,最好不要COPY别人的,如果都是你自己做的,自己想的,你收获最大,哪怕你是模仿别人的程序,你用你自己的想法实现了,也是厉害的!其次,你可以COPY部分代码,作为自己的。在你对你的想法,知道怎么实现后,写代码只是浪费时间的时候,而且你写的效率没有现成的代码效率高,你就可以完全COPY,但如果你是初学者,你千万不要这么做!否则你会对它产生依赖,有一天真正让你自己去写,你会无从下手!所以开始时,你可以试着COPY,逐渐摆脱对它们的依赖,以后摆脱了,这个时候,你才可以总依赖它们。5。大学期间,有很多程序的实验课,你要认真做,做出来收获是自己的,也可以作为自己的一个小项目!大学期间加上实验课,基本上自主编程或者团队自主编写的总小软件数目应该不少于7,8个,如果你做的程序很大,可以少些!以上,我把如果学习计算机入门和提起你兴趣的方法告诉你了!我相信你按照我的去做,应该没有问题的!对于每个细节,我会在接下来详细为你们写出的!二。理论对你很重要,尤其是你一名搞技术的程序工程师!大学里所有课程几乎都是针对理论的!大学里是你学习理论的最好机会,因为我们不明白可以问老师,老师会帮助我们解决的!当然有些老师很垃圾,那就要你自己解决了!我上面提到的10大专业课程,是你以后学习其他理论的基础。你不可能一辈子有老师帮助,以后学习其他理论就要靠自己,所以,在你学习10大专业课程的同时,要学会自己和思考问题!如果你上大学就为了以后做网页,那你没有必要学这写东西,同时,你永远成不了高手!数学:数学我们从小就学,它实在太重要,几乎所有的科学都建立在它的基础之上。让我们每个人都成为数学大师是不可能的,我们没有时间也没有精力去搞这么抽象的东西,我们要做的就是,以后遇到和数学相关的东西,能看懂就可以了!虽然我很长时间没有看大学课本,但我还很清楚的知道学了什么?极限,导数,微分,积分,空间向量几何,多重微分,多重积分!傅立叶变换,等等把!其实这些很大程度随着物理学的发展而发展的,现在的仿真技术这么厉害,都建立在物理学上!我希望大家,在能理解这些真正含义,不要单单会做题!题海战术既浪费时间,也浪费精力!极限:说白了,就是自变量要趋进某个值时的值,我们可以说0.999999,当9趋进无限时,它的极限为1,否则说0.999999就是1,是不对的,如果没有条件9趋进于无限,也是不对的!极限是有条件的!所以说无论学什么,你一定要把概念搞清楚,你要学的东西,都是建立在概念上的,如果这些概念你都没有弄懂,以后你是没有办法学的!这里我毕竟不是讲数学的,我所要说的就是,你学的东西要扎实,地基要牢,对概念要理解透彻,死记硬背是不行的!如果你不了解它的现实和本身的意义是什么,你根本不知道你在学什么!离散数学:这个实际是最难的理论课程,估计能把它讲好的老师也寥寥无几!集合,命题逻辑,谓词逻辑,数论,图,群,环,域!前几部分很简单,图论往后简直难的要命!我在这里不做多说,因为我没有学明白,太难了,群,环,域,我连它们的现实基础都找不到!它们之所以难,是我们很难容入到那种神秘的思考方式,容入思考方式太难了,只有靠我们的感悟,因为这些真正很强的人真的寥寥无几,能指导我们的更是很少,我本人始终无法理解群的真正含义,我也没有去查什么相关资料,但我知道,再抽象的数学理论,都不是凭空想象的,它一定有它的现实基础,它的出现是有来历的。数据结构:数据结构是十分重要的学科,它完全是建立在实践的基础上,也就是说,你要多打代码。它在一定程度是依赖语言的。我很清楚的知道,第一遍学习数据结构,也就是几乎很少有实践的,大脑几乎一片空白,也是只有在考试前,反复的复习才知道在讲什么,只能手工的模拟执行过程,把算法转化成程序始终是个迷。但我认为这已经足够了,因为任何理论只有在理解它,你才能凌驾于它,所以接下来一个质的飞跃就靠自己,靠自己把那些算法变成代码,在自己有想法时,能够把这个想法用适当的数据结构实现,这需要在电脑旁的硬功夫,绝对是。一个高级的程序员,绝对是个硬功夫。这种把自己的想法变成代码,也是你独立思考的开始,记住思考很重要,他是你在捕捉你的灵感,善于思考的人,灵感来的很快,而且你的灵感会告诉你,对于它,你能把它做出来,这一切都是思考的结果,我不是个思想家,但我知道,我每天对世界万物的沉思,在指引着我发现那些太多的为什么的答案,这个世界为什么这个样子,它后面究竟隐藏着什么,让我们大胆的假设吧!多做程序的人,程序会改变你的思维,这绝对错不了。编译原理:其实编译原理和汇编,操作系统,语言都是紧密相关的,编译器是在操作系统之上,语言之下。在讲编译器时,除了讲编译源程序成目标程序外,还介绍了很多地方都用到的自动机理论,这个也很重要。在人工智能,很多分析语法,文字类的东西都很重要。编译原理和语言是相辅相成的,只学语言不学编译,无法真正的了解语言,而编译器是在语言基础上的,没有语言的了解更学不了编译,现在大多数高校的编译原理讲的语言都是基于面向过程的,但我认为足够了,你真正的理解了编译所讲的东西,自己在深入学习面向对象的语言,你一定会很好的把握面向对象的编译过程,很好的掌握面向对象语言,在语义分析过后的中间代码生成和动态存储空间分配,和汇编有很大的联系,我在学习汇编时,总是先把要求的题目写成C语言,在转化成汇编语言,这就是不知不觉的一种中间代码生成,虽然不完全一样,但让你掌握中间代码生成已经足够了。动态存储空间分配,主要基于指针所指向的动态空间。因为非指针的变量在编译时就已经有内存分配了,这也是编译要做的事。汇编:大多数学的都是8086,编译器我推荐用TD,很好的开发环境。作程序调试是最主要的,没有作过程序的人是想不到调试是多么难,好的开发环境有助于有效的开发程序。个人认为,学习汇编要和计算机组成联系起来,主要是指令系统,讲CPU时的知识。汇编是最低级的,最快的语言了,有时为了运行速度不得不用汇编来实现想要的功能,我认为对汇编的掌握程度,只要你能做出个递归函数就可以了,你了解了很多指令用法,寄存器的使用,计算机存储数据和代码的方式,函数调用的方式,栈是怎么实现函数的,你会有很深刻的发展,相信我没错的,一定要上机实现一个递归函数,再加上你对C语言的了解,和一些编程知识,你就可以摆平几乎所有的汇编程序了。数据库我在大学里没有接触过太大的项目,而且平常编程对数据库深入不多,只是达到了做网上书店所要求的基本知识,首先是ER图,各种范式,还有数据流图,怎么用语言插入数据,删除,查找等等,实际上,你要不是搞理论的,深到数据的具体存储效率的级别,我想这些对于编程就足够了,但对于高级的数据库程序员这些是不够的。计算机组成对于学习汇编和C语言这个其实很重要,因为这些语言还没有屏蔽这些硬件细节,VB就几乎完全屏蔽了硬件细节,你不需要了解太多的硬件知识。但学习汇编和C语言并不是要你了解到能作出CPU和连接存储器,我们只要知道他们的运行机理,但有一点你不要怀疑,那就是电信号他就是那样有趣,有趣到你无法想象它的速度和高低电平的传递,但是事实就是这样,你不需要怀疑,承认它就好了,因为我们还不能解释规律,只能运用它一样。原理对软件程序员就应该足够了,它会使你更加容易了解操作系统和硬件的工作。操作系统大家每个人对操作系统都不陌生,所有的计算机的课程几乎都是息息相关的,他们都有太多的联系,有些你可能迷茫,当所有的学完以后,你应该有个豁然开朗的感觉,那就是计算机的一切不应该是个迷。操作系统和硬件的接口,就是那些硬件提供的指令,通过这些指令来操作硬件,就象操作系统定义一样,他是管理系统资源的,管理硬件的使用,你在学习操作系统时,把它看成一个管理者就可以了,它是一个有着自己管理方法的管理者,管理这些硬件给每个进程使用,进程说白了就是一个应用程序在内存中或在外存中,有着运行权利的程序。现在的操作系统是多任务的,可以运行多个程序,并发是指单个CPU而言,每个进程在CPU中轮流执行,因为它太快了,你根本感觉不到他们的交替性,就象在同时运行,大多数教材讲并发比较多,我们大多数计算机都是单CPU的,具体怎么交替运行,那就是操作系统管理进程使用硬件的方法,不同的操作系统方法不同,但你的方法不要让其中的一个进程总是得不到想要的硬件使用(活锁或饥饿),但想出个好办法还不发生死锁(这里不说什么是死锁了,我毕竟不是再讲操作系统)也很难,总之,你要学的就是这些方法,这里说的是管理CPU,还有管理内存,外设等等。我在给出进程定义时,还说了外存,其实通常就指硬盘,因为你的内存太小,运行的程序又多,我要为了让其他的程序运行,只能先把它放在外存,也叫挂起。总之,你学的就是管理硬件的方法,怎么管理才能有效率,方便用户使用。如果可以,你也可以设计一套管理方法,那你就作出了一个新的操作系统。计算机网络所有和硬件有关的最后一个,说实话计算机网络很杂,你学第一遍后,把网络7层所有管理方法说出个查不多,很难,大多数学生都是晕头转向,网络是个很庞大的系统,它从硬件到软件,被规定了很正规的完整体系,这样大家都遵照这个规则才能,使每个人开发出的软件和硬件都可以用。记住计算机的交互就象人与人的交互,它通过0和1来代替人的语言,表情或所有可以可以传达信息的东西,也可以说是计算机通信的暗号,只有双方都知道了这个暗号的含义,双方才能通信,你和另一个人怎么通信,那么计算机和另一个计算机就怎么通信。例如:我想给你一个礼物(计算机看成我要给你发送数据,A发给B),我要先通知你,看你能不能收(这符合人的交往)(A发给B一个0和1组成的编码,事先两台计算机已经规定好了,比如说10010011代表看对方是否能接受),如果这个请求不丢失的话(丢失有很多处理方法,你自己也可以想一个处理方法,比如隔一端时间你没有收到对方是否同意接受,你就重发信息,总之,只要你肯想象,任何都是可能的),(1)对方发送一个可以接受的消息(比如说10010012),你收到了,你就可以发送,发送途中又有很多情况,比如说,你怎么发送,作车,还是徒步,如果交通堵了怎么办,是把礼物一起送过去,还是分开送过去,等等,具体到网络里是快速发送,分开发送,我们学的就是这些方法。(2)对方发送个不能接受的信息,你是还要立即发送,还是不发,还是等一会在发,这些方法很活,你要学的就是这些方法,如果你可以处理网络中出现的任何问题,你不学它也可以。我要告诉你的是,你要学的就是就是通信协议(就是实现规定好的暗号),通信方法,出现问题怎么处理等,你有好的方法,你可以不学了,很简单,方法就是人发现的,你比它的好,学它的干什么,就用你的。软件工程软件工程是从实践中总结的经验,对于很少做过项目的大学生来说,确实很难理解,只要你作过一些项目,比如网上书店之类的系统,你就会有些了解,它说的很对,我很清楚的记得软件工程分这几个过程:(1)可行性研究,也就是你要做的这个系统可行不,是否值得去做,做了能得多大效益。(2)总体分析,这个就是从整体来规划你要作的系统,只是个概况,并没有详细的阶段,把系统大体分成几个模块。(3)详细分析,这个阶段就是来详细每个模块,把所有的细节都要写好。(4)程序编码(5)测试(6)售后服务。每个过程有分很多规范,因为一个项目很多人做,很多公司做,没有个很好的规范会乱套的,所以最后很容易合在一起。方法(二)首先我要强调一下,如果能数控编程各种语言,那么你在社会人才竞争中就非常有优势。目前在国内制造业对数控加工高速增长的需求形势下,数控编程技术人才出现了严重短缺,数控编程技术已成为就业市场上的需求热点。一、学好数控编程技术需要具备以下几个基本条件:(1)具有基本的学习资质,即学员具备一定的学习能力和预备知识。(2)有条件接受良好的培训,包括选择好的培训机构和培训教材。(3)在实践中积累经验。二、学习数控编程技术,要求学员首先掌握一定的预备知识和技能,包括:(1)基本的几何知识(高中以上即可)和机械制图基础。(2)基础英语(高中以上即可)。(3)机械加工常识。(4)基本的三维造型技能。三、选择培训教材应考虑的因素包括:(1)教材的内容应适合于实际编程应用的要求,以目前广泛采用的基于CAD/CAM软件的交互式图形编程技术为主要内容。在讲授软件操作、编程方法等实用技术的同时也应包含一定的基础知识,使读者知其然更知其所以然。(2)教材的结构。数控编程技术的学习是一个分阶段不断提高的过程,因此教材的内容应按不同的学习阶段进行合理的分配。同时,从应用角度对内容进行系统的归纳和分类,便于读者从整体上理解和记忆。四、数控编程的学习内容和学习过程基本可以归纳为3个阶段:第1阶段:基础知识的学习,包括数控加工原理、数控程序、数控加工工艺等方面的基础知识。第2阶段:数控编程技术的学习,在初步了解手工编程的基础上,重点学习基于CAD/CAM软件的交互式图形编程技术。第3阶段:数控编程与加工练习,包括一定数量的实际产品的数控编程练习和实际加工练习。五、学习方法与技巧同其他知识和技能的学习一样,掌握正确的学习方法对提高数控编程技术的学习效率和质量起着十分重要的作用。下面是几点建议:(1)集中精力打歼灭战,在一个较短的时间内集中完成一个学习目标,并及时加以应用,避免进行马拉松式的学习。(2)对软件功能进行合理的分类,这样不仅可提高记忆效率,而且有助于从整体上把握软件功能的应用。(3)从一开始就注重培养规范的操作习惯,培养严谨、细致的工作作风,这一点往往比单纯学习技术更为重要。(4)将平时所遇到的问题、失误和学习要点记录下来,这种积累的过程就是水平不断提高的过程。六、如何学习CAM交互式图形编程技术的学习(也就是我们常说的CAM编程的要点)可分三个方面:1、是学习CAD/CAM软件应重点把握核心功能的学习,因为CAD/CAM软件的应用也符合所谓的“20/80原则”,即80%的应用仅需要使用其20%的功能。2、是培养标准化、规范化的工作习惯。对于常用的加工工艺过程应进行标准化的参数设置,并形成标准的参数模板,在各种产品的数控编程中尽可能直接使用这些标准的参数模板,以减少操作复杂度,提高可靠性。3、是重视加工工艺的经验积累,熟悉所使用的数控机床、刀具、加工材料的特性,以便使工艺参数设置更为合理。需要特别指出的是,实践经验是数控编程技术的重要组成部分,只能通过实际加工获得,这是任何一本数控加工培训教材都不可能替代的。虽然本书充分强调与实践相结合,但应该说在不同的加工环境下所产生的工艺因素变化是很难用书面形式来表述完整的。最后,如同学习其他技术一样,要做到“在战略上藐视敌人,在战术上重视敌人”,既要对完成学习目标树立坚定的信心,同时又脚踏实地地对待每一个学习环节。所以,只要你对数控编程感兴趣,本人严重支持你去学它,前途无量啊。方法(三)如何学好编程一、为何要学编程?每个人的动机不一样。大致有:1、为了找个好工作;或为了有更好的机会和更好的发展。2、看到别人超厉害,所以也想学。3、实际工作中很多场合需要。4、从小就立志做个程序员,做软件工程师。5、振兴中国的软件事业。=二、如何学编程?1、多看好书。差书误人子弟,不但浪费时间和精力,而且打击人的信心,差书使人很久都不会,让会让人怀疑自已的学习能力。现在的书很多,但好书很少,特别是被大家公认很有价值的好书,更是少之又少。历经多年时间考验和市场风雨不残酷洗礼而仅存的巨著,更是极其稀少。中国历史上文学小说类书本多如牛毛,但仅存的巨著,也只不过等四本名著而已。编程方面也是如此。2、多动手。这一点很重要。而且特别重要。“纸上得来终觉浅,绝知此事要躬行。”陆游的千古名句说的就是这个道理,并且同样适合于编程方面。=三、用什么语言最好?这主要取决于应用领域,每种语言都有自已的长处和不足。1、汇编语言和C语言在单片机及工控领域用较多。另外C语言也是一种通用语言,是学C+/c#的起点。2、C+系统编程等多个方面,最常用的编译器是VC。3、C#/Java网络编程方面新兴的。4、VB通用。5、还有Delphi等。个人建议:从未编过程的,就从学vb开始。有基础的可直接学c+/VC。=四、有什么好书?几年前,台湾著名技术作家侯捷先生曾经写过一篇影响很大的书评文章,叫做MFC四大天王。文章的意思是说在MFC的浩瀚书海中,只要认真研读和学习其中四本,就可以“五岳归来不看山”。侯先生虽以MFC为例,但是这个道理却同样适合于MFC之外的很多具体技术领域,这不能不说是一个有趣的统计现象。通常在某一个具体细分的技术领域,会自然而然地出现35本顶级著作,它们彼此互相配合,形成一个完整的体系。对于学习者来说,只需要认真研读这几本书,就足以升堂入室。我乐于将这种现称为“四书五经现象”。对于读者来说,如果能够找到该领域中的“四书五经”,则无论在时间上还是金钱上都是最经济的选择。好书几本,胜过烂书几捆,这个体会想必大家都有。在此,帮助大家遴选各个技术领域里的“四书五经”。编程的书可谓汗牛充栋,其中经典也是不泛其数,但绝大多数的过来人,都一致认为,要想很快的入门并尽快的投入到编程实践中,只要其中的四到五本也就够了,即只看经典中的经典,圣经级的书就可以了。所谓活到老学到老,程序员是个终身学习的职业,要不断的看书,直到放弃编程的那一天。所以,您要读的好书也绝非以下推荐的这些书哟,呵呵。一句话,由于我们的时间、精力、金钱都是有限的,如何以最小的代价换得最大的收获。/equoteequote经典好书分类热销榜=1、JavaJava编程语言(第三版)-Java四大名著-JamesGosling(Java之父)Java编程思想(第2版)-Java四大名著-BruceEckelJava编程思想(第3版)-Java四大名著-BruceEckelJAVA2核心技术卷I:基础知识(原书第7版)-Java四大名著-CayHorstmannJAVA2核心技术卷II:高级特性(原书第7版)-Java四大名著-CayHorstmannEffectiveJava中文版-Java四大名著-JoshuaBloch精通Struts:基于MVC的JavaWeb设计与开发-孙卫琴精通Hibernate:Java对象持久化技术详解-孙卫琴Tomcat与JavaWeb开发技术详解-孙卫琴Java与模式-阎宏2、c#C#程序设计-CharlesPetzold“windows编程泰山北斗”-C#语言“倚天屠龙双剑”C#Primer中文版-StanleyB.Lippman-C#语言“倚天屠龙双剑”.NET框架程序设计(修订版)-JeffreyRichter“windows编程泰山北斗”-.NET平台四大天王c#Windows程序设计-CharlesPetzold“windows编程泰山北斗”-.NET平台四大天王.NET程序设计技术内幕-JeffProsise-.NET平台四大天王.NET本质论-第1卷:公共语言运行库(中文版)-ChrisSells-.NET平台四大天王3、C+C+程序设计语言(特别版)-c+八大金刚-BjarneStroustrup“C+之父”C+Primer(第3版)中文版-c+八大金刚-StanleyB.LippmanC+Primer(第4版)中文版-c+八大金刚-StanleyB.LippmanC+标准程序库自修教程与参考手册-c+八大金刚-NicolaiM.JosuttisC+语言的设计和演化-c+八大金刚-BjarneStroustrup“C+之父”深度探索C+对象模型-c+八大金刚-StanleyB.LippmanEssentialC+中文版-c+八大金刚-StanleyB.LippmanEffectiveC+中文版2ndEdition-c+八大金刚-ScottMeyersMoreEffectiveC+中文版-c+八大金刚-ScottMeyersC+编程思想(第2版)第1卷:标准C+导引-BruceEckelC+编程思想(第2版)第2卷:实用编程技术-BruceEckelC+程序设计-谭浩强C+程序设计教程(第2版)-钱能C+PrimerPlus(第五版)中文版-StephenPrata广博如四库全书Thec+programminglanguage、c+Primer深奥如山重水复Insidethec+objectmodel程序库大全Thec+standardlibray工程经验之积累Effectivec+、MoreEffectivec+、Exceptionalc+c+八大金刚:1、Essentitalc+-lippman-C+之父,旁枝暂略,主攻核心,轻薄短小,初学者2、Thec+programminglanguage-C+之父,技术权威,用词深峻,思想深远,c+百科全书代表,圣经。3、c+Primer-lippman-纵横书市十数年,c+最佳教本,c+百科全书代表。4、Insidethec+objectmodel-lippman-揭示c+底层,非常好,非常难。5、Effectivec+-通过50个编程实例,展示专家经验,行文有趣,深处浅出。作者:热布克2006-7-1116:18回复此发言-3C+原创,超经典:为何要学编程?如何学编程?用什么语言最好?有6、MoreEffectivec+通过35个编程实例,展示专家经验,行文有趣,深处浅出。7、Thec+standardlibrayc+标准库的百科全书。8、设计模式:可复用面向对象软件的基础good!4、cC程序设计语言(第2版新版)-C语言“倚天屠龙双剑”-BrianW.Kernighan“C语言之父”CPrimerPlus中文版(第五版)-C语言“倚天屠龙双剑”-StephenPrataC程序设计(第三版)-谭浩强C语言大全(第四版)-HERBERTSCHILDTC语言接口与实现:创建可重用软件的技术-DAVIDR.HANSONC语言参考手册(原书第5版)-SamuelP.HarbisonC程序设计教程-H.M.Deitel/P.J.DeitelC陷阱与缺陷-AndrewKoenig5、VBVisualBasic.NET技术内幕-VB编程三剑客-FrancescoBalena“vb首席大师”Windows程序设计-VisualBasic.NET语言描述-VB编程三剑客-CharlesPetzold“windows编程泰山北斗”-.NET框架程序设计:VisualBasic.NET语言描述-VB编程三剑客-JeffreyRichter“windows编程泰山北斗”-,FrancescoBalena“vb首席大师”VisualBasic6编程技术大全-FrancescoBalena“vb首席大师”VisualBasic.NET从入门到精通-Petroutsos,E.高级VISUALBASIC编程-MATTHEWCURLAND6、DelphiInsideVCL(深入核心VCL架构剖析)-李维Delphi7高效数据库程序设计-李维面向对象开发实践之路(Delphi版)-李维7、VCWindows程序设计(第5版)-CharlesPetzold“windows编程泰山北斗”-Windows核心编程-JeffreyRichter“windows编程泰山北斗”-Windows高级编程指南-JeffreyRichter“windows编程泰山北斗”-深入浅出MFC(第二版)-“MFC四大天王”-侯捷MFCWindows程序设计(第2版)-MFC四大天王”-JeffProsiseVisualC+技术内幕(第4版)-MFC四大天王”-DavidKruglinski深入解析MFC-MFC四大天王”-GeorgeShepherdVisualC+.NET技术内幕(第6版)-MFC四大天王”-DavidKruglinski8、vfVisualFoxpro程序设计参考手册-张洪举专家门诊VisualFoxPro开发答疑160问-张洪举VisualFoxPro6.0/9.0解决方案与范例大全-张洪举VisualFoxPro软件开发模式与应用案例-张洪举9、黑客应用密码学(协议算法与C源程序-BruceSchneier网络信息安全的真相-BruceSchneier黑客大曝光:网络安全机密与解决方案(第5版)-STUARTMCCLURE软件加密技术内幕-看雪学院加密与解密软件保护技术与完全解决方案-看雪学院加密与解密(第二版)-段钢10、汇编Intel微处理器结构、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中秋晚会结束致辞范文(11篇)
- 云南省防汛抗旱减灾工作讲话稿(7篇)
- 中学的军训心得体会
- 买衣服课件教学课件
- 影像科图像质量评价
- 安全实践课件教学课件
- 建筑和土木工程 词汇 第3部分:可持续性术语 编制说明
- 爱立信系列基站设备知识培训
- 人像插画课件教学课件
- 电力拖动课件教学课件
- 建设银行股份关联交易申报及信息披露系统操作手册新一代
- 中职数学认识多面体与旋转体(课堂PPT)
- 上海版英语六年级全册知识点整理
- 数字化设计与制造PPT课件
- YY∕T 0314-2021 一次性使用人体静脉血样采集容器
- 第五章 种内与种间关系
- 后进生家长会课件
- BEC口语Part-2-题集(整理自BEC口语书)
- 普铁避雷器检修作业指导书
- 下水管道施工合同通用版
- 铁合金生产工艺
评论
0/150
提交评论