深度剖析C++應(yīng)用程序特點(diǎn)
對(duì)第一次接觸到C++應(yīng)用程序的用戶和學(xué)者來說,了解C++語言的概念是非常重要的,那么就先說一下什么是C++語言,所謂C++語言:是一種使用非常廣泛的計(jì)算機(jī)編程語言。
同時(shí),我們可以看到各個(gè)高校的計(jì)算機(jī)專業(yè)都開設(shè)有C++這門課程,網(wǎng)絡(luò)上對(duì)于C++的學(xué)習(xí)討論也從來都沒有停過。但是,在Java和.NET兩大企業(yè)開發(fā)平臺(tái)的圍攻下,給人的感覺是C++越來越“不行”了。
C++在面向企業(yè)的軟件開發(fā)中,在開發(fā)便捷性等方面的確要比Java和C#差很多,其中一個(gè)問題是C++應(yīng)用程序本身比較復(fù)雜,學(xué)習(xí)曲線比較陡峭,另外一個(gè)問題是C++標(biāo)準(zhǔn)化的時(shí)間太長(zhǎng),喪失了很多的壯大機(jī)會(huì),耗費(fèi)了很多精力在廠商的之間的斗爭(zhēng)上。
而C++的標(biāo)準(zhǔn)庫離一個(gè)完善的程序開發(fā)框架還缺少太多太多的內(nèi)容,各個(gè)第三方的類庫和框架又在一致性和完整性上沒法和隨平臺(tái)提供的框架相提并論。難道C++真的要退出歷史舞臺(tái)了?
從C++應(yīng)用程序目前的活躍程度,以及應(yīng)用現(xiàn)狀來說是完全能夠肯定C++仍然是軟件工業(yè)的基礎(chǔ),也不會(huì)退出歷史舞臺(tái)的。另外從Boost,Loki這些庫中我們也能夠看到C++的發(fā)展非常活躍,對(duì)于新技術(shù)新思維非常激進(jìn),C++仍然廣泛受到關(guān)注。
從ACE在高性能通信領(lǐng)域的應(yīng)用,以及MTL這樣的庫在數(shù)值計(jì)算領(lǐng)域的出色表現(xiàn),我們可以看到C++在高性能應(yīng)用場(chǎng)合下的不可替代的作用,而嵌入式系統(tǒng)這樣的內(nèi)存受限開發(fā)平臺(tái),比如Symbian OS上,C++已經(jīng)發(fā)揮著并且將發(fā)揮更大的作用。
可以預(yù)見的是以后的軟件無論上層的應(yīng)用怎么變,它的底層核心都會(huì)是由C/C++這樣的系統(tǒng)級(jí)軟件編寫的,比如Java虛擬機(jī),.NET Framwork。因?yàn)橹挥羞@樣的系統(tǒng)級(jí)軟件才能完全徹底的發(fā)揮機(jī)器的功能。
需要看到的是兩個(gè)趨勢(shì),一個(gè)趨勢(shì)是C++變得更加復(fù)雜,更加學(xué)院派,通過模板等有潛力的語法因素構(gòu)造越來越精巧的庫成為了現(xiàn)代C++應(yīng)用程序的熱點(diǎn),雖然在利用庫實(shí)現(xiàn)新的編程范式。
乃至設(shè)計(jì)模式等方面很有開創(chuàng)意義,也確實(shí)產(chǎn)生了一些能夠便捷開發(fā)的工具,但是更多的是把C++變得更加強(qiáng)大,更加復(fù)雜,也更加難懂,似乎也更加學(xué)院派,不得不說它正在向邊緣化道路發(fā)展。另一個(gè)趨勢(shì)是C++在主流的企業(yè)應(yīng)用開發(fā)中已經(jīng)逐漸退出了。
ERP這樣的企業(yè)軟件開發(fā)中基本上不會(huì)考慮C++,除非需要考慮性能或者和遺留代碼的集成這些因素。C++應(yīng)用程序退守到系統(tǒng)級(jí)別語言,成為軟件工業(yè)的基礎(chǔ)是大勢(shì)所趨。然而反思一下,真的是退守么?
也許只是在逃避一些事實(shí)。C++是優(yōu)秀的,這不可否認(rèn),STL的出現(xiàn)讓C++一度走上了最輝煌的時(shí)刻,然而現(xiàn)在看來……我的一位恩師曾言:真正能夠?qū)TL應(yīng)用得淋漓盡致的人很保守地說國(guó)內(nèi)也不超過200人,或許不加入STL能夠使C++向著它應(yīng)當(dāng)發(fā)展的方向發(fā)展的更好,而現(xiàn)在看來,C++也應(yīng)當(dāng)回首到真正屬于他的那一片圣地上……
【編輯推薦】