咋说呢?C++它爹写的,总得支持一下_C++程序设计原理与实践书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > C++程序设计原理与实践 > 咋说呢?C++它爹写的,总得支持一下
蔡继民 C++程序设计原理与实践 的书评 发表时间:2010-06-12 18:06:48

咋说呢?C++它爹写的,总得支持一下

这本书已经看完了几个月,一直想写点什么,又不知从何说起。今天看到Linus对C++的一些批评,和这本书结合起来看,还有点意思。(Linus对C++的批评不是偶然的心血来潮,07年的时候就说过“C++ is a horrible language”,这次则说“It's a really bad language, in my opinion. It tries to solve all the wrong problems, and does not tackle the right ones.” )

学习和使用C++的人都有体会,C++难学,难精通,使用起来很复杂,有很多陷阱,稍不留心就可能掉进去。刘未鹏曾经在08年初采访过Bjarne Stroustrup,具体内容见C++之父元旦专访(8+13个问题,关于C++的学习&使用和未来)。在被问到“C++学习起来非常困难,一般要阅读不少于10本书才能使用好,希望您的新书能改变这种情况(注:就是指这本Programming: Principles and Practice Using C++)”,Bjarne Stroustrup很有自信的说,他的这本新书将给“什么是正确的学习C++的方式”提供一个答案,1、2本精心选择的书籍足够让人成为好的C++程序员。

拿到这本书,先是惊讶于它的分量(嗯,超过1200页,我买的是影印版,拿在手里真是累死人),读的时候津津有味,读完又怅然若失、意犹未尽。这本书不是用来教C++编程,而是一本教你如何去编写程序,C++只不过碰巧被选做工具。书里面有很多编程的通用原则、概念和技术,对于初学者,可能不是特别理解这些原则,对于老手,可能又没有太多新意。Bjarne Stroustrup提到这本书的目标读者是刚刚学习编程的人,对于老手来说,也可以从中学到很多东西。但他以前提到的目标“说明什么是正确的学习C++的方式...1、2本书即足够”,应该是没有达到。

只读这本书,显然还无法让你成为优秀的C++开发人员,最多达到合格的程度,我想这可能也是此书出版后并无太大反响的原因。单纯入门的话,这本书应该足够,如果要深入学习C++,我还是推荐下面几本书:

The C++ Programming Language: Special Edition (3rd Edition)
C++ in a Nutshell
Accelerated C++: Practical Programming by Example
C++ Primer (4th Edition)
Essential C++ (C++ In-Depth Series)
.....................................
唉,看起来又是一大堆 :(

--------------------------------------------------------------------------------

Linus最近的言论在http://www.realworldtech.com/forums/index.cfm?action=detail&id=110549&threadid=110549&roomid=2,问题的由来是某人问“Can you use C++ in Linux kernel?”(感觉每过1、2年就会重复这个问题),随便摘录Linus的几句话(Linus有strong opinion,嘴巴很大,口无遮拦。随手摘抄翻译出来的,最好去看原文,):

“C是一门很好的语言,它足够完整,非常有用,同时又很简单” “C make it as simple as you can, but no simpler” “C++里其中一个最糟糕的特性是有太多context-dependent的东西,你查看代码的时候,仅当前的代码片段很难看出是在干什么。当你看到sctp_connect()的时候,你一下子就知道它的含义,但如果只看到connect(),就很难明白, grep -w my_connect一下子就可以了” 注:我自己也反感太多重名的函数,还有什么虚函数之类...

“C很大程度上是context-free的语言,你看到了一个表达式,你就知道它在干什么。一个函数调用只做一件事情,不用去费心去想是在调用它的哪个版本,在做什么事情”

“好的设计应围绕着数据如何流动,如何组织,如何查找,如何与其它数据结合。但OO语言倾向于object最重要,method要和object结合在一起,真是胡说八道”


--------------------------------------------------------------------------------

Bjarne Stroustrup 针对Linus的批评曾经有如下的回答

“Linus Torvald is not C++ programmer, hasn’t (to my knowledge) tried to use C++ for a decade, and then he used a truly crappy C++ compiler (which was so bad that I refused to use it for anything real). More importantly, he works in a highly specialized field: few programmers do kernel hacking – and some do that it in C++.
C isn’t simple: Please explain the rules for conversion from unsigned short to int. Note the need for workarounds for just about any modern or large-program technique.
But yes, it’s a myth, and it damages individuals and organizations that buy into it.”

展开全文
有用 21 无用 3

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“咋说呢?C++它爹写的,总得支持一下”的回应

iCoolSea 2016-08-11 14:24:57

作者自己都说了,目标是成为程序员,不是语言专家。。。

不系之洲 2015-05-18 20:44:04

它抨击的是OO语言,也包括了Java...

2013-05-16 22:32:29

2011-01-14 23:45:18 某用户

Linus Torvalds并不是什么技术大师,跟Richard Stallman、Eric S. Raymond、Bill Gates这些人一样,IT领域的政治人物而已。
=====================================
你太搞笑了吧

某用户 2012-08-24 23:42:43

Linux是什么?就是山寨版的UNIX,照着UNIX的样子重新实现了一遍而已。既然是山寨,当然是把UNIX的实现语言也原样照搬最好,这样山寨才省事嘛。不然的话,用C++,Linus Torvalds们还得动脑子创新。为什么GNU自己的内核一直搞不定,就是因为放弃了山寨之路要搞什么创新,结果被山寨货Linux钻了空子。

明月天山 2012-08-23 15:58:51

之前看过Accelerated C++: Practical Programming by Example, 但是必须看得很慢才行.现在我想看看这本

浮景骏奔 2011-11-20 15:58:26

2011-01-14 23:45:18 某用户
  Linus Torvalds并不是什么技术大师,跟Richard Stallman、Eric S. Raymond、Bill Gates这些人一样,IT领域的政治人物而已。
===================================================
什么是技术大师

某用户 2011-01-14 23:45:18

Linus Torvalds并不是什么技术大师,跟Richard Stallman、Eric S. Raymond、Bill Gates这些人一样,IT领域的政治人物而已。