以下精彩的回帖来自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.