淺析C++的現(xiàn)狀和未來
TechRepublic的一名會員Oleg F(有經(jīng)驗的C++開發(fā)人員)問我對C++的現(xiàn)狀和未來的看法,此外,他還希望了解C++如何適應.NET世界、Web開發(fā)和云計算,下面是我的答復。
我認為對于大多數(shù)一般開發(fā)人員而言,C++作為一門通用編程語言將很快從他們的編程語言中消失,但C++仍然會得到大量的使用,特別是操作系統(tǒng)層的工作和底層開發(fā)(如嵌入式設備和驅(qū)動開發(fā))、某些高性能應用程序和那些如果使用.Net或Java開發(fā)顯得過于沉重的應用程序(如辦公套件)。有些開發(fā)人員將繼續(xù)使用C++開發(fā)應用程序,但對于一般開發(fā)人員而言,C++確實很頭痛。 Visual C++ 本地并行編程:狀態(tài)管理
大多數(shù)開發(fā)人員都面臨著性能問題,當你解決掉性能問題后,在大多數(shù)情況下,C++仍然是相當有吸引力的。
我接觸過的少部分C++開發(fā)人員對于在.Net托管環(huán)境下使用C++對他們沒有多少吸引力,這樣使得C++喪失了許多用于Web開發(fā)的機會,除非你想在CGI模式下使用它,關于CGI有好消息(開銷少,簡單的概念模型)也有壞消息(應用程序被許多底層任務“感知”)。我所聽說的是,在.NET CLR下,C++的速度也不行,以及其它一些本是C++的優(yōu)勢,結果在.NET CLR下也變成劣勢了。 C++中隨機存取文件的處理
并不是說C++短時間內(nèi)就會消失,我看到C++正在加入傳統(tǒng)的COBOL和FORTRAN語言,為那些使用超過50年的應用程序提供維護和擴展基礎。此外,由于各種原因(熟悉程度、庫支持、傳統(tǒng)/習慣、文化等)有些新的開發(fā)項目將會啟動,我認為它將會為這個即將死去的語言找回一點尊嚴。
我不想看到C++的未來結局很凄涼,我認為C++開發(fā)人員還有很大的潛力可挖,如果你是一名C++開發(fā)人員,我建議你堅持使用這門語言,就目前的薪資結構而言,我認為經(jīng)驗豐富的C++開發(fā)人員領到的薪水還是相當可觀的,此外,由于C++的難度較高,并且學習它的人也比較少(目前高校也很少開設這門課程了),從長遠來看,我預計C++開發(fā)人員相對.Net和Java開發(fā)人員更有就業(yè)保障和更好的補償。
雖然C++在Web開發(fā)方面不可能很快成為主流,在桌面應用程序開發(fā)方面C++也不可能很快就銷聲匿跡,我認為C++在云計算的某些方面可能具有許多機會,對于某些項目(想想那些適合超級計算機的項目),云給C++開發(fā)人員提供了一個方法獲得與網(wǎng)格計算相同的好處,但它的靈活性卻更好,因此,我認為云計算會代替或作為網(wǎng)格及超級計算機的補充,并為C++創(chuàng)新提供了一個極好的機會。
注意我的大部分分析都是著眼于Windows世界,從我所看到的,*Nix開發(fā)社區(qū)仍然熱衷于使用C/C++,擔心Windows中C++開發(fā)機會逐漸變少的C++開發(fā)人員一定要看看*Nix開發(fā)。
我認為C++會慢慢消失,但它不會死,也不會成為一點都不重要的語言,雖然我知道現(xiàn)實生活中大多數(shù)開發(fā)人員都沒有接觸過C++,但許多開發(fā)人員肯定從學習它獲得了許多受益。
【編輯推薦】