I think the author's "Death of C ++ language" does not mean "disappear", but "exit the stage" or "no longer scenery. We should not make a thorough analysis from the technical point of view, but from the perspective of the law of development of things. In fact, this is indeed the case.
The development history of C ++ language is: ALGOL60-> CPL-> BCPL-> B-> C. In this development chain, "ease of operation of hardware" is the main driving force. It can be understood that in the era when operating systems were just around the corner, dealing with hardware directly was a very important factor for the success of a language.
It is undeniable that C does have some advantages in this regard. It is better to understand than assembly, and it is very convenient to program hardware. I have been in contact with the C ++ language for 90 years. I have been a computer undergraduate at Northeastern University. I was assigned a factory as a salesman because of the 89 student tide, I have been reading Yueyang No. 1 school in Hunan and invited him to teach us computers. "C ++ is currently the best language in the world, and I think it is" best to use.
"Best use" refers to the development of IT to the current time, no longer the PC era, but the browser era at least has this clear direction for the current programming environment and programming needs ). The development of the software industry is just like the development of Human industry. It has reached the era of large-scale automated production. How many people are writing Web applications in C ++ language? The C ++ language is like a knife. It seems simple, but powerful. It can be used to export any form of mold you need, but in addition to the tens of millions of cars like Rolls-Royce, who else will use a knife to create a car? If the world is still in the Age of manual operation, can industry develop to the present level? Who will use the knife to produce industrial products today, which has evolved to the present?
Actually, there are some cutting-edge tools that will not disappear for a long time as one of the human production tools. Just like the C ++ language, the C ++ language is still useful, however, C has few advantages and must meet the following requirements: customization, high development cost budget, and high product sales to reduce the average software development cost for each product ). With a finger twisting, C's best place to play is embedded.
Let's take a look at the bridgehead of the embedded C. For embedded systems, the cost is nothing more than the average hardware cost and the overall software development cost. At present, these two aspects are contradictory. If you use a platform such as j2-or Windwos CE for development, the software development cost will be greatly reduced due to the lower threshold of employment, and the development efficiency will be improved quickly, however, a high requirement on the performance of the chip greatly increases the hardware cost. This chip is a waste of use in current microwave ovens, washing machines, and other electrical appliances;
- Easy to develop C ++
- Clever coding of VC ++ 6.0
- More efficient C ++ Optimization
- Build a C ++ Development Environment Analysis
- Study C ++ language summary notes
The second approach, of course, is to reduce the cost of the chip, but the programming of the chip is more demanding. JVM, CLR and other things obviously cannot be moved, and they can only be written from the hardware driver, the hardware cost is greatly reduced, but the development cost is improved. As far as the current relatively cheap Chinese talent market is concerned, many developers will choose the second solution, so the C ++ language remains the leading leader in this field. However, this is temporary. The speed of hardware development cannot be described by the rapid development. When the hardware cost is low enough, do you use JVM, CLR, or C?
Another major function of the C ++ language is the "teaching language", which is good. I am currently engaged in teaching. The C ++ language is a Class I often teach. It is really good, it not only enables beginners to develop a rigorous thinking, but also understands the syntax essence of other programming languages by learning the needle finger.
But I personally think that Java or C # should also be a good teaching language. These two languages are more complicated than C, which is a disadvantage of being a teaching language, but the biggest advantage is that it is completely OOP, while C is process-oriented. In this OO age, programmers who use C as a beginner often need several years to switch their thinking to OO. I feel that the C ++ language cannot be changed or changed for a long time, but the number of hours should be reduced, the Java or C # language should be used as a subsequent Required Course for the C ++ language.