`
tansitongba
  • 浏览: 503761 次
文章分类
社区版块
存档分类
最新评论

如何自学一门新的语言:由学习C++想到的

 
阅读更多

上半年学了C++.平时我把大部分时间都用在了它上面。除了C++大学教程那本书外我还看了C++ primer。三个月的时间我把它们都看完了。期间做了大量的笔记,每遇到一个疑问我都会在书上标示出来,注明日期。等以后明白了再来回答。自我感觉基础知识还是掌握的挺好的。基本上没有什么知识点遗漏。但是与我付出的时间精力相比我想收获还是有一定差距的。这引发了我一个思考:对于初学者,如何自学一门新的语言,才能保证花最少的时间获得最大的效果?

C++大学教程这本书很不错,介绍的很详细,使用了大量的篇幅引出本节的知识点。C++ primer 根是经典中的经典但是由于知识点太详细涉及到很多的细节。因此对于初学者来说存在一定的难度。所以对于初学者来说选择一本好的入门书籍很重要。我认为“好”,有以下几方面的含义,首先,语言简洁、易于理解。这是第一点,也是最基本的一点。我们无法在一本连基本的语言语句都不通顺的书上花费时间和精力。第二点,内容有条理,循序渐进。第三点,涉及语言的主要特性,不过分强调细节。这也是我认为C++ primer 不太适合初学者的原因。太多的语言细节很容易让初学者被众多的语言细节所拖累,无法很好的去理解语言的特性,结果就会出现看了很长时间却不知道书上到底在说什么的情况。好像什么都是重点,又好像什么都不是。另外对于初学者来说选择一门入门的书就行了,不要同时去看两本书,每本书都有自己的结构、层次,思想。。。与其同时看多本书不如静下心来仔细研究其中的一本。至于那一本则可参照以上几条做出选择。

选择了一本好书,接下来就是学习方法的问题了。对于初学者来说,由于是刚刚入门没有对所学知识有一个全局的把握,很容易陷入云里雾里的情况。一个好的方法就是不要太过注重于语言细节,语言就像一本大树。为了对这棵树有一个全局的把握,我们应该把这棵树的整体情况有一个总的认识,而不应该在树叶上花费太多精力,繁多的树叶琐碎的知识点很容易让人困惑,时间长了就会丧失对语言的学习兴趣。对于语言的认识,与你所处于的高度有很大的关系。初学就像是盲人摸象,让人遐想的空间很大,只知道有这么个东西但具体怎么用却全然不知。等你知道这原来是一头大象之后,再去摸腿的时候你就知道,哦,原来是条腿不是柱子啊!!当然理解起来也更容易。而你认识到他是大象的过程就是对语言有一个全局把握的过程。也就是说你对语言的认识是站在另外一个高度。这也是为什么我多次强调从全局出发的原因。

自学一门语言是困难的,刚开始可能豪情万丈,但是随着学习的深入知识点会越来越难,慢慢的越来越看不懂的时候就会出现厌学的情况。毅力好的可能会坚持下来毅力稍微差点的估计有放弃了。一段时间以后等想起来了又拿起来。循环几次能把书看完就已经很不错了。如何一次能坚持学下去,这是我们讨论的问题。我想学习过程中遇到困难是必然的。尤其是刚开始看的时候。以我的经验,一章内容,在阅读次数少于三次的情况下很难对内容有很好的理解。我所说的阅读是精读,逐字逐句,不漏过任何一个知识点。在这里向大家推荐我的一种学习方法,将遇到的每一个问题标记出来,注明日期。这问题也可以是自己突发奇想说,这样可以,如果那样的话可不可以呢。即使是非常小的问题都要标出。等自己看过觉得明白了再回来回答,并注明回答的日期。事实证明这种方法是很有效的,使我不会漏过任何一个知识点。刚开始第一遍看完不知所云,然后再看第二遍,稍微理解了一点儿。等第三遍的时候前边遇到的问题大部分都可以解答了。至于没有解决的也不用管他,随着学习的深入,等下再次来看的时候估计就有了答案。因为我们前面就强调过初学不要太深究语言细节。如果内容很生涩不容易理解以至于阅读了三遍以上还没有明白就可以跳过了。或许后面的内容会帮助你对这些内容的理解。因为很多的知识点的关系是网状的,一个知识点可能会与其他很多的内容有着细枝末节的联系,遇到这样的内容跳过即可。或许在看完后面的几章内容的时候你会发现原来的难点是那么的容易。

光看书是不够的,要加深理解就要实践。对于书中的代码要亲自敲一遍。不要以为内容明白了就好了,这个时候还存在很大的问题。或许隐藏在代码里也存在很多问题正是你在看书的时候所遗漏的。多写代码的好处我就不多说了。对于新手看书然后写书上的代码是很好的学习方法。比看完一本再看另一本却没有任何实践强很多。当对一本书或一门语言有了一个全局的认识之后,后面的任务就是查漏补缺,看看自己在那方面还有所欠缺,然后一针对性的复习下。之后学习的过程就是查漏补缺和实践。使对语言的认识慢慢的一点一点更上一个台阶。当你犯过所有的错误并解决所有的问题之后,你就可以自豪的说我是这方面专家了。

本文只是经验之谈,请广大读者本着拿来主义的精神阅读。如对您有哪怕一丁点儿帮助,本人深感欣慰。

各种知识的学习方法都是相通的,本文所阐述的一些方法对其他方面也是适用的。

文章如有错误与不足,请您不吝赐教!谢谢。

分享到:
评论

相关推荐

    学习c++的50条忠告(初学者必看).pdf

    1. 把 C++ 当成一门新的语言学习(和 C 没啥关系!真的。):学习 C++ 需要从基础开始,不能把 C++ 看作是 C 的扩展。 2. 看《Thinking In C++》,不要看《C++ 变成死相》:学习 C++ 需要选择合适的学习资源,...

    学习c++的50忠告—清华学生学习c++的感悟

    把C++当成一门新的语言学习 - **理解**:虽然C++是从C语言发展而来的,但两者在语法、设计理念等方面存在诸多差异。因此,学习C++时应将其视为一门全新的语言。 - **建议**:不要带着C语言的思维习惯去学习C++,...

    自学 C++ 入门 书籍

    #### 核心知识点四:C++编程实践 本书内容涵盖了C++编程的基本语法、数据类型、控制结构、函数、数组、指针、字符串处理、文件操作、异常处理、类和对象、继承与多态等核心主题。通过理论讲解与实例代码相结合的...

    C++程序设计语言

    C++程序设计语言是计算机科学领域中一门至关重要的编程语言,尤其在系统软件、游戏开发、金融服务和高性能计算等领域有着广泛的应用。C++基于C语言发展而来,它引入了类、模板、异常处理等面向对象的特性,并进一步...

    C++ Solutions: companion to C++ programming language

    本文档是《C++ Solutions: companion to C++ programming language》一书的部分内容,该书为C++编程语言的学习提供了习题解答。作者为David Vandevoorde,它是《The C++ programming language》的配套辅导书,本书的...

    《C++语言程序设计》课件,自学好资料啊

    《C++语言程序设计》是一门深度探讨C++编程语言的课程,对于计算机科学和软件工程领域的学习者来说,这是一份极其宝贵的自学资源。C++是一种通用的、面向对象的编程语言,由Bjarne Stroustrup在C语言的基础上发展而...

    学习心得--C++学习经典

    10. **持续学习与个人发展**:C++是一门不断发展的语言,持续学习新的标准、最佳实践和技术趋势是保持竞争力的关键。同时,关注个人职业规划,将所学应用于实际工作或项目中,以实现个人成长。 11. **深入阅读与...

    c++c++c++c++c++c++c++

    10. **C++11及其后续版本**:C++11引入了许多新特性,如lambda表达式、右值引用、自动类型推导、统一的初始化等,C++14和C++17继续扩展了这些特性,如变长参数模板、constexpr等,提升了C++的现代性和效率。...

    50条重要的C++学习建议(绝对值得一读)

    1.把 C++当成一门新的语言学习(和 C 没啥关系!真的):这条建议强调了 C++是一门独立的语言,不应该被视为 C 的延伸。学习 C++需要从头开始,不应该假设 C 的知识可以直接应用于 C++。 2.看《Thinking In C++》,...

    C++ 是一门难学易用的语言

    C++作为一门功能强大且灵活的语言,在其复杂性和学习曲线方面颇具挑战性。根据侯捷先生的观点,C++之所以难以掌握,主要体现在以下几个方面: 1. **语法的广度**:C++的语法非常广泛,涉及多种不同的概念和技术。 2...

    学习c++的50条忠告

    - **持续学习与更新**:C++语言在不断发展,新的特性和标准不断被引入,保持学习的热情非常重要。 - **不要盲目跟风**:选择适合自己的学习路径,而不是盲目追随别人的选择。 - **阅读源码**:阅读优秀的开源项目...

    全国高等教育自学考试C++程序设计历年真题及答案

    《全国高等教育自学考试C++程序设计历年真题及答案》是一个专门为参加自考本科C++程序设计科目的考生准备的学习资料。这份压缩包文件包含了两部分核心内容:历年真题和对应答案,对于备考者来说是极其宝贵的复习资源...

    计算机专业基础理论电子书合集05----编程语言:c++

    计算机专业基础理论是每个IT从业者不可或缺的知识体系,而C++作为一门强大且广泛应用的编程语言,对于理解计算机底层原理和高效编程至关重要。本合集主要关注C++编程语言的学习资源,其中包含了多本经典著作,旨在...

    学习c++的50个忠告

    - **解读**:C++是一种全新的语言,它不仅仅是对C语言的简单扩展,而是在语法和概念上进行了大量的创新和发展。 #### 29. 请不要认为学过XX语言再改学C++会有什么问题 - **解读**:之前的学习经历可以帮助更快地...

    C++语言学习

    在学习C++的过程中,推荐的书籍之一是由Bjarne Stroustrup博士所著的《The C++ Programming Language》,这是学习C++语言的经典之作,详细介绍了C++的各个方面,包括语言特性和标准库的使用。此外,随着C++11标准的...

    C++学习指南-这篇文章真是太经典了

    1. 学习C++需要摆脱C的影响,作为一门新的语言来学习。 2. 《Thinking In C++》、《The C++ Programming Language》和《Inside The C++ Object Model》是学习C++的必读书籍。 3. 不要被集成开发环境迷惑,需要学习...

    从新手到高手:C++全方位学习视频学习

    总的来说,《从新手到高手:C++全方位学习视频学习》课程为C++初学者提供了一条清晰的学习路径。无论你是编程新手还是希望提高技能的中级开发者,这套教程都能为你提供丰富、系统且易于理解的学习资源。通过系统学习...

    C++资料:高质量C++C编程指南 C++设计模式 C++标准程序库

    C++作为一门集强类型、面向对象、泛型编程于一身的编程语言,其在软件工程领域的地位举足轻重。在构建高质量的软件时,掌握C++的设计模式和标准库无疑成为了软件开发者的必备技能。为了帮助大家更好地学习和使用C++...

    C++语言程序设计 清华大学 郑 莉

    《C++语言程序设计》是清华大学郑莉教授主讲的一门课程,主要涵盖了C++编程的基础知识、面向对象编程的概念以及程序开发的整个流程。在深入学习这门课程时,我们将探讨以下几个重要的知识点: 1. **计算机程序设计...

    高级语言程序设计C++

    C++作为一门高级语言,它的设计理念是“一次编写,到处运行”。它不仅提供了丰富的控制结构,如循环和条件语句,还引入了类和对象的概念,实现了数据封装、继承和多态,这使得C++在构建复杂系统时具有极高的灵活性和...

Global site tag (gtag.js) - Google Analytics