初读 《c++程序设计语言特别版》 2 体味c++的哲理与学习方法

1.通用型算法理念的矛盾

       一向推崇强类型检查,极力否定使用强制类型转换,一切为“类”侍从的c++世界里竟然有通用型设计这种忽视“类型”的设计思想滋生的土壤,咋一看让人觉得匪夷所思。仔细一看却并不矛盾,为什么?因为c++的类是立体的,全方位的。尽量做到使用户定义类型与内部类型相一致,而并不是真的让用户去定义单一的类似内部类型的类(如int),要发挥c++的威力就要去定义一整套立体的类,来描述这个世界,寻找事物的共性去定义父类,寻找事物的特性去定义子类,将共性抽象到一定程度做成抽象类。。。。抽象。。抽象类正是在这个层次通用型算法的理念与c++的传统理念达到了逻辑上的共鸣,通用型算法虽然忽视当前某个变量的具体类型,但却在强调这些全部当前变量组合起来所抽象出的抽象形式(容器类型),也就是说在高层上实现了逻辑的强类型,而这也正是通用型算法理念的根基,所以这与c++传统理念相辅相成并不矛盾。也许这就是人们常说的“手中无剑心中有剑”的境界吧~~

2.知其所以然胜过知其然

      看完一段代码,抠出其中语言特征,正准备沾沾自喜的时候,却看到下面写着这样话:代码写成这样就糟透了或者真是个烂泥潭之类,才猛然惊醒:嗯? 上面的代码怎么了?然后似懂非懂的看着作者讲述这样做的逻辑弊端以及改进它所可能引进的这样那样的技术。。。。。。我想这就是传统教育制度遗留下来学习习惯的弊端吧,思想总是冲动的率先抓住“可得”的语言细节,语法描述不放,而完全没有重视这样做的逻辑和意义,也许在学校的考卷中这样的言语细节也是出题的重点吧(因为它最好出题。。。),知其然不知其所以然。在作者多次强调请特别关注语言的自然风格,关注程序设计技术而不是言语的细节后,我才渐渐有点注意宏观上的东西,确实现在世界变化这么快,技术进步一日千里,各种语言细节可能随时改变,甚至新的语言随时不断地迸发出来,也许学习一门编程语言只有做到“知其所以然”才能真正的有所得吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值