呵呵,这里想就自己的学习经历和情况给大家一个建议,仅供参考。
注:2006.4.27更新,原稿见附录二,原稿有一定的局限性,故做修改以免误导大家,并请批评指正,谢谢。

  写在开始之前:应该学习哪种语言,我觉得应该根据你的工作需要或者说你的发展方向而定。基本上两大类吧:C/C++和Java。比如,如果你要做企业级应用的你应该学习Java和C#;如果你想做嵌入式,那么应该学好C语言;其他情况下,在你不知道要做什么之前你可以选择学习C/C++。学会这两大类中的一类,对于你学习其他语言都将是比较轻松,包括脚本语言,动态语言……

  1、我的入门是从学习C语言开始的(其实课程是C++),这是我们学校的公共课,我上课比较认真(虽然老师讲得很差,而且一段时间后,我就发现自己的基础掌握比她好,当然理解深度没她好),因此,我认为对于完全没有基础的人而言,听别人讲比较容易入门。当时的教材是学校自己编的,挺烂的。

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

  当然可以从C++直接入门,C++之父强烈推荐从C++直接入手。C++推荐入门教材:钱能的C++(红色的,清华大学出版),这本书第一版不是ISO C++,不过比较经典,作者现在也出了第二版了,第二版好像不是太好。国外的最好的入门教材据说是:《Acclerated C++》作者是Koenig和Moo夫妇,非常厉害。他们的著作还有《c陷阱与缺陷》《c++沉思录》。《Acclerated C++》这本入门的书我没有看过,我觉得还是先找本国内的书好好看,看的差不多了,国外的经典书籍随便看就会觉得很有味道,否则你可能会很受打击。

  入门的书至少要看两三遍(要彻底理解哦 ):)。如果是C++,我建议后面类的部分至少要理解三到五遍。说明一下,c++模板的部分可以先不用看,如果有兴趣的话,等把c++学的差不多了,我觉得可以把模板、STL、泛型编程结合起来学习,这个又是一个很大的工作量了,又得下很大的功夫。所以说,C++博大精深啊。

  建议二、学习过程中要结合简单的算法,像冒泡还有类似c语言程序百例这样的小例子做做;更进一步应该做点大一点的项目,最好是控制台程序。或者你已经着手学习win32、MFC或linux,你也可以结合平台做点小的项目。

  2、第一阶段是最苦的,接下来相对就知道应该怎么去学习了。这时候假设你已经有了扎实的c++基础。这是你可以选择也应该选择发展方向了,做企业级应用,还是系统开发,嵌入式设计或者游戏开发……

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

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

  我也曾经学习过Java一段时间,这篇文章既然是谈编程语言的入门学习,我也简单说一说。因为有了比较C++扎实的语言基础,所以Java学起来比较轻松。我先找了国内一本薄薄的教材很快看了一遍(几乎都理解,但是只看了一遍),空闲的时间配合清华张孝详老师的java视频。以后其实才算我真正要开始入门JAVA的学习,我用了是《core java》中文第六版(本来想用候捷翻译的第二版的《Thinking in Java》,发现被同学弄丢了),这本书我差不多用了20天才把里面的知识都搞懂,当然包括程序风格的模拟,最重要的时我把有关GUI编程的那三章里面的程序例子几乎可以默写出来(当然,那是因为我理解了,其实这样就变成了我的知识了),里面的API我也记得差不多了。(说明:Java里面的GUI编程没什么用处了,建议大家先跳过,GUI不是Java的长处,如果以后需要的话再查手册或者再记忆学习)。

  其实学习了C++以后,学习Java是比较容易了,但是建议不要两种都学啦,他们的用途是不一样的,你应该熟悉其中一种,更重要的是熟悉其应用领域所需要的专业知识甚至平台,以及使用他们的企业,有创业计划的还应该考虑一下他们的应用领域,最重要的是思考他们的潜在的应用领域。

   对于初级的学习就讲到这里,接下去的学习其实都是高级部分,先不介绍了,因为:一、我自己都还没有学懂,这里乱吹会误人子弟。 二、高级东西的学习很多,有很多选择,又需要很多繁琐的知识,可能也一下子没办法讲清楚。

以上仅是个人看法,欢迎评论。
这篇文章是我真实的体会,希望对初学者有帮助,现在更新一下。2006.4.27

附录一:

定位学习方向:
定位学习方向的关键是认清各个方向的学习内容和工作内容之间的区别。
1、《C++、Java与.NET——与同学讨论学习方向》,我写的文章,主要谈了一些C++、Java和.NET之间概念的区别。
2、《IBM BCS实习感受:适合北软毕业生的咨询行业发展道路》我同学原创的一篇很好的文章,澄清了咨询业的一些概念
3、《三朝元老经验谈》我的一个师兄总结的一篇文章,很不错,介绍了IT业各个方向以及之间的不同

附录二:本文第一版

呵呵,这里想就自己的学习经历和情况给大家一个建议,仅供参考。
1、我的入门是从学习C语言开始的(其实课程是C++),这是我们学校的公共课,我上课比较认真(虽然老师讲得很差,而且一段时间后,我就发现自己的基础掌握比她好,当然理解深度没她好),因此,我认为对于完全没有基础的人而言,听别人讲比较容易入门。当时的教材是学校自己编的,挺烂的。

  建议一、对于刚想进入编程的人(主要是从C/C++开始),最好是听课的方式(自己看的话估计要很慢,而且很痛苦),可以找视频或者培训等。C语言推荐入门教材:谭浩强的C语言,好像最新是第三版吧,不过第二版就可以了(蓝色的)。

  当然可以从C++直接入门,C++之父强烈推荐从C++直接入手。C++推荐入门教材:钱能的C++(红色的,清华大学出版)。

  入门的书至少要看两遍(要彻底理解哦 )。如果是C++,我建议后面类的部分至少要理解三遍。

  VB我没有怎么学,好像谭浩强的一本VB入门教材非常的好,早期热卖全球(可以说谭浩强也因此被程序员杂志评为影响中国软件发展20人,教育先锋类中的一个。)

  总结:推荐从C++入门(C++是最难的,搞懂后其他是小case),对于其入门教材至少要理解两遍(推荐理解四遍),后面的类的部分至少理解三遍(推荐理解五遍)。当然具体情况因人而异。

2、第一阶段是最苦的,接下来就比较知道应该怎么去学习了。这时候假设你已经有了扎实的c++基础。这时你可以选择也应该选择一下是往微软.net阵营还是往java阵营发展。

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

  建议二:计算机必学的基础课程而且要精学——首先是数据结构和数据库,其次是操作系统、网络和软件工程。选择也应该选择一下是往微软.net阵营还是往java阵营发展。最初我选择学习vc++,发现很有难度,没怎么学。后来我转移到java阵营的学习。我首先学习java,因为有了C++扎实的语言基础,所以学起来比较轻松。我先找了国内一本薄薄的教材很快看了一遍(几乎都理解,但是只看了一遍),空闲的时间配合清华张孝详老师的java视频。以后其实才算我真正要开始入门JAVA的学习,我用了时core java中文第六版(本来想用候捷翻译的ttj,后来被同学弄丢了心痛啊),这本书我差不多用了20天才把里面的知识都搞懂,当然包括程序风格的模拟,最重要的时我把有关GUI编程的那三章里面的程序例子几乎可以默写出来(当然,那是因为我理解了,其实这样就变成了我的知识了),里面的API我也记得差不多了。

   虽然我总体只是把这本书看可一遍,但是里面包含了很多反复的学习,比如我在进入GUI学习的过程中还不时反复回来记忆前面章节的API。

   大家也可以按总体去看,就是说比如你第一遍用10天看完了,第二遍用5天看完了,然后又用3天来看第三遍来巩固。自己有自己的学习方式,就像记忆单词一样,大家要形成一个适合自己的学习战术。而大家所讲的方法其实只能当成一种战略来看待。具体的战术大家要去想哦。

  对于初级的学习就讲到这里,接下去的学习其实都是高级部分,先不介绍了,因为:一、我自己都还没有学懂,这里乱吹会误人子弟。 二、高级东西的学习很多,有很多选择,又需要很多繁琐的知识,可能也一下子没办法讲清楚。

[转]计算机编程语言的入门学习相关推荐

  1. 编程初学者适合选择哪个编程语言进行入门学习?

    随着互联网行业的兴起,越来越来的朋友开始对编程学习越发感兴趣,但是面对多种编程语言,却在学习选择上犯了难,有些专业语言的学习曲线和先修技能其实对新手并不太友好.那么对于编程小白来说,究竟哪种编程语言适 ...

  2. 编程语言python怎么读-Python入门学习的计算机程序设计语言是怎样的?

    原标题:Python入门学习的计算机程序设计语言是怎样的? 你可能已经听说过很多种流行编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Java语言.那 ...

  3. 郑州计算机c语言培训机构,c语言入门学习选郑州哪家计算机专业学校

    C语言是一门稀缺的贵族语言,会C语言的被IT界高看,C语言的地位很高,学C语言确实难,但是有正确的方法成为C程序员是非常有效的,会C语言相当于拥有了一定地位,未来非常有前景,那么如何入门C语言呢?选择 ...

  4. Java:计算机编程语言Java的简介、编程环境/工具、如何学习Java之详细攻略

    Java:计算机编程语言Java的简介.编程环境/工具.如何学习Java之详细攻略 目录 Java的简介 1.Java的工作原理--基于Eclipse等编程Java语言→定义Java类→Java虚拟机 ...

  5. 计算机语言怎么学,教你如何学习计算机编程语言

    读书使人明智,学习使人进步.任何技术知识的学习,只要长期的坚持都能够获得收获,我们熟知的的一万小时定律就是如此,只要付出精力时间才会有收获,区别在于不同的人收获多少不同而已. 01.选择一门编程语言, ...

  6. 怎样快速学习一门计算机编程语言?

    目录 怎样快速学习一门计算机编程语言? 1.选择一门易学的语言 2.了解语言的基础

  7. 初级计算机都学什么,电脑入门学习初级

    电脑入门学习初级 更新时间:2017/1/27 3:45:00  浏览量:637  手机版 1.打开计算机 一般来说,现在的电脑至少包括这几部分:主机,显示器.键盘.鼠标.找到您计算机上对应的部分了吗 ...

  8. Java:计算机编程语言Java的简介、安装(编程环境/工具)、学习路线(如何学习Java以及几十项代码编程案例分析)之详细攻略

    Java:计算机编程语言Java的简介.安装(编程环境/工具).学习路线(如何学习Java以及几十项代码编程案例分析)之详细攻略 目录 Java的简介 1.Java的工作原理--基于Eclipse等编 ...

  9. 最早接触到的计算机编程语言——c语言

    最早接触到的计算机编程语言--C语言 在经过入学后计算机导论的熏陶后,在大一的下半学期我终于接触到了一门语言,这也是我们最早接触的计算机编程语言--c语言. 在初学的时候,感觉这门课程十分晦涩,但是当 ...

最新文章

  1. system.gc会立即执行垃圾回收吗_JVM垃圾回收系列之 垃圾回收器
  2. GNOME 3.31.91 发布,3.32 发布周期第二个 beta 版
  3. spring boot 异常汇总
  4. Mysql存储过程名规则_sql 存储过程命名规范
  5. vue3 创建路由「vue-router 4.x 的使用」
  6. (libgdx学习)InputProcessor InputMultiplexer
  7. Android模拟器安装apk应用程序
  8. sa结构组网方式_NSA和SA两种组网方式均为5G
  9. 硬件设备的软件测试,智能设备的软硬件测试都要测什么?
  10. python实现排序的lowB三人组:冒泡、插入、选择
  11. 年轻人转行需三思,未来5-10年什么工作真吃香?
  12. 【Ubuntu】Ubuntu16.04 安装显卡驱动重启黑屏问题处理
  13. 2021记录阿里云虚拟专用服务器的初使用
  14. 《程序员》约稿:多任务下的时间管理,目标计划与任务分解
  15. 你需要掌握的 Koa 洋葱模型和中间件
  16. 自动root用户登陆
  17. 三款html版女朋友表白告白代码,动态爱心表白代码,总有一款适合你,可定制表白内容
  18. 数据探索与可视化(R的DataExplorer包)
  19. javascript几种运算符
  20. C语言小题,将字符串a复制为字符串b,然后输出字符串b。(地址法和指针变量法)(通过指针引用字符串)

热门文章

  1. chatGPT的49种应用场景,双AI生成二次元仙女,及各开发语言对接chatGPT参考指南
  2. A process in the process pool was terminated abruptly while the future was running or pending
  3. ios 编译时报 Could not build module xxx 的解决方法尝试
  4. c11计算机考试,2015年计算机二级考试C++备考练习试题及答案(6)
  5. CSS 如何实现羽化效果?
  6. 计算机键盘被锁怎么解,教你电脑键盘锁了要怎么解除
  7. 刚子扯谈:网站运营路在何方?
  8. C语言人机大战之决战三子棋之巅
  9. VBScript里msgbox出现中文乱码的解决办法
  10. 在马斯克收购推特之际,为什么去中心化社交网络代表着必然的历史趋势?