この記事は、非常に興味深いスコットマイヤーズのレポートを、レポート全体で70分は持っていないが、要点は7分持っている人向けに簡潔に語ったものです。C ++で書かず、この言語についてのみ聞いている人の中には、「なぜC ++で書かれているのですか?」 しかし、毎日C ++を使用する人々がいます。これらの人々は、「しかし、本当に、なぜこの言語で書いているのですか?」
しかし、実際には、人々がC ++プログラムを作成する理由がいくつかあるに違いありません。 C ++標準化が行われていた90年代前半に戻りましょう。 多くのアイデアが提案されました。 非常に多くの提案があり、それらは非常に異なっていたので、標準化委員会で働いたジム・ウォルドからの引用を思い出します。 そうすれば、だれも2つ以上のアイデアを提供することはできず、彼はこれら2つの選択に信じられないほど責任を持ってアプローチします。」
すべての提案を受け入れた結果として得られた言語は複雑すぎることがわかり、ビョルン・ストラウストルプは「花瓶を覚えていますか?」と言いました。 スウェーデンの人々を除いて、それが何であるかを理解している人はいませんでした。
花瓶は1625年にスウェーデンで建造された巨大な軍艦でした。 船の建造の基本原則は、「なぜこのような機能をここに追加しないのですか?」 アイデアの多くは直接王からのもので、特に彼は船のサイズを個人的に承認しました。 また、上記の指示に従って、膨大な数の装飾要素、彫刻、多数の銃などを取り付ける必要がありました。 しかし、あなたは王を拒否しません。 結果は論理的でした-設計ミスのため、Vazは最初の航海で沈没し、ほとんど湾を出ませんでした。
C ++を見てみましょう。 機能が「ロードされた」ものですか? 一見-間違いなく:
これを見てみましょう:
f(x);
— f, . ? . , , . , . , - . . . .
, ++ . , . .
. . , , , .. , 25 ++ 2-4 .
++ opensource (12%) .
, - . - . .
— ++. , IDE, , — ++ . , « ++, , STL — ++». 90- 2000-. — .
? ( : « », «»). . . RAII. . , , . , goto.
, , , - . . , , , — . - , .
++ , , , - . . !
, , . . ++11, .
++ , , . , — . , ++ , .
? . - ? . ? . « » ? . ? . - ++.
« »
, ++ , , « ». , , , .. ++ ( ) — - , .
,
. , — . — . , , , . . .
«- »
. ++ . ++. — . , /++ .
++, 90- ++ , ++14. . , . , . , . , , . : ++ — 10 20 , .
,
++ , — . , ++ ( ) . ++ . :
std::cout << x;
! , , ( ), ( ) . ! . , ? , , ? . , .
,
, ++, . — , , . , — . , — , , . ++. , , . , , , ++ ++ — . - .
,
, ++ . . . -, - -. , . .
…
, ++ 1990- 400 , 1998 — 700, 2011 1300. « » — . , . , , , . , — ++11 range-based for auto. , 5. - — , . , . .