[Book reviews] Ridicule "C ++ Primer" (First Draft)

Source: Internet
Author: User

The passing C ++ experts don't need to read it. What I write is not suitable for you.
Younger brother, I recently completed "C ++ Primer" in a month due to the pressure of scientific research. It is purely a dog's taste. I read 30 pages a day and 900 pages in 30 days. However, I did not take a closer look at it in many places. On the one hand, I was impatient with myself. On the other hand, the writing style of this book is not suitable for quick reading. I have been developing C for many years, and I have tried both C ++ and Java. But I have not mastered it because it is not a work requirement, but I still have some understanding of OOD. Therefore, reading "C ++ Primer" this time can be regarded as an entry or not. The above is my basic situation. If you have a similar base, continue to look at it.

In fact, this book still covers a wide range of content. After reading this book, I felt that I could not summarize my experiences. Therefore, I want to summarize my feelings in a number of sub-scopes, to avoid being overwhelmed by bricks, I will be partial. The general content includes:

  • Writing Style
  • Appropriate reader levels
  • Practicality
  • Summary
    This is what I can think of now, if there are other things I want to add.

    I was so angry yesterday that I was almost finished writing it. As a result, my notebook was lost and I had to write it again today)

    Writing Style
    I personally think that the writing style of "C ++ Primer" is teaching notes. When you go to school, do you always feel that you can't keep up with your notes or the lectures given by your teacher after a while. C ++ Primer also gives people this feeling. The overall feeling of this book is written by the author in one breath. Although it is divided into independent chapters, the content and examples are continuous, the idea is like the cloud flow. This is a characteristic and a disadvantage. The disadvantage is that, as a beginner, it is difficult for readers to grasp such a large volume of traffic through self-study. In addition, to grasp the description of an abstract data structure, such as List), the reader must put hundreds of pages of content throughout the past few days, which is not easy. It would be appropriate for a C ++ teacher to take this book as a lecture. If the teacher is fully familiar with the idea of this book, the students will certainly be able to listen to it. Of course, the students must have a certain foundation ).

    Adaptive reader level
    C ++ Primer is definitely not a C ++ textbook suitable for beginners. This is the consensus of many people. Even Lao Pan, the translator of this book, said similar points in the preface. From this point, we can see the conflicting mentality of the author writing this book, that is, he wants to write a C ++ introductory book, which can be seen from the Primer in the name of this book ), I also hope to write a practical book, but I wrote the result as a teaching note ).
    Return to the topic. Why is this book not suitable for beginners? There are two reasons:
    1. The author gave up the basic C ++ syntax introduction.
    2. The examples used by the author are too abstract and systematic.
    3. The authors describe more practical language details than the overall description.

    In terms of syntax introduction, Stanley has almost no idea about the layout, including data types and logical descriptions. It can be seen that this Daniel really does not want to spend too much effort on the basic syntax. On the contrary, he has spent a lot of time introducing the type conversion in the syntax, I have explained almost all possible conversions. I have also paid a lot of pen and ink to introduce the design ideas in the conversion rules. I can see that he has made great efforts in C ++ language design. However, these are often the most troublesome for beginners. Ideological things should often be placed on the basis of the introduction of overall syntax and semantics. Otherwise, I will talk about it directly. I think it is not advisable to scare most people away.

    The second is the example in the book. The entire book is basically an example-driven case-driven ). With this method, you can directly understand and accept the design ideas of the C ++ language. The examples in the book are all different. But for the publisher, it is estimated that there is no such thing as a doorman. The examples in this book are basically centered on a word statistical program and an introduction to abstract data structures. I remember the beginning of this article is about list abstraction. It involves a lot of discussions about how to design and how to design the List type. As a reader who frequently accesses C ++ development, these ideological things are very valuable. However, for beginners, there is a lack of intuitive understanding of the List abstract data structure. It is not easy to follow the author's ideas. I did C Development myself and often wrote some abstract data structure implementations. So I think the author's example is very helpful, but later I also feel very painful, because the introduction to the abstract paradigm has gone beyond my understanding of practicality, it is too difficult for the author to digest these examples. In addition, the scale of these examples is too large, and it is difficult for readers to compile and implement them by themselves. Unless they are especially passionate about learning, I am not here.

    The last aspect is that the focus of the book discussion is not suitable for beginners. After reading this article, the author focuses on the design idea of the C ++ Language and Its Practical Influence in the use of language. To put it bluntly, it is "What are the principles of C ++ I designed" and "what do I need to pay attention to in practice and what are potential errors ". These things are like martial arts techniques, pullers, and so on-not talking about specific tricks, but just talking about the essentials. I don't think these are the content of the first lesson of newest and Shang.

    So what kind of readers are suitable for reading this book? I think it is suitable for those who have accumulated some practical experience in C ++ and those who want to step into the ranks of so-called masters from beginners. With a certain language foundation, we can understand some empirical and practical explanatory texts in the book and understand the painstaking efforts of Old stanley. These ideological things are also the difference between C ++ beginners and programmers who can really master the language.

    Practicality
    As mentioned above. If you think of this book as an entry-level learning material, it is not practical. If it is used as a CASE tool, the writing style of this book cannot be found in a few minutes, because all the things have been welded by Old stanley into his writing ideas-can you pull out a piece of sugar in a cup of sugar water? If you use this book as a teaching material, it is a little practical value. If you have enough skill, it may indeed cause a great damage to the students sitting below. If you take this book as a leisure time, it is quite appropriate for you to read it and let people have a feeling of communicating ideas with the author.

    Summary:
    In general, "C ++ Primer" can start with the word "classic. I can learn a lot from this book. On the one hand, the deficiency lies in the contradiction between the author's writing of the book, which makes it difficult and unfriendly to read, and requires the reader to have patience. The classic content, unfriendly expression, is estimated to be a more objective evaluation of this book.

    Thanks for the Ziguang input method. I started out to use the micro-soft input method, and my fingers were full of cramps. In the end, I couldn't bear it anymore. I had to switch back to the Ziguang input method, which was much more comfortable.
  • This article is from the Nathan technical space blog, please be sure to keep this source http://nathanxu.blog.51cto.com/50836/56639

    Related Article

    Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.