為什麼35歲的C++在“真實”開發中仍佔主導

發表於2014-08-18

早在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:

我們的目標是讓軟體開發更加專業化。我們的社會中很多事情都是不能被打破的,其中大部分都需要依賴軟體。作為開發者,我們需要整體考慮到我們的系統,程式語言和開發工具只是其中的一部分,我們需要探究如何培養開發者,以及如何將重點放在程式的可靠性上。

相關文章