计算机编程语言的入门学习_第1页
计算机编程语言的入门学习_第2页
计算机编程语言的入门学习_第3页
计算机编程语言的入门学习_第4页
计算机编程语言的入门学习_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机编程语言的入门学习作者:翔宇 来源:ithao123 ithao123 整理 2007-04-04IT人应该学习哪种语言,我觉得应该根据你的工作需要或者说你的发展方向而定。基本上两大类吧:C/C+和Java。比如,如果你要做企业级应用的你应该学习Java和C#;如果你想做嵌入式,那么应该学好C语言;其他情况下,在你不知道要做什么之前你可以选择学习C/C+。学会这两大类中的一类,对于你学习其他语言都将是比较轻松,包括脚本语言,动态语言 ,呵呵,这里想就自己的学习经历和情况给大家一 个建议,仅供参考。注:2006.4.27更新,原稿见附录二,原稿有一定的局限性, 故做修改以免误导大家,并请批

2、评指正,谢谢。写在开始之前:应该学习哪种语言,我觉得应该根据你的工作需要或者说你的发展方向而定。基本上两大类吧:C/C+和 Java。比如,如果你要做企业级应用的你应该学习Java和C#;如果你想做嵌入式,那么应该学好C语言;其他情况下,在你不知道要做什么之前你可以选择学习C/C+o学会这两大类中的一类,对于你学习其他语言都将是比较轻松,包括脚本语言,动态语言,1、我的入门是从学习 C语言开始的(其实课程是 C+),这是我们学校的公共课,我上课比较认真(虽 然老师讲得很差,而且一段时间后,我就发现自己的基础掌握比她好,当然理解深度没她好),因此,我 认为对于完全没有基础的人而言,听别人讲比较容

3、易入门。当时的教材是学校自己编的,挺烂的。建议一(以C/C+为例),对于刚想进入编程的人(就是从来都没有接触过编程的人),最好是听课的方 式(自己看的话估计要很慢,而且很痛苦),可以找视频或者培训等。C语言推荐入门教材:谭浩强的C语言,最新版是第三版,不过第二版应该也可以了(蓝色的)。说明一下:坚决不同意直接看&只的TheC programming language,这本书绝对不是初学者可以看懂的,里面讲语法的并不多,语法都是合在程 序里面讲。不过这本书非常好,入门以后一定要看的一本书。当然可以从C+直接入门,C+之父强烈推荐从 C+直接入手。C+推荐入门教材:钱能的 C+(红色的,清

4、华大学岀版),这本书第一版不是ISO C + + ,不过比较经典,作者现在也岀了第二版了,第二版好像不是太好。国外的最好的入门教材据说是: Acclerated C+作者是Koenig和Moo夫妇,非 常厉害。他们的著作还有c陷阱与缺陷C+沉思录。Acclerated C+这本入门的书我没有看 过,我觉得还是先找本国内的书好好看,看的差不多了,国外的经典书籍随便看就会觉得很有味道,否则 你可能会很受打击。入门的书至少要看两三遍(要彻底理解哦):)。如果是C+ + ,我建议后面类的部分至少要理解三到五遍。说明一下,C+模板的部分可以先不用看,如果有兴趣的话,等把c + +学的差不多了,我觉得可以

5、把模板、STL泛型编程结合起来学习,这个又是一个很大的工作量了,又得下很大的功夫。所以说,C+博大精深啊。建议二、学习过程中要结合简单的算法,像冒泡还有类似c语言程序百例这样的小例子做做;更进一步应该做点大一点的项目,最好是控制台程序。或者你已经着手学习Win32、MFC或 linux,你也可以结合平台做点小的项目。2、第一阶段是最苦的,接下来相对就知道应该怎么去学习了。这时候假设你已经有了扎实的c + +基础。这是你可以选择也应该选择发展方向了,做企业级应用,还是系统开发,嵌入式设计或者游戏开发”那时我其实并没有考虑那么多,因为我不是学计算机的,因此我就把参加一些计算机之类的考试当作 学习目

6、标。我当时其实 C+语言基础已经很不错了,但是上机实践很少(那时我没有电脑),因此参加 省计算机二级,全国计算机三级和全国计算机四级考试,结果上机都没有通过。我很郁闷,二级的时候是 我不知道怎么样进那个 DOS界面把题目调出来,三级的时候是很快就编好了,也通过运行了,可是成绩出 来却不及格,四级的时候是编好了,可能是我那题目比较难,好像用了两次循环,结果那破机器竟然承受 不了。后来一乱就毁了(当然主要是上机太少了)。不过我那些上机都没有去补考。二级和三级的时候是自恃水平已经远远超过考试要求了(,见笑了,可能是因为等级考试还是比较简单的),四级的时候则因为自己已经通过高级程序员考试,觉得补考上机

7、好像没必要。(我高程和四级都是在2003年考的)。建议三:定位学习方向(见附录一)并好好学习计算机基础知识。在你还不确定学习方向,或者你还 在大学本科期间,那么我认为应该先把计算机的基础知识好好学习一下。我认为计算机必学的基础课程而 且要精学一一首先是数据结构,其次是操作系统、软件工程,数据库。这四门课不管你将来想从事哪个方 向的基本上都会用到。当然,有时间的话,其他基础课都是应该掌握的,离散数学、组成原理、体系结构、 网络、编译原理甚至跨学科的。方向是很重要的,因为知识其实是无限的,一个小小的领域就够你研究很 久了。本科生可能还没有什么方向的感觉,但是到了研究生你一定要清楚自己到底想要做什么

8、,要往哪个 方面发展,不要盲目学,瞎学乱学,否则最后可能看似什么都会,其实什么都不会。我也曾经学习过Java 段时间,这篇文章既然是谈编程语言的入门学习,我也简单说一说。因为有了比较C+ +扎实的语言基础,所以Java学起来比较轻松。我先找了国内一本薄薄的教材很快看了一遍(几乎都理解,但是只看了一遍),空闲的时间配合清华张孝详老师的java视频。以后其实才算我真正要开始入门JAVA的学习,我用了是core java中文第六版(本来想用候捷翻译的第二版的Thinking in Java,发现被同学弄丢了),这本书我差不多用了20天才把里面的知识都搞懂,当然包括程序风格的模拟,最重要的时我把有关

9、GUI编程的那三章里面的程序例子几乎可以默写出来(当然,那是因为我理解了,其实这 样就变成了我的知识了),里面的API我也记得差不多了。(说明:Java里面的GUI编程没什么用处了,建议大家先跳过,GUI不是Java的长处,如果以后需要的话再查手册或者再记忆学习)。其实学习了 C+ +以后,学习Java是比较容易了,但是建议不要两种都学啦,他们的用途是不一样的,你应该熟悉其中一种,更重要的是熟悉其应用领域所需要的专业知识甚至平台,以及使用他们的企业,有 创业计划的还应该考虑一下他们的应用领域,最重要的是思考他们的潜在的应用领域。对于初级的学习就讲到这里,接下去的学习其实都是高级部分,先不介绍了

10、,因为:一、我自己都还 没有学懂,这里乱吹会误人子弟。二、高级东西的学习很多,有很多选择,又需要很多繁琐的知识,可能也一下子没办法讲清楚。以上仅是个人看法,欢迎评论。这篇文章是我真实的体会,希望对初学者有帮助,现在更新一下。20064 27附录一:定位学习方向:定位学习方向的关键是认清各个方向的学习内容和工作内容之间的区别。1、C+Java 与.NET与同学讨论学习方向 (),我写的文章,主要谈了一些C+ Java和.NET之间概念的区别。2、IBM BCS实习感受:适合北软毕业生的咨询行业发展道路(),我同学原创的一篇很好的文章,澄清了咨询业的一些概念3、 三朝元老经验谈()我的一个师兄总结

11、的一篇文章,很不错,介绍了 IT业各个方向以及之间的不同附录二:本文第一版呵呵,这里想就自己的学习经历和情况给大家一个建议,仅供参考。(作者:翔宇ITHao123.COM)1、我的入门是从学习 C语言开始的(其实课程是 C+ ),这是我们学校的公共课,我上课比较认真(虽 然老师讲得很差,而且一段时间后,我就发现自己的基础掌握比她好,当然理解深度没她好),因此,我 认为对于完全没有基础的人而言,听别人讲比较容易入门。当时的教材是学校自己编的,挺烂的。建议一、对于刚想进入编程的人(主要是从C/C+开始),最好是听课的方式(自己看的话估计要很慢,而且很痛苦),可以找视频或者培训等。C语言推荐入门教材

12、:谭浩强的C语言,好像最新是第三版吧,不过第二版就可以了(蓝色的)。当然可以从C+直接入门,C+之父强烈推荐从 C+直接入手。C+推荐入门教材:钱能的 C+ (红色的,清华大学出版)。入门的书至少要看两遍(要彻底理解哦)。如果是C+ + ,我建议后面类的部分至少要理解三遍。VB我没有怎么学,好像谭浩强的一本VB入门教材非常的好,早期热卖全球(可以说谭浩强也因此被程序员杂志评为影响中国软件发展 20 人,教育先锋类中的一个。)总结:推荐从C+入门(C+是最难的,搞懂后其他是小 case),对于其入门教材至少要理解两遍(推 荐理解四遍),后面的类的部分至少理解三遍(推荐理解五遍)。当然具体情况因人

13、而异。2、第一阶段是最苦的,接下来就比较知道应该怎么去学习了。这时候假设你已经有了扎实的c + +基础。这时你可以选择也应该选择一下是往微软 .net 阵营还是往 java 阵营发展。 实并没有考虑那么多,因为 我不是学计算机的,因此我就把参加一些计算机之类的考试当作学习目标。我当时其实C+语言基础已经很不错了,但是上机实践很少(那时我没有电脑),因此参加省计算机二级,全国计算机三级和全国计 算机四级考试,结果上机都没有通过。我很郁闷,二级的时候是我不知道怎么样进那个DOS界面把题目调出来,三级的时候是很快就编好了,也通过运行了,可是成绩出来却不及格,四级的时候是编好了,可能 是我那题目比较难

14、,好像用了两次循环,结果那破机器竟然承受不了。后来一乱就毁了(当然主要是上机 太少了)。不过我那些上机都没有去补考。二级和三级的时候是自恃水平已经远远超过考试要求了(,见笑了,可能是因为等级考试还是比较简单的),四级的时候则因为自己已经通过高级程序员考试,觉得 补考上机好像没必要。(我高程和四级都是在 2003 年考的)。建议二:计算机必学的基础课程而且要精学首先是数据结构和数据库,其次是操作系统、网络和软件工程。选择也应该选择一下是 往微软.net阵营还是往java阵营发展。最初我选择学习 vc + + ,发现很有难度,没怎么学。后来我转移 到java阵营的学习。我首先学习java,因为有了

15、 C+扎实的语言基础,所以学起来比较轻松。我先找了 国内一本薄薄的教材很快看了一遍(几乎都理解,但是只看了一遍),空闲的时间配合清华张孝详老师的 java视频。以后其实才算我真正要开始入门JAVA的学习,我用了时core java中文第六版(本来想用候捷翻译的 ttj ,后来被同学弄丢了心痛啊),这本书我差不多用了 20 天才把里面的知识都搞懂,当然包括 程序风格的模拟,最重要的时我把有关GUI编程的那三章里面的程序例子几乎可以默写出来(当然,那是因为我理解了,其实这样就变成了我的知识了),里面的 API 我也记得差不多了。 虽然我总体只是把这 本书看可一遍,但是里面包含了很多反复的学习,比如

16、我在进入GUI学习的过程中还不时反复回来记忆前面章节的 API。 大家也可以按总体去看,就是说比如你第一遍用 10天看完了,第二遍用 5 天看完了,然 后又用 3天来看第三遍来巩固。自己有自己的学习方式,就像记忆单词一样,大家要形成一个适合自己的 学习战术。而大家所讲的方法其实只能当成一种战略来看待。具体的战术大家要去想哦。对于初级的学习就讲到这里,接下去的学习其实都是高级部分,先不介绍了,因为:一、我自己都还 没有学懂,这里乱吹会误人子弟。 二、高级东西的学习很多,有很多选择,又需要很多繁琐的知识,可能 也一下子没办法讲清楚。送给正在学习C+月友的50条建议.1. 把C+当成一门新的语言学习

17、(和C没啥关系!真的。);2. 看Thinking In C+,不要看C+变成死相;3. 看The C+ Programming Language和Inside The C+ Object Model ,不要因为他们很 难而我们自己是初学者所以就不看;4. 不要被VC BCB BG MC TC等词汇所迷惑一一他们都是集成开发环境,而我们要学的是一门 语言;5. 不要放过任何一个看上去很简单的小编程问题他们往往并不那么简单,或者可以引伸出很 多知识点;6. 会用 Visual C+ ,并不说明你会 C+;7. 学 class 并不难, template STL generic programmi

18、ng 也不过如此难的是长期坚持实践 和不遗余力的博览群书;8. 如果不是天才的话,想学编程就不要想玩游戏一一你以为你做到了,其实你的C+水平并没有和你通关的能力一起变高其实可以时刻记住:学C+是为了编游戏的;9. 看Visual C+的书,是学不了 C+语言的;1 0.浮躁的人容易说:XX语言不行了,应该学 YY;是你自己不行了吧!?1 1 .浮躁的人容易问:我到底该学什么;别问,学就对了;1 2.浮躁的人容易问:XX有钱途吗;一一建议你去抢银行;1 3.浮躁的人容易说:我要中文版!我英文不行!一一不行?学呀!14. 浮躁的人容易问:XX和YY明$个好;一一告诉你吧,都好一一只要你学就行;15

19、. 浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;16. 把时髦的技术挂在嘴边,还不如把过时的技术记在心里;17. C+不仅仅是支持面向对象的程序设计语言;18. 学习编程最好的方法之一就是阅读源代码;19. 在任何时刻都不要认为自己手中的书已经足够了;20. 请阅读The Standard C+ Bible (中文版:标准 C+宝典),掌握C+标准;21. 看得懂的书,请仔细看;看不懂的书,请硬着头皮看;22. 别指望看第一遍书就能记住和掌握什么请看第二遍、第三遍;23. 请看 Effective C+ 和 More Effective C+ 以及 Exceptional C+

20、 ;24. 不要停留在集成开发环境的摇篮上, 要学会控制集成开发环境, 还要学会用命令行方式处理程 序;25. 和别人一起讨论有意义的 C+知识点,而不是争吵 XX行不行或者YY与ZZ哪个好;26. 请看程序设计实践,并严格的按照其要求去做;27. 不要因为C和C+冲有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;28. C+绝不是所谓的C的“扩充”一一如果 C+-开始就起名叫Z语言,你一定不会把 C和Z语 言联系得那么紧密;29. 请不要认为学过 XX语言再改学C+会有什么问题一一你只不过又在学一门全新的语言而已;30. 读完了 Inside The C+ Object Mod

21、el 以后再来认定自己是不是已经学会了C+;31. 学习编程的秘诀是:编程,编程,再编程;32. 请留意下列书籍:C+面向对象高效编程(C+ Effective Object-Oriented Software Construction )面向对象软件构造 (Object-Oriented Software Construction) 设计模式( Design Patterns ) The Art of Computer Programming ;33. 记住:面向对象技术不只是C+专有的;34. 请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;35. 把在书中看到的有意义的例

22、子扩充;36. 请重视C+中的异常处理技术,并将其切实的运用到自己的程序中;37. 经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;38. 不要漏掉书中任何一个练习题请全部做完并记录下解题思路;39. C+语言和C+的集成开发环境要同时学习和掌握;40. 既然决定了学C+,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而 程序设计技术是跨语言的;C+语言本身为主;41. 就让C+语言的各种平台和开发环境去激烈的竞争吧,我们要以学习42. 当你写C+程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后

23、分析自己的错误并重新设计和编写(参见43);43. 别心急,设计C+啲class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;44. 决不要因为程序 “很小” 就不遵循某些你不熟练的规则好习惯是培养出来的,而不是一次 记住的;45. 每学到一个C+隹点的时候,尝试着对别人讲解这个知识点并让他理解你能讲清楚才说明你真的理解了;46. 记录下在和别人交流时发现的自己忽视或不理解的知识点;47. 请不断的对自己写的程序提出更高的要求 , 哪怕你的程序版本号会变成 Version 100.XX ;48. 保存好你写过的所有的程序那是你最好的积累之一; 4

24、9. 请不要做浮躁的人; 50. 请热爱 C+!:如何学好C语言 修改内容 引用 回复 楼主dwt710发表于2007-05-27 13:11:50习编程是一件好事 不过之前你得先了解 你学习编程的目的是什么 这个很重要 因为目的决定发展 方向目前对于编程有很多种编程语言以及相对应的开发软件 下面说明一些常用的编程语言 根据你的情况 选一种语言进行学习 不要盲乱学习C语言一种可移植性和多系统平台的编程语言开发软件TCVB 一种可以说是既学既用的软件开发语言 开发软件如: VB6.0DELPHI 一种和VB差不多的既学既用的软件开发语言不过其功能远比VB强大代码书写上更加方便开发软件 DELPH

25、I7.0JAVA 一种功能强大可移植性强开发语言程序语言,顾名思义就是语言,是用于交流的,程序就是计算机的语言和人的语言的翻译者,做一个 程序员就是要把人类世界的问题用计算机的方法去解决和展现,可是因为种种原因,大多数人在如何学好 语言,如何学好开发平台上疲于奔命,到头来你只会敲写代码。程序基本上都是自学的,买书是一开始碰到的最头痛的问题,计算机的书大多都很贵,现将我的一点 经验供大家参考:如果想做一个合格的程序员,C+是 一定要学的,首先你要花两个月的时间学习c,c+,这样的书很多,去选一些大学的教材足亦,切记,不要花过多的时间研究C+,两个月够了,只要学会其中语法就行了,不要为了深入用DO

26、S编写菜单什么的,那是吃饱人参了。如果你有过多的时间,接下来你可以学习数据结构,推崇数据结构C+吾言描述,清华大学岀版,58元,但如果无过多时间,还是不看为妙,至少我现在从未用过这本书的知识,许多东西MFC VC等开发平台都为你已经做好。接下来开始学习 Windows下的SDK编程,推崇Windows程序设计160元,建议去借,不要买,而且 你只看上册,你只要了解 Windows的运作机制即可。两个月然后你将转入VC的世界,既然要在 Windows下编程,VC不可不学,推崇VC+戕术内幕第四版, 96元,三个月,不要全部看,看前面的三部分,后面不要看。后面的只是对COM数据库,Internet

27、 形如鸡肋的介绍。接下来你应该考虑一下你将要发展的方向,如果是做数据库,你可以用VB和Delphi或CB,如果要做通信方面,或者硬件,你将要深入VC,如果是WEB相关的,去学学 ASP,JAVA,JSP,XML等,但有一样你必须要学的,COM COM与其说是一样新的技术,还不如说是种机制,推崇潘爱民的COMM理和应用39元,你可以一边看这本书,一边学习些ActiveX组件,ATL控件等等。如果你有的是时间,不急于找工作,你还可以看看Windows高级编程或Windows核心编程,但不管怎么样,你要切记,VC不是用来做界面和数据库的,做网络的现在也有JAVA都是用来做一些很底层的东西,VC是很高

28、薪的,如果你对自己有充分的信心和有的是时间,你才可以深入VG否则的话,还是看看人才市场,看看行情,再说。还有一点切记,有些书,诸如 MFC深入浅出这些书主要是关于那些技术原理的介绍,我个人认为 程序只是工具,只是技术,只要学会用,能完成任务即可,如果有的是时间,才会去探索根源,也许有许 多人会说,懂了原理对你编程会有很大帮助,我不否认,但是,要知道,就算你编程技术如何了得,你只 是个技术人员,当你学了那么多的技术和知识,第一,计算机的知识其实是各大公司制定岀的标准,标准 变了,你不是白学了吗?第二,当你花了几年的时间学习,到头来你只不过程序水平提高一点。我认为应 当将你的大部分智力和精力用在如

29、何与人打交道,电脑让你用的好有什么用,人脑让你摆弄的好才算真本 事,就如黑冰里面的计算机工程师,虽然对计算机十分精通,可有什么用,还不是死在王志文的手里? 而且死的很惨,脸都毁了。另外,不要去学你喜欢的,也不要去费劲脑子想该学什么,看看人才市场,市场需要什么,你学什么。一家之言,仅供参考。</CA>如何选择编程语言作者:不详 来源:csdn博客 ithao123 整理 2007-06-10摘要IT人如果编写对性能要求苛刻,或和操作系统结合紧密的程序,必然选择c。如果编写到处可用的程序,选java。如果编写大程序,可能的话尽量用python,不行了再用java和c。因为python带

30、来了生产力各种语言的选择:如果编写对性能要求苛刻,或和操作系统结合紧密的程序,必然选择c。如果编写到处可用的程序,选java。如果编写大程序,可能的话尽量用python,不行了再用java和c。因为python带来了生产力。/编写文本的处理程序用perl。/编写知识的处理程序用prolog 。编写最灵活,最模糊的程序用lisp。/编写office 程序用vba。编写服务器端程序,php、perl、python、asp都是选择。/编写数据库程序用vb或delphi。什么计算机语言最有前途-编程语言可爱小天使 发表于:2007-8-30 18:11 来源:聋人之星这个问题是每一位学习编程的初学者都

31、会遇到而且很迷茫的问题,在这里发表一下个人观点,仅供参考:1. 每一种程序都有其发展的历程,没有任何一种程序是万能的,比如说我们都知道的C语言,开发C的初衷就是为了让 程序员能脱离那种原始的汇编的环境,可以在高级语言环境中对内存地址进行控制,所以C语言在底层操作上来讲要优越于其他高级语言;比如Pasical语言的初衷就是为了程序设计中的教学使用,所以Pasical语言的语法结构很严谨;比如 Fortran语言,开发的初衷就是为了工程计算,所以他的数学逻 辑工程逻辑功能模块就相当强大,等等 Java、.Net、Delphi等语言,他们开2. 现在的语言已经发展到面向对象的高级语言,像我们现在所熟

32、知的 发应用软件来说 基本没有太大的区别,因为他们的库都已经很丰富,我们开发起来也相对较简单一些,他们的差距也就紧紧在于市场占有率和所在公司开发选择问题上了。还有另外一个就是一些数据库编程的语言比如SQL、PB等语言,他们的数据库功能相当强大,由于微软产品的市场占有,所以大家比较倾向于 SQL 语言,因为他的应用面要广一些,但是不乏有些朋友会基于一些其他的想法选择其他类型的数据库编程语 言。解释类语言,作为 B/S开发模式的语言,也是根据其市场占有规模来分,一般来讲市场占有率越高的 语言程序,那么它的库要丰富一些,我们操作起来要相对容易些。所以说,现在流行的应用软件开发的语 言来讲,我们一般考

33、虑的是市场占有率高的,就会有更多的工作机会来等待我们;但是一些市场占有率稍低的开发语言(有自己特色的),工作机会自然少一些,但是报酬相对要高一些,物以稀为贵嘛!3. 各种语言的选择如果编写对性能要求苛刻,或和操作系统结合紧密的程序,必然选择Co如果编写到处可用的程序,选Java o如果编写大程序,可能的话尽量用脚本语言如Python、Ruby,不行了再用Java和C。因为脚本语言带来了生产力。编写文本的处理程序用 Perl或Ruby。编写知识的处理程序用 prolog o编写最灵活,最模糊的程序用Lisp o编写office程序用vba。编写服务器端程序,PHP、(采用自己熟悉的语言来写,例如

34、Perl、Python、Ruby) CGI、ASP、(熟悉Java就用)JSP都是选择。编写数据库程序用vb或delphi。如果要追求性能和程序的能力,要完全发挥操作系统的能力,使用C/C+语言是合适的。在 Windows环境下用VC,在Unix-like 环境下用gcc。如果不是追求和操作系统完美结合,而只是性能,又要追求跨平台性,那么仍然选择C,但可以选择跨平台的库,女口 qt、gtk、fox、wxWindows。如果要编写游戏也有跨平台选择:SDL。如果不满意C领域标准的不统一,不满意 C的容易出错,不满意 C的面向对象特征不彻底。如果不在乎跨 平台,Windows平台可以选择 C#,m

35、aC平台可以选择 CoCo。如果需要跨平台,可以选择Java。如果需要跨平台,又要广泛的支持的话,选择Java o在Unix-like下,最方便的工具语言是 Perl,它有强大的社区和代码库的支持。如果只作为简单应用的工具语言,Python和Ruby是更好的选择,他们的跨平台移植性好,应用也比较广泛。其中Python更适合入门和交流,长期使用也不错。Ruby是对Python不满意的另一个选择,它提供了很多额外的功能。如果要选择一个程序的嵌入语言,原来有 Lisp、Basic和Java,现在还可以选择 Python和Ruby。如果在要求动态解释执行语言,而又不想学其他语言的话,C程序员的选择是p

36、ike,Java程序员的选择是beanshell 。在Java平台,又想用脚本语言的话,可以用 Python。最正统的基于文档的语言或叫动态页面语言是JavaScript。最专门的服务器端语言是 PHP,当然也有很多其他选择。XML语言以XUL为最着名,dtml也算一个,你自己也可以用XML作为自己特殊用途的语言。比如jedit就用XML作为一种模式定制语言。XML语言是一种比较先进的趋势,比现有的语言在特殊领域更高效。要找容易实现的语言,Lisp和Tcl是选择。Lisp的数据和程序融为一体的能力和自由是其他语言都没有的。现在出现了一个Lisp的现代化的变种:REBOL。如果有基于事实的编程的

37、需要的话,prolog和Clips是必然。4. 其实说到最后,也许大家都已经迷糊了,因为我自己也迷糊了(不要扔我!谁啊?怎么还有鸡蛋?!* %#*),不过只需要一个简单的道理:选择什么方向(数据库、应用软件、底层开发等等),那要看我们对什么感兴趣,对什么有一种亲切感;选择好了方向,在选择需要那个具体的语言,那就要看市场占有,公司发展前景,我们需要得到的利润回报等因素(不过,作为同种类的语言,一个真正的程序员是可以很好的跨越这种平台的,也就是说你最好不要只学习一种语言)!5. 如果你为了挣钱,就学 Java C# VB之类的快速开发工具;如果你是为了挣钱还想搞搞技术,就学C+之类的语言;如果你想

38、搞系统开发,你就要从硬件,汇编,一点一点学起了.从初学者到编程高手,几种必学的编程语言如果每种语言总是略学皮毛,然后又急匆匆的跳到另外一种语言,那你就会一事无成,永远彷徨在初 学者的门槛边。对于初学者,我建议从 python开始学。因为它在语言设计上很整洁,帮助文件也很全面。而且也是 object-oriented (0-0),尽管我把它作为一个初学者开始的语言,并不代表它的用处和功能不强大。实际上它是个功能强大,可以用来做大的编程工程的语言。我知道国内对python可能还不了解,因为它相对来说也比较新(1990),到现在有12年的历史了,但是它 在国外已经被广泛接受和认同,快速发展。不过我知

39、道邮电出版社最近刚出了一本介绍python编程的书,大家可以查询。python 的主页 Java也是个很好的语言来开始学编程。不过它比python复杂。国外的大学现在都采用java 作为电脑专业的凯时语言。总之我觉得除了python之外,它也可以作为一个极好的初学者语言。不过,会了这两种语言,并不代表你就是一个编程员了。学会编程的关键就是-“编程思想“。 学会怎样用一种很“广泛的思维“去考虑“编程问题 “,也就是这种思维是可以放之于任何一种编程语言 都可以解决问题的,而不是局限于单纯的一种语言。这样当你需要学习一种新的语言时,你只要学习他的 语法等等就可

40、以了,至于怎样用这种语言解决编程问题不是早就在你的脑子里了吗。所以,这也就是为什 么很多程序员可以拿到一种语言,一两个星期就可以使用的很熟练了。这,也同样要求你去学几种完全不 同的语言。C语言是非常有效率的,很多时候你都需要考虑内存的管理等底层的东西。很可惜这些都需要你去花很多 的时间去做,问每一个 C/C+的程序员,用C/C+编程是不是一个很头疼的事。好消息是,现在的机器 都已经很高级,运算的很快,在很多时候我们是不用考虑用C/C+去做,忽略它所带来的好处,当然除非这个工程真的很需要处理底层的东西(象内核的编辑,3-D图形等)。很多时候 python, java等都可以实现。另外在现在很多工

41、程所要求的时间都不是足够充裕来用C/C+去做,所以在商业上时间就是金钱,这个代价谁也付不起。我这里并没有说C/C+不好,你不应该学。相反我觉得我们应该学,但不是作为一个初学者的语言来学。在C和C+之间,我推荐先学 C。.因为它相对来说较小,简单。作为一种底层编程语言,C,你可以学到很直接的内存管理,指针,等。另外,很多语言都是用C来设计的,比如perl , java, python其它语言值得一学的有 perl , Lisp(当然你也很一说effile, proflog) ,提到perl是因为它的实用性,广泛的应用在网络和系统管理,perl 提倡"There is always mo

42、re than one way to do it"这主要是从perl的语法以及它的独特设计上来获得,记得用几行code你就可以写出很有效率的程序?这也就是为什 么我很喜欢perl 了。但是perl的语法着实让很多人头疼而且对于用perl写的大型程序,维护性不是很好,python就没有这方面的问题,这也是为什么很多 perl的用户转向了 python 。很多人用perl的 目的和用python 一样,避免在不要求 C的效率时使用C。Lisp据说是很有启迪性的语言,会让你成为一个更好的程序员.(我还没有到达那个程度:-)我个人推荐(python, java, C ,perl, 和Lisp

43、),因为他们使用不同的方法来编程,每一种都会在某种程 度上交给你些很有价值的东西。谈到学习编程,单纯的上课和看书只会让你学习语言的特性等,只有学会用编程的思想来思考才是你终生 受用的。这些只能依靠“练习 “具体就是1)读程序2)写程序 看似简单,但坚持下来你才会真正体会到,这里没有其他可以投机取巧的方法学习编程了。至于学多少种,是越多越好吧。但并不是指每个都精通,我想大家也没那么多时间和精力。但在你有了坚 实的编程经验和基础,了解其它语言的设计方法、构造会开阔你的眼界,没准什么时候你也可以编岀自己 的语言(咱中国人编的!):-)要提醒大家的是,如果每种语言总是略学皮毛,然后又急匆匆的跳到另外一

44、种语言,那你就会一事无成, 永远彷徨在初学者的门槛边。我想这句话不只是对程序员,对我们来说也是生活中的一个道理。程序入门:初学者应从何种编程语言开始学起根据你兴趣选一个你认为有发展的语言,然后闭 关修炼去。甭管外面怎么说,学好了才是硬道理。 以后不用担心你转不成其他语言。对于学生来说, 我建议C/C+作为入门的基础。重点可以放在C+中,学好面向对象的思想。从编程中体会到为什么 要用面向对象,而不是单纯的背书。计算机系的课 不应该去背的,不懂的就查资料就行了。当学生有 了一定编程能力后,就可以选择你以后作为主要的 语言。即可以继续研究 C+,也可以选择Java或.net 中的任何一门语言这是一个

45、争论不休的话题,不同 人总会有不同的见解。传统的说法是从Pascal开始,而较为新点的是 C开始,这几年以来,也有提 出直接从C+或者C#/Java开始学起。本人是本科岀身的,对于专科或者不读书的初学者 来说,他们的环境也许跟我的不同,不过我的观点 可以作为参考。首先,我先来介绍一下各种编程 语言的来源、特点。Pascal语言:Pascal是一种计算机通用的高级程 序设计语言,由瑞士 Niklaus Wirth 教授六十年代 末设计并创立的。 Pascal的主要特点有:严格的 结构化形式、丰富完备的数据类型、运行效率高、 查错能力强等特点。由于上述特点,Pascal可以方 便用于描述各种算法和

46、数据结构。对于程序设计的 初学者,Pascal语言有益于培养良好的程序设计风 格和习惯。101 (国际奥林匹克信息学竞赛)把 Pascal语言作为三种程序设计语言之一。N0I (全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的数学语言。C语言:C语言是介于汇编语言和高级语言之间的 语言,属于高级语言,也称为中级语言,是集汇编 和高级语言优点于一身的程序设计语言。于1972年在美国贝尔实验室里问世。早期的C语言主要用于UNIX系统。由于C语言的强大功能和各方面的 优点逐渐为人们认识,到了九十年代,C语言开始进入其他操作

47、系统,并很快在各类大、中、小和微型计算机上得到广泛的应用。成为当代最优秀的程 序设计语言之一。C的特点1 .是一种结构化语言。 层次清晰,便于 按模块化方式组织程序,易于调试和维护。2 . C语言的表现能力和处理能力极强。不仅具有丰富的 运算符和数据类型,便于实现各类复杂的数据结 构,它还可以直接访问内存的物理地址,进行位级 别的操作。3 .由于C语言实现对硬件的编程操 作,所以既可用于系统软件的开发,也适合于应用 软件的开发。C语言还具有效率高,可移植性强等 特点。因此广泛地移植到了各类计算机上,从而形 成了多种版本的C语言。4 .由于C语言允许直 接对位、字节和地址进行操作,能实现汇编语言

48、的 大部分功能。5 .目标代码质量高,程序执行效 率高。总体上来说,C语言的优点是简洁、紧凑、使用方 便、灵活、易于学习和应用。仅有32个关键字。9种控制语句,程序的书写形式也很自由。C语言的弱点:非强类型;语法限制不严格,使得 编程者无法过多地依赖 C编译程序去查错;缺少实 时检查,如数组越界等。从严格上来说,C语言是块结构语言,这是因为它 在结构上类似于 ALGOL Pascal和Modula-2。从技 术上讲,块结构语言允许在过程和函数中定义过程 和函数。因为C语言不允许在函数中定义函数,所 以不能称为通常意义上的块结构语言。C语言作为一门面向过程的计算机语言,至今已有 三十多年历史,应

49、用广泛,无论是Windows还是Linux,你所看到的底层都是用 C写的。大部分的 网络协议也都是用C实现的。你看到的最漂亮的游 戏画面也是用C实现的,工业控制程序也是用 C实 现的。不过C不是万能,只是某些方面它适用而已。C+语言C + +是于1986年由AT&T贝尔实验室 开发的,语言开发的目的在于通过数据封装减少程 序变量的副作用,从而降低程序的复杂性并提高程 序的可靠性。(笔者曾经听到的开发C+的目的 是由于懂得 C 语言的人越来越多,所以需要再出一 门更难的、比 C 语言强大的语言,才能保住饭碗, so。C+ +出世啦)C+是C语言的直接扩展,C 的多继承机制能更好地描述对象

50、的属性和行 为。C + +是C的扩展,但C+可以作为一种全 新的语言来看。C+勺特点:面向对象、继承、封装、多态性。由于C+是C的扩展,所以也具有 C的特点。C+在C的基础上,加入了面向对象编程思想, 也就决定了 C+ +的效率在某一方面是不如C的。比如定义一种类型,C+用类(Class )来封装, 而C可能就直接几个变量的组合就成了一个结构体( Struct ),类不仅具有成员变量,还具有成员函 数等,在精细的比较其效率时,C会比C+ +的效率要高。但由于时代的发展, 项目或工程的庞大化, 基于面向对象的思想显然更能适应。即C+在这方面能比C要做得更漂亮。现在不少系统级编程都 是用C+实现,

51、许多应用级别的软件也是用C+实现。这里要注意一点,就是 C+并不是完全的面向对 象语言。它是提供了面向对象的模型以及思路,但 是同时兼容了面向过程的模型。Java 语言Java语言来自于Sun公司的一个叫 Green的项目, 其原先的目的是为家用消费电子产品开发一个分 布式代码系统,这样我们就可以把 email 发给电冰 箱、电视机等家用电器。对他们进行控制和信息交 流。开始,准备用 C+ + ,但C+太复杂,安全性 差, 最后用一种新的语言 Oak( Java 的前身) , Oak 是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但被SGI 打败。可怜的Oak几乎无

52、家可归,恰巧这时 Mark Ardreesen 开发的Mosaic和Netscape启发了 Oak项目组成员, 他们用 (Java) 编制了 HotJava 浏览器,得到了 Sun 首席执行官 Scott McNealy 的支持,触发了 Java 进军 Internet 。 Java 的取名有一段趣闻:有一天, 几位 Java 成员组的会员正在讨论给这个新的语言 取什么名字,当时他们正在咖啡馆喝着 Java(爪哇) 咖啡,有一个人灵机一动说就叫 Java 怎样,得到 了其他人的赞赏, 于是, Java 这个名字就这样传开 了。Java 的特点:1 .简单性:风格类似于 C+,Java摒弃了 C

53、+冲 容易引发程序错误的地方,如指针和内存管理。2. 面向对象: Java 是一种完全面向对象语言。 从 这点来看, Java 类似于 SmallTalk ,但其特性、尤 其是适用于分布式计算环境的特性远远超越了 SmallTalk 。3 .分布式:Java包括一个支持 HTTP和FTP等基 于 TCP/IP 协议的子库。因此, Java 应用程序可凭 借URL打开并访问网络上的对象,其访问方式与访 问本地文件系统几乎完全相同。4 健壮: Java 致力于检查程序在编译和运行时的 错误。类型检查帮助检查出许多开发早期出现的错 误。 Java 自己操纵内存减少了内存出错的可能性。5 结构中立:

54、Java 将程序编译成一种结构中立的 中间文件格式。只要有 Java 运行系统的机器都执 行这种中间代码。这种中间语言被设计在虚拟机上 运行,由机器相关的运行调试器实现执行。6 安全:1 )删除了香指针和手动释放内存等功能,避免了 非法内存操作。2)当 Java 用来创建浏览器时,语言功能和浏览器 本身提供的功能结合起来。Java 在机器上执行前, 要经过很多测试, 它经过代 码校验,检查代码段的格式,检测指针操作,对象 操作是否过分以及试图改变一个对象的类型。7 可移植的:同体系结构无关的特性使得Java应用程序可以在配备 Java 解释器和运行环境的任 何计算机系统上运行。任何 Java

55、代码会被解释成 一种中间语言,然后通过不同机子的特定环境(如 机器指令)运行程序。实现方便移植的特点。8 解释性。 Java 解释器能直接运行目标代码指令。 链接程序通常比编译程序所需资源少。9 高性能。 如果解释器速度不慢, Java 可以在运 行时直接将目标代码翻译成机器指令。 Sun 用直接 解释器一秒钟内可调用 300,000 个过程。10 多线程: Java 提供的多线程功能使得在一个 程序里可同时执行多个小任务。多线程带来的更大 好处是更好的交互性能和实时控制性能。11 动态:动态特性允许程序动态地装入运行过 程中所需要的类。在运行时确定引用的好处是可以 使用已被更新的类,而不必担

56、心会影响原有的代 码。如果程序连接了网络中另一系统中的某一类, 该类的所有者也可以自由地对该类进行更新,而不 会使任何引用该类的程序崩溃。 Java 在诞生之后 不久,便受到广大群众的欢迎,甚至有人说出有了 Java ,可以不要C/C+了。一度把Java提到了很高 的地位。这当然是对 Java 的一种赞赏,只是有点 过了。到今天,Java依然不能取代 C, C+,而且 还出现了新的对手 .Net (后面将会介绍)。Java目前主要应用:Web浏览器、网络应用系统。C#语言。C#是一种精确、简单、类型安全、面向 对象的语言。说到C#,就不得不先简单介绍一 下.net。到底什么是.net呢,按照微软总裁兼首席 执行官 Steve Ballrner 把它定义为: .Net 代表一 个集合,一个环境,它可以作为平台支持下一代 Internet的可编程结构。C#是.net的代表语言。C#勺特点:1.完全面向对象。2.支持分布式, 之所以有C#,是因为微软相信分布式应用程序是未 来的趋势,即处理过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论