没有合适的资源?快使用搜索试试~ 我知道了~
首页如何学好编程 (再次整理版)
资源详情
资源评论
资源推荐
诶呀整理的眼睛都疼了可是还是整理的有点乱希望能够带给你们很大的帮助哟要珍惜我
的劳动成果。谢谢咯
方法(一)
编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又
很难说清楚,如果按照我走过的所有路来说,显然是不可能的!当我看完了云风的《游戏
之旅--编程感悟》和梁肇新的《编程高手箴言》我突然知道我要从何说起,我要怎么说了!
从接触编程到现在已经至少要 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 趋进于无限,也是不对的!
极限是有条件的!所以说无论学什么,你一定要把概念搞清楚,你要学的东西,都是建立
在概念上的,如果这些概念你都没有弄懂,以后你是没有办法学的!
这里我毕竟不是讲数学的,我所要说的就是,你学的东西要扎实,地基要牢,对概念要理
解透彻,死记硬背是不行的!如果你不了解它的现实和本身的意义是什么,你根本不知道
你在学什么!
离散数学:
这个实际是最难的理论课程,估计能把它讲好的老师也寥寥无几!
集合,命题逻辑,谓词逻辑,数论,图,群,环,域!前几部分很简单,图论往后简直难
的要命!我在这里不做多说,因为我没有学明白,太难了,群,环,域,我连它们的现实
基础都找不到!它们之所以难,是我们很难容入到那种神秘的思考方式,容入思考方式太
难了,只有靠我们的感悟,因为这些真正很强的人真的寥寥无几,能指导我们的更是很少,
我本人始终无法理解群的真正含义,我也没有去查什么相关资料,但我知道,再抽象的数
学理论,都不是凭空想象的,它一定有它的现实基础,它的出现是有来历的。
数据结构:
数据结构是十分重要的学科,它完全是建立在实践的基础上,也就是说,你要多打代码。
它在一定程度是依赖语言的。我很清楚的知道,第一遍学习数据结构,也就是几乎很少有
实践的,大脑几乎一片空白,也是只有在考试前,反复的复习才知道在讲什么,只能手工
的模拟执行过程,把算法转化成程序始终是个迷。但我认为这已经足够了,因为任何理论
只有在理解它,你才能凌驾于它,所以接下来一个质的飞跃就靠自己,靠自己把那些算法
变成代码,在自己有想法时,能够把这个想法用适当的数据结构实现,这需要在电脑旁的
硬功夫,绝对是。一个高级的程序员,绝对是个硬功夫。这种把自己的想法变成代码,也
是你独立思考的开始,记住思考很重要,他是你在捕捉你的灵感,善于思考的人,灵感来
的很快,而且你的灵感会告诉你,对于它,你能把它做出来,这一切都是思考的结果,我
不是个思想家,但我知道,我每天对世界万物的沉思,在指引着我发现那些太多的为什么
的答案,这个世界为什么这个样子,它后面究竟隐藏着什么,让我们大胆的假设吧!!多
剩余22页未读,继续阅读
这就是编程
- 粉丝: 2011
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论30