早在1979年,Bjarne Stroustrup設計了C++編程語言,並且C++很快成為了無處不在的通用系統編程語言。現在盡管有Java、Javascript、Python、Go,甚至是蘋果的Swift和它競爭,但C++依然處於主導編程世界的地位。
今天在Morgan Stanley的科技訪談會上,InfoWorld的編輯和Stroustrup暢聊了很多關於C++的問題,還談及了其他的編程語言,包括Google的Go語言和蘋果的Swift語言。以下是我們的訪談記錄。
InfoWorld:
您是怎麼看C++的未來的?現在有很多流行的腳本語言,像Python和Javascript,當然還有很受歡迎的Java,甚至是Google的Go語言,C++如何從這麼多編程語言中存活下來,並且發展壯大?
Stroustrup:
這是個很棒的問題。在這20年時間裡,人們一直在預測C++將會滅亡,但是很高興的是它一直在成長和壯大。如果你進入到嵌入式領域,如果你想做一些復雜的圖像處理,如果你需要實現一些微電子應用,如果你要開發一些金融管理系統,那麼C++是你的首選。也許你很少能看到C++的身影,但是在那些應用的底層,C++依然是撐起整個應用的頂梁柱。比如Google、Amazon、搜索引擎等那些需要高性能的地方,C++就成了不可或缺的重要角色了。
InfoWorld:
Google的Go語言越來越被受到關注,您對Go語言的前景怎麼看?
Stroustrup:
當然這些編程語言可以非常優雅地實現一些功能,但是這些編程語言關注的是如何讓寫代碼變得便捷和優雅,卻損失不少性能。當然,這些編程語言所做的貢獻我們也是有目共睹的。
InfoWorld:
一些腳本語言的宗旨是解放程序員的雙手,那麼C++是否也會逐漸傾向於這個目標?
Stroustrup:
Oh,當然了。C++主要是為一些相當底層核心的應用設計的,它也經常會和其他的腳本語言結合使用。一開始的時候,我是用C++來實現任何的應用,然後我就在Unix上使用shell作為腳本語言設計一些底層應用。C++涵蓋了以下優秀的特性:高性能、易伸縮、占用空間小、占用資源少等等。
InfoWorld:
蘋果在今年6月份發布了Swift語言,您是否認為由於蘋果公司的支持,Swift將越來越受到開發者的關注?
Stroustrup:
我認為是的,之前他們關注Objective-C,這回Swift真正進入了這些開發者的領域了。
InfoWorld:
C++面臨兩大挑戰:一方面要滿足開發者實現高性能、可擴展、搞可靠性的應用程序,另一方面又需要能夠幫助開發者實現可維護的代碼。關於這兩個問題您怎麼看?
Stroustrup:
我正要解釋這兩個問題,第一個問題是要盡可能的抽象和更高效地利用硬件資源,而後者則需要能盡可能簡化代碼的編寫過程,從C++ 11到C++ 14,已經具備這樣的兼顧能力了。
今年我們會發布一個新的C++版本,它參考了C++ 14的標准。當你在研發大型的產品時,也許C++ 11在某些方面已經無法滿足你的需求,但當出現C++ 14時,情況就會完全改變了,C++總是在不停地進步著。
InfoWorld:
關於程序的安全性問題,您怎麼看?程序員是否需要關注所有的安全問題?C++是否比其他編程語言安全呢?
Stroustrup:
我非常熱衷於解決硬件的安全問題。在編程語言方面,如果你想編寫優秀的程序,那麼你的代碼一定要確保類型安全。你可以在C++中實現這一要求。不要總是圍繞著一些低效的功能轉,總的來說,安全問題是系統問題。
InfoWorld:
您是否還要探討關於C++或者軟件開發的其他任何問題?
Stroustrup:
我們的目標是讓軟件開發更加專業化。我們的社會中很多事情都是不能被打破的,其中大部分都需要依賴軟件。作為開發者,我們需要整體考慮到我們的系統,編程語言和開發工具只是其中的一部分,我們需要探究如何培養開發者,以及如何將重點放在程序的可靠性上。
譯文鏈接:http://www.codeceo.com/article/why-35-year-old-cpp-best.html
英文原文:Why the 35-year-old C++ still dominates 'real' dev