以下精彩的回帖來自C++討論群組:future of the C++ Unlike other popular languages before it, like COBOL, or after it, like Perl, C++ says,與流行語言的前輩(如COBOL)和後輩(如Perl)不同,C++語言作出如下聲明: "Ok, we all know that most computers follow a von Neumann architecture more or less, and this is not going to change for the mainstream anytime soon. If you be an engineer, I am going to give you a language of liberation. I am going to give you a language
that allows reachability to almost every conceivable point in the system space of software engineering. I am not going to tell you how to reach these points, of course, but I will allow them to be reached, with great facility, almost entirely dependent on
your skill as an engineer."“好吧,我們大家都知道大多數電腦或多或少都遵循馮諾依曼體系,作為主流這一點不會很快被改變。如果你想成為一名工程師,那我將授予你一門自由奔放的語言。利用這門語言,你將會達到軟體工程領域中任何可以想象的地點。當然我不準備告訴你如何到達這些地點,不過我確信你將會很便捷地到達目的地,而這一切幾乎只取決於你作為工程師的技能和素養。” Of course, there are exceptions to this claim, like lack of lambda expressions, and more importantly, there is the assumption that the C+ + script will be compiled into a physical, von Neuman architecture, where the CPU itself is the agent of interpretation.當然,這項聲明也存在一些例外,比如說C++缺乏lambda運算式。更重要的是,以下假設也存在:C++代碼將被編譯進一台馮諾依曼體系的物理機器中,代碼的解釋執行必須依賴於CPU自身。 But despite these relatively minor assumptions, C++, like no other language, allows reachability into the entire system space, from the primitive to the frighteningly complex.但在這些微不足道的假設之外,與任何其他語言不同的是,C++將允許你進入整個系統空間,無論這些地區是基本的還是具有駭人的複雜性。 And that is why C++ is so interesting. It's a bit like taking armed fighters, where they can choose any weapons that they can carry, and throwing them on a battlefield, and letting each fighter fight to his best abilitity, dismemberment and death included.而這正是C++有趣的地方。這就好比那些全副武裝的戰士,他們能選擇任何所能攜帶的武器並將之投放於戰場,在任何一場戰鬥中這些戰士都被允許竭盡所能,哪怕肢解甚至犧牲自己都不在限制之列。 By contrast, other languages restrict which weapons can be used, restrict the types of enemy to be fought, and during every battle, the fighters are must be housed in a giant, roving tank, fighting the enemy indirectly using joysticks (Java interpreter).
Wherever the fighters go, so must the tank (JVM or other interpreter), and when there is a special kind of monster that requires a special kind of stroke to be slain, it becomes hard, because the slayer, no matter how skilled, is stuck inside a tank.與此相反,其他語言不僅限制戰士們所能使用的武器,而且限制與之對戰的敵人的種類。在每一場戰鬥中,戰士們都必須置身於一輛碩大無比且四處巡遊的坦克之中,與敵人的戰鬥也不能直接進行,只能依賴於操縱杆(Java解譯器)。無論戰士們去哪裡,坦克都必須如影隨形(JVM以及其他解譯器)。當戰場上因出現一種特殊的怪物而需要一門特別的必殺技時,事情就會變得困難起來。因為此時的殺手,無論他的技術有多麼高超,都已經死死地陷身於坦克之中。 -Le Chaud Lapin-(作者) 誠哉斯言!於我心有戚戚焉!Damn right! I should say I agree 100 percent with you, Le Chaud Lapin.