C ++ learning kaishan-encounter C ++ Renaissance-Why c ++?

Source: Internet
Author: User

1) Why c ++? Because performance per $, that is, performance is money, it is divided into three aspects:



Power supply, chip power consumption, mobile device power consumption, and home computer power consumption are related to money.

Resources, household computers, and mobile devices have limited processor resources, because they need to be purchased by general consumers.

Experience: You can have a better experience on a smaller device, and earn more money if you have a better experience.


2) The evolution of C ++ is divided into three eras:


1979-1989: Study the object capability of C. Mainly preparing for C ++

1989-1999: C ++ became the mainstream.

1999-2009: the coffee-based language (Java,. Net) has emerged, greatly improving the development productivity.


For the third era, we are very concerned about the productivity of development. This is very important. This is why C ++ has lost its advantage. But can these coffee-based languages do anything important? No, most of the time, this is a trade-off thing, that is, productivity is not free, you need to use other things for exchange.

3) Fourth period:



Was the fourth period. Because we liked native code again, C ++ was called back after being evicted. Because of the increasing performance of websites, mobile devices are very popular. But it is mainly because performance is money. Because of the first three factors, performance affects dollar. Companies that do not respect performance will find that the cost is too fast.

This is like what I said in "three major steps of Software Development". What we need to do in the reclamation age is fast and productive, and after the reclamation, we have to ensure its stability.

4) language:



The software world is composed of C and C ++.

5) language field:


If we sum up our requirements for programming languages into four: efficiency, flexibility, abstraction, and productivity. Then, C language plays the first two, C ++ plays the first three, and Java and C # play the last two (abstraction and productivity ).

6) mobile devices:


The first is iOS, the second is Android, and the third is winphone7.

A) native apps are more popular than Web apps.

B) iOS, Android, and winphone7 are good. They are not engaged in operating systems, but in applications, in order to make smart phones better.

C) These three mobile phones do not support C ++ when the first version is released, while C ++ is supported when the second version is released. Because they have to consider both performance and development efficiency to a certain extent. Winphone7 has not yet reached the second version. Let's wait and see. (I used to write an article about Android's support for C ++ development. This is just a year ago. It shows that C ++ has completely returned)

8) If you still don't believe it, Let's see why Apple and Google are working on C ++ compilers, because they think G ++ is not performing well. Therefore, llvm-based compilers are leading the trend because we focus on native code performance optimization.


9) Data Center:


57% is spent on hardware.

18% is spent on distribution and cooling.

13% is spent on power consumption.

88% of the money is spent on hardware and power. This is a huge expense. (Is hardware cheaper than software ?).

10) C ++ can save power.

The father of C ++ said on YouTube that C ++ can alleviate global warming. Wow, C ++ has begun to truly benefit mankind.


"My contribution to the fight against global warming is C ++'s efficiency: just think if Google hadto have twice as your server farms! Each uses as much energy as a small town. And it's not just a factor of two...
Efficiency is not just running fast or running bigger programs, it's also running using less resources ."

11) follow:


In 1970s and 1980s, resources were insufficient, mainly because the money was invested in performance.

From the 1980s s to the 90 s, most of them were shot in abstraction and productivity since 1990s.

In the year 00 s, they were all in abstraction and productivity.

In the 10 s, 80% of the money had to go back and solve performance problems. This is the return of the King of C/C ++.

11) C ++ is committed to completely balancing performance and abstraction.

12) What is the next era?


[Disclaimer:
1) This content may come from the Internet, or I have sorted it out by myself. It only represents the opinions and opinions of the Internet and individuals!
2) This content is for reference only. Any reference to this content will cause any consequences and will be irrelevant to the original author and the author of this blog.]

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.