《2022年如何学习编程 .pdf》由会员分享,可在线阅读,更多相关《2022年如何学习编程 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如何学习编程2010-1-14 来源:中国 IT 试验室大家第一次接触编程的时候我想很多人都会在那些Q 群啊之类的地方不断的问,怎么学习编程,要看些那些书甚至在百度,谷歌里搜索如何学习编程这篇文章,我会从我自己学习编程的角度去描述,如何学习,可能不是最好的学习方法,但是我想对于一些朋友总会有帮助的,因为方法是源自你个人我在这里说一下我的格言:别去想别人怎么做,首先应该想自己怎么做别去想别人怎么帮助你首先想自己帮助自己想想我自己学习编程也有好多年啦初三开始小打小闹的用C 语言写个无聊的printf()到用 HTML 写几个个人网站虽然没啥技术含量不过都是自己的劳动,那时候真的很激动,现在回想起来
2、,其实那时候很幼稚不过也造就了我的兴趣吧!好了闲话就少说了,我们入正题在学习之前,请允许自己先问下自己:我为什么要做这样的事对于编程,我会先问一下,你为什么要学习编程?你会怎么回答?A:兴趣;B:读书需要;C:传闻是高薪职业;D:容易就业;E:被逼的;F:无聊学学;这个你会怎么选择;什么样的目的,得到什么样的结果如果你选择(A)我会开心,兴趣就是动力,就算没有人教,你也会鼓足勇气去学习,就我个人来说,我是那种屁股坐不稳的人,你叫我坐在那里什么都不做半个小时,我会全身都不舒服的但是一说到计算机,编程我可以一坐就是7,8个小时自己还没感觉兴趣第一,很好,你以这个为目的我相信你一定能学好相信你也有自
3、己的一套学习方式名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -如果你选择的是B:那么你也有一定的成功几率,首先你要是一个会读书的人,可以说读书就是你的兴趣,那么你也可以学好当然如果只是随潮流大家都读所以我也要读,那么你只能学不好了如果你选择的是C:那么你还是早点放弃吧,那些拥有高薪的都是十分牛的人,其实的广大程序员还是挣扎在生活的水平线上混饭吃而已,所以如果你抱着高薪去学习编程,你一定肯痛苦这类也是最能有成就的一类,编程是技术需要的是一份执着,但是你的执着只是金钱技术现在并不等于金钱如果你选择的是D:我还是劝你早点放弃,现在的就业也不乐观啊,失业大军里计算机就占了很大
4、的一部分比重,你随时都可能是其中的一分子如果你选择的是E:很好,你也有可能学好,前提是逼你的人能一直强逼你下去,让你进步,一句非常经典的话:“人都是被逼出来的”你出生的时候的确是被逼出来的,被你妈妈逼出来,呵呵!如果你选择的是F:也不错,起码你无聊的时候想到的居然是编程,证明编程还能给你带来乐趣既然你已经知道为什么学习编程,那么我们要做的就是怎么去学习了现在的编程语言很多,上百个语言,但是无论什么语言,都会有共同性的所以你要学习编程那么就要先学习编程的思想,这个编程的思想你也只能看一下而已了解一下计算机如何去读这些编程语言这个很重要不了解过个你学习任何编程语言都很难做到灵活运用你明白了计算机是
5、如何读编程语言是的这个时候你就可以开始选择你学习的语言了至少这些编程语言都是我能看懂的,可以说是自己学过的也会解析一下学习这些语言的一些特点A:c#.NET B:C:C/D:PHP E:Script F:lua 我只列出了五种,其实还有更多的语言,有兴趣可以自己去找下这些语言的特色其实我了出的这些都有一个特色都是跟 C 语言有一定的相似的名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -A:这个语言是微软推出的,目前大部分应用都是应用在WIN 平台上,虽然 LINUX也能用,但支持还不是太好编程风格上我觉得是最优美至少看起来很舒适,强大的智能感知编程的学习难度分级是:初学
6、偏易,一般编程中等,高级编程难梯度不算陡峭虽然是面向对象,但是现在大部分的人都很用到面向对象至少我在国内反编译很多的应用系统的时候很多都没有用到编程思想的,虽多就是把类用来实现脚本编程闭包功能而已真正使用到面向对象的继承多态的并不多当然也有很多是使用了面向对象思想的,所以我觉得初学的时候完全可以放弃对象的继承,多态这类比较复杂的东西专心学习他的语法糖,还有封装好的 API,其实这个语言已经有个很完善的API 基本上的应用都可以直接使用API 来实现,而且从算法构造上也不算复杂再加上 IDE 的智能感知,新手只需要了解各个命名空间的作用就可以了,智能感知会帮助我们完成API 的调用(至少你要知道
7、那些方法在那个空间,怎么用)所以初学我把它定义在上手“易”现在的学习其实并非一定要从记事本开始学会使用 IDE 学习其实也是一项技能编程很重要的一点就是你动了多少手,你就收获了多少,无论你看了多少别人的代码,如果你不自己动手去写一下,你永远没办法感受到内涵,之前我有部分同学,他们跟我说,现在网上大把代码,那里需要自己敲得那么辛苦干嘛上网 COPY 一下就什么都有了,傻瓜才自己手写好吧我承认我傻瓜但是自少我现在的水平我敢说,你只需要给我2样东西我一样能写出你上网找的那些代码一样是 VS,另一样是帮助文档说起这个事又令我想起最近公司招聘的一些趣事最近公司面试了接近80个人吧,因为我们公司的上机考试
8、是不允许上网的呵呵!你们可以想象一下,不能上网后只有 30个能勉强敲的出代码的能做出题目的更是少得可怜突然我就想,这些人到底有没基础的,一个简单的登录功能和上传文件功能不能上网就不会写,我真是狂汗 一些号称三年五年工作经验的,居然还写不出一个简单的交叉表查询(其实就 10 句代码)所以啊过分依靠网络怎么可能有自己的技术积累呢,这些人在我眼里三年五年也成不了构架师 可能十年也去不到构架师的水平B:JAVA 跟 C#类似,传闻微软推出C#也是为了对抗JAVA 而搞出来的这两种语言有很多相似的地方什么是命名的方式上都有很多相似的地方,JAVA 也是从 C 语言里发展起来的不过我觉得在学习曲线上,初学
9、要比 C#难,中国人普遍英语不太好而且在 IDE上微软的 VS 要比 JAVA 的各类编辑器要优胜,主要是在智能感知上,还有一些辅助上可名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -能很多 JAVA 的铁杆 FANS 会给我丢西瓜,丢鸡蛋了但我敢说,我说的是事实,JAVA 位置一个环境都很辛苦,至少我学习的时候是这样免费啊,JAVA 很多东西都是免费的,微软要收费的,收费肯定好了 我会偷偷的笑 你丫就不用盗版?有了光荣的盗版收费问题根本就不是问题,再说从学习的角度 盗版这些东西根本就无关痛痒的 反而更容易召集人气 C:C 语言可以说是非常牛逼的语言,长期位居第一但是需
10、要投入的精力也不少啊,智能感知一直进步不大,可能是因为万恶的宏定义呵呵(这个万恶可不是我说的)当然学习 C 语言如果你不懂使用宏定义那么你肯定没学过C 语言,C 语言的宏定义虽然一直在 C 语言的书本上很少描述但是实际应用却是不可缺少的,我看过 IDSOFT 的 DOOM 的源代码里简直就是神一般但是看起来也真是辛苦题外话,其实上面很多语言都是根据C 语言衍生出来的,什么很多特性都是参照了C 语言用很玄幻的说话C 语言是远古时代遗留的强大魔法既然是远古学习曲线自然就陡峭得可以,我个人感觉我的C 语言水平其实都只是菜鸟而已一样是菜鸟C+和 C 其实我觉得是 2个语言根本不能混为一谈的,但是很多招
11、聘之的都把C/C+归为一类,所以我也把它归为一类,很多人想问学C+是不是要先学 C.而且 C+的分支多得吓人内涵也丰富得吓人 C 语言个人技术化,我个人觉得C/C+起码要 4年才算出师,JAVA 是2年,C#都是 2年而且还需要一系列的计算机基础,算法基础等一些东西而 JAVA 和 C#都把这些东西封装了成标准的API 了,我们只需要使用但是 C/C+这些东西都没有一个确定的标准例如界面库,有人用QT 有人用 MFC.这些都是不一样的所以选择的路也多,学的东西自然也更多了但从编程上,并非就是 C+的就比用 C#的牛C+只是拥有深厚的历史,有自己独特的文明是因为它的文明而牛D:PHP 接触不深,
12、但是我觉得它是一个制作网页的好语言,其他领域我并不怎么看好他,我觉得PHP 在开发网页上有很大的优势,但是开发B/S 级系统应用就现得比较力不从心了所以如果你定位自己作为一个网页开发人员的话,你就应该学习这种语言如果是 B/S 级的应用的话,就应该使用C#或者 JAVA,或者其他的语言名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 8 页 -E:JavaScript,非常有名的脚本语言,如果你想从事B/S 的开发,网页开发,你就一定要学这个,是一个必须掌握的技能学习曲线相对比较平坦,而且内容也不算多,但是应用却十分灵活的语言强烈推荐初学者先学习这个语言,来寻找感觉,因为这个语言完
13、全不存在编程环境的问题,你只需要有浏览器,记事本,两样任何系统都有的软件就可以编写它所以我觉得首先学习它会对你理解编程思想有一定帮助F:LUA 这个也是一个脚本语言,成就这个语言的名声是来自一个叫“魔兽世界”的游戏,目前我了解LUA 应用的领域比较多都是作为一种嵌入语言,嵌入到 C 或者 C+中去使用,在国内很多游戏公司都会有LUA 程序员,部分会由C 语言程序员去兼任因为 LUA在语法上和C 有很相似的地方,基本对旧的C 语言程序员学习LUA 是无难度的当然也有它的局限性,作为脚本语言它本身就存在不足,而且这个语言本身就是作为C 语言的扩展来用的所以,学习这个语言的话,建议先学习C 语言或者
14、成就更高(或者而已!)我个人是选择C#作为长期发展的语言的我觉得这个语言比较适合我这种英语不算好,但是又喜欢编程的人PS:真心想学编程的必须要学习一定的英语能力,因为很多编程的先进思想都是英文的所以英语好,对成为高手起很大作用的知道为什么学习编程,又选择了目标语言,接下来就是基础学习了这个基础学习,我觉得首先要对一些语法糖熟悉,第二件事情就是要多编,多看,可能你买的书都附带着实例代码的,我觉得对于初学者,首先你把书上的程序都照着编一次,在这期间,你一定会遇到无数的错误,但是这些错误将会是重复出现的,这个时候你就学会了如何排错,有人说过编程不是一口气写出来的,是修改出来的所以学习排错是编程的第一
15、步,虽然随书光盘有很多代码,但是这些代码都不属于你的没有入你脑,唯一让这些代码属于你的办法就是多抄(打)几次当你把一本编程的基础书都看透了至少别人问你这本书的知识你能答得上口,那就是你度过了第一时期了你可以进入一搬阶段了一般的阶段,这个阶段我把它定义为是把这些语法组织成句子,组织成文章的时期我想问下,大家都上过语文课吧,我们来回想一下,我们学习语文的过程字=词=句=文章;而编程的学习则是这样的;变量=函数=类=架构所以我们在初学阶段做的都是学那些字,那些词(其实就是语法糖)然后我们就会名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 8 页 -学造句,造句的时候就会涉及到把什么词语
16、组合起来会得到优美的句子,而合理的句子,加上合理的逻辑就会变成一篇优美的文章但是一篇优美的文章并非那么简单的也就是一个程序架构的优美一样没那么简单一样,需要很多很多学识经过了 2年的培训,我终于成为了一个真正的Software Engineer,也许这从初中就已经注定了吧,我必定要走向计算机之路哎,使用电脑也七八年了,现在也算是在IT 界混出点样子了,给诸位在大学里搞IT 的同学们谦虚地提点建议也不算过分吧,呵呵上大学是为了什么,毕业了之后要干什么?显然,都是为了找工作,如果你是真的想拿计算机技术混口饭吃,请继续看下去,如果不是,你可以略过以下内容了先来看看学会了计算机能干些什么吧1.电脑销售
17、2.电脑维护3.网络工程师4.软件工程师5.网页设计师6.美工7.AS 工程师8.游戏开发5.黑客大概也就这么多吧1.电脑销售肯定会需要一些硬件知识,这些知识拿在手里才能忽悠客户买你的东东。这个职业对技术要求不是很高,某些什么都不懂的人背几天硬件手册也能当电脑销售。所以,学过专业计算机的人基本上随便抓一个就能当销售名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 8 页 -2.电脑维护,主要是维护系统和数据,Dos、Bios、防毒,常用文件(我的文档、桌面、邮件)的备份和还原,其实每个计算机用户都得维护自己的电脑,所以对于我们这些学计算机的人来说,还是有一部分这方面的基础的3.网络
18、工程师,要说计算机界最专业的两门技术的话,也就网络 和 软件了。我学的是软件,所以对网络不怎么了解,也不太知道北大青鸟网络中心具体教些什么。按我个人观点来看,学过网络技术的人应该懂得:网络数据的传递、TCP/IP 这些乱七八糟的协议、防火墙的原理、DNS、路由器、集线器等等等等。无论是那种类型的企业,都会用到电脑,电脑多了就得连成一个网络,有了网络就得维护,于是乎,网络工程师最普遍的一种职业诞生了 网管。(由于本人对网络知识及其就业方面了解有限,本话题到此为止)4.软件工程师,恩,本人就是学的这个。软件分为系统软件和 应用软件,系统软件(操作系统)已经没有人在研究了,现在Windows、Lin
19、ux、Unix 都已经很成熟,谁如果想再编一个操作系统发家的话,那简直是在找死。对于应用软件嘛,就是依托在操作系统里运行的软件,就是我们这些软件工程师编出来的程序。编程语言有好多种,主流的是java 和.net,专做小网站的还有php 和 asp,笔者是在北大青鸟学习的,课程里面 java 和.net 都有教,但目前工作用到的是微软开发的.net。无论开发的是程序,还是网站,都会存数据,数据多了就得存到数据库里,数据库就成了除编程语言之外的一项重要技术了。所以搞开发不能不学数据库,北大青鸟培训的是Sql Server,主流的数据库还有MySql、Oracle、DB2 总之,如果你的编程技术不错
20、的话,你可以在某一公司的项目组里任一程序员编程序,也可以搞数据库维护做一名 DBA,如果你技术更高可以做软件测试员、架构设计师。软件编程方面的职位很多,就怕你没有那个技术,呵呵5.网页设计师,和应用程序相比,网页的布局要麻烦复杂的多,所以才会有“网页设计师”这个东东存在。网页设计师必须熟悉div+css、js,了解颜色搭配一些知识。笔者是绝不会去做这行的,因为布局会折磨死人的,有时候你写一个1+1,它都不出个 2,还有那个js,那个东西很强大,能实现很多nb 的功能,但语言太难用了名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 8 页 -6.美工,这就都熟悉了吧,基本上都是专PS
21、的7.AS 工程师,解释一下AS 吧,AS 是 Action Script 的缩写,是Flash 里面专用的编程语言,编Flash 游戏的都是这些人8.游戏开发,我对游戏开发很陌生,不过听北大青鸟的老师讲,游戏开发不是一般的难,初学者想都别想,开发游戏要对内存摸透,所以一般都是用C 来开发的,C 语言可比 java 难学多了9.黑客,首先说一种现象吧,有些电脑爱好者,也包括计算机专业人士,会用了一些黑客软件,成功侵入了别人的电脑,或者盗取了别人的密码,就以“黑客”自居。我很看不惯这些人。仅仅是会用了一个软件而已,和“黑客”大相径庭。真正的黑客应该是精通网络传输机制的,所以黑客基本都是学过网络技术的人。黑客技术很好玩,很容易产生兴趣,偶尔可以学习一下,不过我强烈不建议选择在这方面发展下去。黑客是找不到工作的,你见过黑客帝国,你见过“黑客公司”吗,使用黑客技术造成严重后果是要受到刑法处罚的笔者已经介绍了这么多计算机职位,也说了每个需要的技术,至于你如何定位自己,自己拿捏吧名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 8 页 -
限制150内