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