早在1979年,BjarneStroustrup就设计了C++编程语言,C++很快成为无处不在的通用系统编程语言。尽管有来自Java、Javascript、Python、Go甚至Apple的Swift的竞争,C++仍然在当今的编程世界中占据主导地位。今天在摩根士丹利的技术采访中,InfoWorld的编辑和Stroustrup聊了很多C++,也谈到了其他编程语言,包括谷歌的Go语言和苹果的Swift语言。以下是我们采访的文字记录。InfoWorld:您如何看待C++的未来?现在有很多流行的脚本语言,比如Python和Javascript,当然还有流行的Java,甚至还有谷歌的Go语言。C++是如何在众多编程语言中生存和发展的?Stroustrup:这是一个很好的问题。20年来,人们一直在预测C++的消亡,但令人高兴的是它一直在成长和繁荣。如果你进入嵌入式领域,如果你想做一些复杂的图像处理,如果你需要实现一些微电子应用,如果你想开发一些财务管理系统,那么C++是你最好的选择。也许你很少能看到C++,但在那些应用的底层,C++依然是支撑整个应用的支柱。比如谷歌、亚马逊、搜索引擎等需要高性能的地方,C++就成了不可或缺的重要角色。InfoWorld:谷歌的Go语言越来越受到关注。你怎么看Go语言的前景?Stroustrup:当然,这些编程语言可以很优雅的实现一些功能,但是这些编程语言着重于如何让写代码方便、优雅,反而损失了很多性能。当然,这些编程语言做出的贡献是有目共睹的。InfoWorld:一些脚本语言的目的是为了解放程序员的双手,那么C++会不会逐渐趋向于这个目标呢?Stroustrup:哦,当然。C++主要是为一些相当底层的核心应用而设计的,它经常与其他脚本语言结合使用。一开始,我用C++来实现任何应用程序,后来我用shell作为脚本语言,设计了一些Unix上的低级应用程序。C++涵盖了以下优秀特性:高性能、易扩展、占用空间小、资源占用低等。InfoWorld:Apple于今年6月发布了Swift语言。您认为由于Apple的支持,Swift会越来越受到开发者的关注吗?Stroustrup:我是这么认为的,在他们专注于Objective-C之前,这一次Swift才真正进入了这些开发者的领域。InfoWorld:C++面临两大挑战:一方面,它需要满足开发者实现高性能、可扩展、可靠的应用;另一方面,它需要帮助开发人员实现可维护的代码。对于这两个问题,你怎么看?Stroustrup:我将解释这两个问题。第一个问题是尽可能高效地抽象和使用硬件资源,而后者则需要尽可能简化编写代码的过程,从C++11到C++14,已经具备了这样的平衡能力。今年我们将发布引用C++14标准的新版本C++。当你在开发一个大型产品的时候,也许C++11在某些方面已经不能满足你的需求,但是当C++14出现的时候,情况就会彻底改变,C++一直在进步。InfoWorld:您如何看待程序安全?程序员需要关心所有的安全问题吗?C++比其他编程语言更安全吗?Stroustrup:我非常热衷于解决硬件安全问题。就编程语言而言,如果你想写出好的程序,那么你的代码就必须保证类型安全。您可以在C++中实现此要求。不要总是围绕着一些低效的功能。一般来说,安全问题是系统问题。InfoWorld:关于C++或软件开发,您还有什么要讨论的吗?Stroustrup:我们的目标是让软件开发更专业。我们这个社会有很多东西是不能坏的,而且大部分都依赖于软件。作为开发人员,我们需要把我们的系统作为一个整体来考虑,编程语言和开发工具只是其中的一部分,我们需要探索如何培养开发人员,如何关注程序的可靠性。翻译链接:http://www.codeceo.com/article/why-35-year-old-cpp-best.html英文原文:Whythe35-year-oldC++stilldomains‘real’dev
