文档章节

用哲学的思想来学习C++

 宁哥实战课堂
发布于 2017/05/21 16:26
字数 1356
阅读 9
收藏 0

之前说了C++的重要性,现在就可以来关注另外一个关键话题:如何轻松的学懂它?

两个重点:1是轻松;2是学懂;

用哲学的思想来学习C++

C++的语法细节非常多,很多书上也拘泥于这些纷繁复杂的细节,然后加上本来就有一些不太合理的东西(初学者是不敢怀疑它的问题,如:很容易出现错误的多继承,这在比如PHP中就去掉了,使用接口来优化),使得C++变得扑朔迷离,初学者更是学的云里雾里。

它和C语言的难点不同,C语言的难度在于语法原始,开发起来很不友好,C++的难度在于抽象+不太友好的使用。

这是C++与生俱来固有的特点;

对于重点之一“轻松”,建议灵活的学习,用哲学的思想来学习C++:

用哲学的思想来学习C++

1:辩证唯物主义来看待。

它有好也有不好,不要一遇到看不懂的就怀疑自己的能力,要坚信它之所以要发展,就是因为它之前不够优秀,那就是一个相对论了。你能理解多少就理解多少,能更多理解就更多理解,不要有挫折感。

2:要敢于怀疑它

编程其实没有标准答案,只有更好(这体现在功能实现上和代码质量上的相对论)。如果有矛盾了或者想不通了,那就应该怀疑它,要敢于怀疑它,自己去寻找能解释它的理由,起码能自圆其说的可行性答案,这种答案不限于C++本身,可以是其他编程语言的启发,可以是其他科目的启发,甚至可以是客观世界的认识和道理。

这样学C++就变成了一种自我修炼了,更深刻的认识世界,一举两得,你也就不会过度的纠结于那些苦涩无味的语法细节,比如:引用,比如:多态。通过去懂得客观世界的道理,不但有利于提升你的精神财富,还能轻松理解而学懂。更重要的是:它会变得亲切可爱了,因为它就融在你的日常生活之中。

3:物极必反,不要走极端,需要的是坚韧和坚持

对C++的学习其实就好比打太极拳,你来我往,酷似螺旋上升。它不能一下子打趴你,因为你至少也知道if,else,for这些单词,也算走进了它的世界。但你也不能一下子把它吃完。不要因为某个小问题把自己折磨的死去活来,需要的是经常、反复、坚持。

不要走极端,要俯瞰它,最好做到“一些漫不经心的说话,将我抑或揭开”的境界。巧妙的多角度的去接触它,坚持到底,水滴石穿,持之以恒。久而久之,慢慢的合二为一,你就会看的到它的可爱了。

4:抓西瓜丢芝麻

不要面面俱到,不要把自己训练成百科全书。要有的放矢,要抓重点。C++中的西瓜就是对面向对象编程思想的渊源和发展以及表现形式的理解,至于它的库什么的都只是编程思想的应用而已。对于一个编程认识不够的新人,要善于抛开次要,抓住重点。当你懂了编程思想之后,其他的也就能很快的理解了。

5:去伪存真,通过现象看本质,要敢于说“不会”:

我本科学的是电子,从大一开始就接触编程,硕士的时候也是科班专业,继续接触编程,一直到现在也有十多年了。软硬件都学过。但我现在越来越喜欢说“不会”这个词。因为面对客观的知识,学的越多,你会发现你会越来越渺小,需要学的还有很多很多。

用哲学的思想来学习C++

所以,“不会”二字是很客观的尊重知识的表现。初学的时候不会,是因为真的不会,想要探索进而去入门;深入的时候不会,是因为尊重客观、想要百尺竿头更进一步。中间那种境界的时候是很不喜欢这个词。而这一层是很容易就到了,又很难走出来。所以你有很多的时候在这一层,不敢说是因为没底,但这样会阻碍你巨大的学习潜力,所以要敢于说“不会”。这是让你最真实的展现在客观科技的世界中,因为它客观,所以要你客观,才能融会贯通。

对于重点之二“学懂”,建议开始关注自己的学习心情了,这样才能在编程世界中游刃有余,走的长远。

我本身也不喜欢拿它的纷繁复杂的语法细节来吓晕初学者,因为那样没有任何意义,因为你已经就怕它了。懂,才是硬道理。在我的所有上课中都以它为宗旨。只有这样,一切教学行为才变得有意义。真正的高手不是把简单的东西变复杂,而是把复杂的东西变简单...

© 著作权归作者所有

共有 人打赏支持
粉丝 5
博文 72
码字总数 77184
作品 0
长沙
其他
私信 提问
用哲学的思想来学习C/C++编程

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
06/02
0
0
C语言/C++对编程学习的重要性!

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
06/02
0
0
C语言/C++程序员编程基础学习代码训练

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
03/27
0
0
C++程序设计与数据结构算法视频教程

课程目标:使学员深入了解C++语言,能够熟练使用C++编写程序。通过学习数据结构,能用C++编写出更加灵活,巧妙,健壮的代码。学完全部课程后,学员具备一定的编程思想和编程逻辑,从而对其他...

星辰8209
07/26
0
0
C语言/C++编程学习:不做C/C++工作也要学C/C++的原因!

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你学知识
06/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Apache用户认证,域名跳转

11月15日任务 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志 11.18 Apache用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑......

zgxlinux
44分钟前
1
0
idea 添加 VUE 的语法支持和开发

《一》VUE的开发分两种,一种是直接在HTML文件中使用,一种是VUE文件的形式开发 1,首先我们先让 HTML 文件支持 VUE 的语法指令提示 2,File -> Setting -> Edit -> Inspections -> html 3,...

文文1
今天
2
0
【NLP】【七】fasttext源码解析

【一】关于fasttext fasttext是Facebook开源的一个工具包,用于词向量训练和文本分类。该工具包使用C++11编写,全部使用C++11 STL(这里主要是thread库),不依赖任何第三方库。具体使用方法...

muqiusangyang
今天
3
0
防止Tweak

什么是tweak? 英文意思为捏, 拧,扭,稍稍调整(机器、系统等)。 依据维基百科的定义,tweak指的是对电子系统进行轻微调整来增强其功能的工具;在ios中tweak特指那些能够增强其它可执行程...

HeroHY
今天
3
0
linux中常用标识---不定期更新

LINUX常用标识符: 1 & && | || &: 表示进程在后台运行 例如 redis-server & 不是所有后台运行都是& 比如es ./bin/elasticsearch -d es后台运行&&: 第一个命令执行成功后 才执行后面的命令...

geek土拨鼠
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部