文档章节

用哲学的思想来学习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程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

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

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

小辰带你看世界
2018/06/02
0
0
四年后,我在那里,将会怎样

一下午又过去了。看书的日子总是过得那么快。但并不是所有的书都能让我能静下心来细细品味,windows核心编程算是其中的一本。两个多月了断断续续的看了大半部分,对书的结构有了清晰的认识,...

长平狐
2012/10/08
47
0
你应当如何学习C++(以及编程)

Javascript是世界上最受误解的语言,其实C++何尝不是。坊间流传的错误的C++学习方法一抓就是一大把。我自己在学习C++的过程中也走了许多弯路,浪费了不少时间。 为什么会存在这么多错误认识?...

长平狐
2013/01/06
116
0
一种新的免费开源通用软件平台

该平台是免费开源的(源码下载地址http://t.cn/zW0J6lj),使用该框架开发的程序可以不加修改的运行在Windows和Linux 以及Symbian等系统上。该软件使用C++编写,使用面向对象的开发方法,用...

nj_jeff
2012/09/03
1K
16

没有更多内容

加载失败,请刷新页面

加载更多

阿里云vpc、快照、镜像、重置密码_重启_关机、磁盘扩容

VPC 专有网络VPC(Virtual Private Cloud)是用户基于阿里云创建的自定义私有网络, 不同的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创建和管理云产品实例,比如ECS、负载均...

李超小牛子
22分钟前
1
0
阿里高级技术专家:研发效能的追求永无止境

背景 大约在5年前,也就是2013年我刚加入阿里的时候,那个时候 DevOps 的风刚吹起来没多久,有家公司宣称能够一天发布几十上百次,这意味着相比传统软件公司几周一次的发布来说,他们响应商业...

阿里云官方博客
50分钟前
1
0
Android 的 ViewModel 机制源码解析

Android ViewModel 的好处是会随 Activity 销毁调用它的 clear() 方法。 我们分析一下它是怎么做到的。 1. 例子使用: a、 创建类 TestMvvmViewModel 继承 ViewModel,重写 onCleared() ,把...

亭子happy
今天
2
0
WEB 开发总结

事务处理 事务的4个基本特征 1.Atomic(原子性),事务中包含的操作被看做是一个整体的业务单元,这个业务单元中的操作要么全部成功,要么全部失败,不会出现部分成功,部分失败的场景。 2....

北漂的我
今天
3
0
thinkphp5 利用七牛云 将amr格式语音文件转为mp3

$card_id 是我的本地的文件 将问价名字的后缀名去掉注意access_token的有效期public function ceshi1($card_id){ $mediaid = substr($card_id, 0, -4); $accessKey = ...

小小小壮
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部