技术开发 频道

集思广益:让我喜让我忧的C++学习之路

        【IT168 评论】由ChinaUnix论坛发起的关于“让我欢喜让我忧——我的C++之路”主题的讨论正在如火如荼的展开。本次讨论的话题为:

  1. 为毛现在的C++教科书都那么枯燥无味?

  2. C++中的类这个概念很抽象,请各位说说自己是如何理解运用这个概念的?

  3. 听工作过的哥们说STL是C++中很重要的一部分,可是那本《STL源码分析》我看也看不懂,我该怎么办啊?

  邀请的嘉宾为陈良乔。他是一名程序员、自由撰稿人,《我的第一本C++书》作者。讨论时间为2012.3.28——2012.4.11。最积极参与话题讨论的用户,将获得华中科技大学出版社赞助的《我的第一本C++书》图书一本,共5本。

  C++世界是美丽的,接近于C语言的性能,成熟的面向对象的机制,标准模板库等等,而C++世界又是非常危险的,指针带来的复杂的内存管理,面向对象的复杂机制,标准模板库的灵活使用。我们看一下各位程序员是如何游历C++的世界的?

  针对“为毛现在的C++教科书都那么枯燥无味?”的问题,网友_Rayx表示,“要说C++书枯燥应该也是相对的,如果喜欢C++的,看起来还是不错的,不过学习就是一个枯燥的过程,要耐得下心来才行。相对于其它技术来说,C++主要是看不到成果,会让人泄气,看看html,过一段时间能写个漂亮的页面,再学学数据库,JSP,动态页面就出来了,再深入一步学学SSH框架,基本的小网站就难不到你了,而C++呢?光了解C++就是一个漫长的过程,再学习什么?Qt?MFC?做个简单的桌面应用程序?或者学学Socket编程,通通信什么的,就说把unix网络编程那本书看完就得花不少时间吧?这些都需要很多基础。漫长的等待才导致更多的人放弃。”

  面对同一个问题“为毛现在的C++教科书都那么枯燥无味?”,一名称为光速的网友给出的解释则显得一针见血。他表示,“为什么现在的C++枯燥乏味,不光是C++,还有其他编程书籍同样枯燥乏味;原因很简单,就是没有抓住读者的心;第一,作者不知道读者想的是什么,要的是什么。只是按照自己的想法去出书,所出的书要么程序化,僵硬化,呆板化;看看市场上语言类书籍,大部分就是先介绍编程工具的菜单,然后介绍菜单中的内容,该内容是做什么的,然后作者就不往下介绍了,为什么?因为作者没法往下介绍了,自己把自己引向了死胡同;类似这样的书籍无非就是骗一些刚入门级的用户;其次就是浪费社会资源;第二,利益心太强,有些人出书为了出名、有些人出书为了评职称;目的不同,大家想想,能有什么好的作品问世?第三,我再谈谈网络上的一些编程类的视频教程,简直是鱼目混杂,大部分商业性太强;恨不得一步登天,其实说实话,你要是真的好好出一些能抓住读者想要的书籍或者想看的视频教学,不愁赚不到RMB;当然,这跟现在这个社会的大环境有关系;但我认为还是有许多兢兢业业的优秀技术人员能够出一些好的作品,来奉献给读者;”

 

${PageNumber}

 针对C++中的类概念的理解,网友_Rayx表示,“其实有C语言和Java的基础,C++还是好理解的。要说难理解,就数指针了吧,什么“指向常量的常量指针”,“指向非常量的非常量指针”,“指向非常量的常量指针”,"指向常量的非常量指针“,确实让初学者心生畏惧。至于面向对象那一块,就看个人的能力了,就好像有人三维立体感比较好,有人平衡感能力强一样,你的抽象能力也可能是天生的,当然后天的训练也很重要。初略来说“类就是一个物体,它的属性就是特征”,如果这个物体是由其它物体组装(Composite)起来的,那么其它物体也可以是一个类,.......无限循环下去,人就晕了。反正就是抽象到你认为那个物体可以不称为物体为止。”

  《我的第一本C++书》作者陈良乔补充说,“关于“反正就是抽象到你认为那个物体可以不称为物体为止。”这其实是一个抽象粒度的问题,不同的应用场景往往有不同的要求”。

  网友huxk对于C++类概念的理解,显得耐人寻味:一是一切,一切是一。

  针对第三个问题,网友_Rayx也是积极建言献策“听工作过的哥们说STL是C++中很重要的一部分,可是那本《STL源码分析》我看也看不懂,我该怎么办啊?STL确实是个好东西,要看懂也不是很简单的事,你对C++泛型了解多少呢?你对算法了解多少呢?容易一点的list, queue,难一点的set,map如果是用Red-Black Tree实现的,你会用这种结构吗?而且STL里各种__,足够让人头疼的了。所以STL源码看不懂不要紧,但要会用,要了解细节,但不是一定要把源代码全部搞懂,除非时间多或者是工作需要。”

  论坛参与讨论的绝大数网友均为资深C++程序员,他们从不同的角度来理解与看待C++语言相关的编程机制,并与Java等其它技术做横向对比。此外,还谈到微软Visual Studio对于C++初学者编程的利与弊。最后,《我的第一本C++书》作者陈良乔一一回答了网友对该书的一些疑问与评论,加深了彼此的了解,活跃了ChinaUnix社区的气氛,提高了大家对C++的认识与理解,总体而言,这是一次非常不错的C++社区话题大讨论。更多详情,请参考http://bbs.chinaunix.net/thread-3692320-1-1.html

0
相关文章