Home | Favorite | Sitemap | search
  • 成功栏目导航
  • 成功教育学
  • 成功创业者
  • 成功投资者
  • 成功管理学
  • 成功心理学
  • 领袖栏目导航
  • CEO
  • CFO
  • CIO
  • CTO
  • CKO
  • CHO
  • CMO
  • CNO
  • CQO
  • CBO
  • CCO
  • CVO
  您现在的位置: 成功领袖网 >> 首席技术官CTO >> 成长手册 >> 文章正文
你应当如何学习C++以及编程

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

为什么会存在这么多错误认识?原因主要有三个,一是C++语言的细节太多。二是一些著名的C++书籍总在(不管有意还是无意)暗示语言细节的重要性和有趣。三是现代C++库的开发哲学必须用到一些犄角旮旯的语言细节(但注意,是库设计,不是日常编程)。这些共同塑造了C++社群的整体心态和哲学。

单是第一条还未必能够成气候,其它语言的细节也不少(尽管比起C++起来还是小巫见大巫),就拿javascript来说,作用域规则,名字查找,closure,for/in,这些都是细节,而且其中还有违反直觉的。但许多动态语言的程序员的理念我猜大约是学到哪用到哪罢。但C++就不一样了,学C++之人有一种类似于被暗示的潜在心态,就是一定要先把语言核心基本上吃透了才能下手写出漂亮的程序。这首先就错了。这个意识形成的原因在第二点,C++书籍。市面上的C++书籍不计其数,但有一个共同的缺点,就是讲语言细节的书太多——《C++ gotchas》,《Effective C++》,《More Effective C++》,但无可厚非的是,C++是这样一门语言:要拿它满足现代编程理念的需求,尤其是C++库开发的需求,还必须得关注语言细节,乃至于在C++中利用语言细节已经成了一门学问。比如C++模板在设计之初根本没有想到模板元编程这回事,更没想到C++模板系统是图灵完备的,这也就导致了《Modern C++ Design》和《C++ Template Metaprogramming》的惊世骇俗。这些技术的出现为什么惊世骇俗,打个比方,就好比是一块大家都认为已经熟悉无比,再无秘密可言的土地上,突然某天有人挖到原来地下还蕴藏着最丰富的石油。在这之前的C++虽然也有一些细节,但也还算容易掌握,那可是C++程序员们的happy old times,因为C++的一切都一览无余,everything is figured out。然而《Modern C++ Design》的出世告诉人们,“瞧,还有多少细节你们没有掌握啊。”于是C++程序员们久违的激情被重燃起来,奋不顾身的踏入细节的沼泽中。尤其是,模板编程将C++的细节进一步挖掘到了极致——我们干嘛关心涉及类对象的隐式转换的优先级高低?看看boost::is_base_of就可以知道有多诡异了。但最大的问题还在于,对于这些细节的关注还真有它合适的理由:我们要开发现代模板库,要开发active library,就必须动用模板编程技术,要动用模板编程技术,就必须利用语言的犄角旮旯,enable_if,type_traits,甚至连早就古井无波的C宏也在乱世中重生,看看boost::preprocessor有多诡异就知道了,连C宏的图灵完备性(预编译期的)都被挖掘出来了。为什么要做这些?好玩?标榜?都不是,开发库的实际需求。但这也正是最大的悲哀了。在boost里面因实际需求而动用语言细节最终居然能神奇的完成任务的最好教材就是boost::foreach,这个小设施对语言细节的发掘达到了惊天地泣鬼神的地步,不信你先试着自己去看看它的源代码,再看看作者介绍它的文章吧。而boost::typeof也不甘其后——C++语言里面有太多被“发现

[1] [2] 下一页

  • 上一篇文章: 最牛的人和最牛的公司:人才在微软的成长
  • 下一篇文章: 陈皓谈程序员的升级:职业规划就像软件工程
  • 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】
    【网友评论】
    千奇百怪的提示信息 一起来开…
    探访盖茨基金会总部
    阿里巴巴卫哲:并非传奇
    十种点击率最高的博客
    • 【郑重声明】
    • 免责声明:成功领袖网登载此文出于传递信息之目的,绝不意味着成功领袖网赞同其观点或证实其描述。以上内容仅供网友学 习与交流,无意侵犯版权。如有侵犯您的利益,请告知。我们将尽快删除。
    基本信息
    • 作者:佚名
    • 来源:刘未鹏
    • 阅读:
    • 时间:2007-7-12

    相关信息
    • Google工程师教你应对面试

    点击排行
    • 普通文章 阿里巴巴卫哲:并非传奇
      普通文章 总监日记:从技术高手到CTO的跨…
      普通文章 联想总监如何走出“联想”(三…
      普通文章 陈超仁说自己的CTO成长史
      普通文章 阿里进行组织调整 分拆成BC两大…
      普通文章 谁才是最伟大的慈善家
      普通文章 加菲猫的叫声会把网络语言扶正…
      普通文章 十种点击率最高的博客
      普通文章 让“疯子”来得更多一些吧
      普通文章 赚钱能力测试:测试你的赚钱能…
      普通文章 Google地球让人欢喜让人忧
      普通文章 美国近六成手机玩家是女性
    评论排行
    • 推荐文章 揭秘网语出生,破译网言密电码
      推荐文章 男人上网都干些什么?
      推荐文章 新世界集团高层称软件董事长涉…
    关于我们 | 联系方式 | 合作伙伴 | 友情链接 | 站点地图 | 网站大事记 | 留言反馈 | 老网站
    为了使本网站能够得到更好的浏览效果,请您使用IE6.0或以上版本浏览 (For better browsing effect,Recommend to use IE6.0 or above)
    版权所有 成功领袖网 www.21cbpc.com 最佳分辨率 1024×768 E-mail:21cbpc@gmail.com 灵意设计全程网络策划 备案序号:粤ICP备05135149号