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

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

 
阅读更多

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

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

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

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

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

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

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

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

分享到:
评论

相关推荐

    使用 Notion AI 学习一门新语言

    无论你是为了工作、重要的其他人还是娱乐(或三者),学习一门新语言都需要大量的投入。为了最大化你的体验并更快地达到更高的熟练程度,将所有内容组织在一个地方是一个好主意。 Notion 可以说是组织语言学习笔记...

    C++入门到精通(深入C++系列)

    在所有的编程语言中C++可以说是最为复杂的它既是一门传统的编程语言也是...一门新的编程语言是因为在1998 年C++由ISO International Standards Organization 完成了标准化从此C++领域有了统一的标准所有的编译器都将向...

    C++入门到精通

    书籍源代码等等可供我们使用说C++是一门新的编程语言是因为在1998 年C++由ISO International Standards Organization 完成了标准化从此C++领域有了统一的标准所 有的编译器都将向标准靠拢或者说与标准兼容这有利于...

    C++学习资料整理(从入门到专家 分三卷)卷3

    当然这些书只是针对C++这一门语音,如果想在某一平台有效地使用C++,还必须结合相关平台的书,同时学习相关的编程思想和设计模式 ,如OO思想等,这样才能够真正地成为程序设计人员,而仅仅是一个coder。欢迎来email...

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

    C++ 是一门难学易用的语言,作者侯捷深刻阐述了C++的学习过程,并给定一些学习建议

    学习c++的50个忠告

    把C++当成一门新的语言学习,看《Think In c++》不看《C++变成死相》...

    论证是一门学问:如何让你的观点有说服力

    《论证是一门学问:如何让你的观点有说服力》不仅能使您在撰写文章和发表演讲时,清晰而有力地阐明自己的观点,还有助于您形成批判性的思维方式和怀疑精神。无论是进行调查研究、阅读论证类文章,还是赢得听众的信任...

    怎样去学习一门编程语言,总结的很好!

    怎样去学习一门编程语言,总结的很好!

    使用Antlr、C++面向对象、责任链模式、访问者模式、设计一门自己的编程语言Hython.zip

    使用Antlr、C++面向对象、责任链模式、访问者模式、设计一门自己的编程语言Hython.zip使用Antlr、C++面向对象、责任链模式、访问者模式、设计一门自己的编程语言Hython.zip使用Antlr、C++面向对象、责任链模式、访问...

    计算机课程设计:C++、java和Python介绍与学习技巧.docx

    计算机课程设计是计算机科学专业的一门重要课程,涵盖了C++、Java和Python等多种编程语言。这篇文章将为你介绍这三种编程语言的特点和学习技巧。 ## C++ C++是一种面向对象的高级编程语言,具有高效、灵活、可移植...

    Google开源项目风格指南 C++ 4.4.5 (2016) 最新中文版

    C++ 是一门包含大量高级特性的庞大语言. 某些情况下, 我们会限制甚至禁止使用某些特性. 这么做是为了保持代码清爽, 避免这些特性可能导致的各种问题. 指南中列举了这类特性, 并解释为什么这些特性被限制使用. ...

    eC语言: 拥有C++项目的性能和Java的跨平台性以及Python的方便性

    eC,是一位加拿大人jerome历时十二年开发的一门编译型编程语言,拥有C++项目的性能和Java的跨平台性以及Python的方便性。  目前eC拥有自己的IDE,专用的面向对象数据库。  eC的理念是:开发一次,部署在所有平台,...

    深入应用C++11:代码优化与工程级应用

    在StackOverflow的最近一次世界性调查中,C++11在所有的编程语言中排名第二, C++11受到程序员的追捧是毫不意外的,因为它就像C++之父Bjarne Stroustrup说的:它看起来就像一门新的语言。C++11新增加了相当多的现代...

    数据结构.C++语言描述

    数据结构历来都是计算机专业最为核心的一门课程。随着面向对象技术的发展,传统的数据结构课程面临着融入新内容,提升到面向对象数据结构、算法及软件工程的高度的重大挑战。本书开拓性地将C++语言作为数据结构的...

    c++后端开发学习路线

    ​ 我认为c++是一门伟大的语言,他的前身c语言也是一门对整个计算机发展做出了卓越贡献的一门语言,但这也使得c++的历史包袱有点重,他的语言特性较为复杂,是一门不好学的语言。但如果能运用得当,他又是一门开发...

    如何学习一门新语言(针对初学者).pdf

    如何学习一门新语言(针对初学者).pdf

    进行C与C++的编程学习,平时的语法学习,习题代码.rar

    C++是一门系统级语言,有些程序员小伙伴学了很久才明白明白栈与堆、内存管理等的含义。 新手程序员学习C++很容易陷入误区,就是不停地啃书本,结果把自己搞的晕头转向的。 一个类的成员函数包含了重载、覆盖、虚...

    信息学奥赛C++第一章:C++语言入门

    编写一个能够输出“Hello,World!”的程序,这个程序常常作为一个初学者接触一门新的编程语言所写的第一个程序,也经常用来测试开发、编译环境是否能够正常工作。

    c++学习捷径/学习c++比较快速的方法

    1. 无论学习什么语言,先找一本简明教程,趁热学来,迅速掌握。 然后再找一本大全,找一本参考手册,找几个够档次的任务实践, 必能成功。 2. 练习是学习语言的唯一有效途径。 3. 初步掌握一门语言主要内容的...

    C++语言的设计和演化.pdf

    学习一门语言,首先要了解他的发展历史,你才能对它感兴趣。 这本书是C++之父亲自撰写,为我们讲述了C++诞生、发展的一系列故事。从这本书中,我们还可以对C++语言特性更加了解,对C++的设计初衷更加明白,知道某些...

Global site tag (gtag.js) - Google Analytics