好長時(shí)間沒更新了,主要這段時(shí)間忙學(xué)ruby。沒多少時(shí)間溫故一下c++及其細(xì)節(jié)。對(duì)于編程為生涯的人生中,其c/c++是一把好的工具,但是在長年累月編寫代碼中,更加明白的編程的思想才是靈魂,沒有思想的編程,也不過如同拿把寶劍而無所作為。就是再精通c++也不過是稱之為某語言專家。而對(duì)于使用工具的人來說,不僅是要善于運(yùn)用工具,而且更應(yīng)該是發(fā)揮工具去實(shí)現(xiàn)你的要求。
但很多人在對(duì)待c/c++時(shí),太多的時(shí)候,如同時(shí)常撫摸自己手中寶劍而忘卻了要去面對(duì)的項(xiàng)目。
我時(shí)常以CS游戲中的武器向同事和朋友來比喻,c如同CS中的阻擊步槍,而C++如同Ak47,而java,c#如同制式武器中的m41突擊步槍,這些都是在編程世界中的主力廝殺武器,我們可以選擇C可以瞄準(zhǔn)任何項(xiàng)目,也能性能極高的射中項(xiàng)目的要害,但是持C之人,所積累的經(jīng)驗(yàn),所對(duì)項(xiàng)目的開發(fā)時(shí)間緩急,都在一定程度上影響了采用c的要求,C++和AK47有點(diǎn)類似,狂暴有效,但不是一般人能夠在項(xiàng)目開發(fā)中始終保持開發(fā)的速度和效率,在CS中AK47,頭三槍效率極高,但如在編程世界中項(xiàng)目的大量和迫近時(shí),往往和CS中AK47中子彈都飛散到敵手周圍一樣變得雜亂低效。所以一般而言,采用制式武器中的java,C#是作為現(xiàn)代工業(yè)編程的主要制式武器,精確有效,彈量充足。
也許,選擇以上制式武器也都是一種個(gè)人愛好和企業(yè)的側(cè)重,但是再怎么著,也必須在裝備了一主力武器外還得配備近戰(zhàn)的武器,和朋友說起,你得像cs中配了主力武器外,還得配把近戰(zhàn)手槍,以備各種要求。如同CS中持槍盤斗到最后,也得抽出短槍盤環(huán)近斗,這也類似在項(xiàng)目吃緊時(shí),臨時(shí)有額外的要求時(shí),用制式工具也許來不及或者不值得花大工夫去處理時(shí),用用那些膠水語言(動(dòng)態(tài)語言)則是非常省力和高效率的。也就是說膠水語言就如同近戰(zhàn)手槍,簡(jiǎn)單有效實(shí)用。
談到動(dòng)態(tài)語言,有太多,其實(shí)熟悉和能運(yùn)營一,二門即可,如老牌的perl,稱之為千年老妖的python,新興的殺手工具ruby,簡(jiǎn)單平淡的vb or javascript,還有那些我從來沒用過的的lua,lisp,schema等,會(huì)這些,不能自以為是的又以為精通了一門語言來比較c/c++的優(yōu)劣,但也不能以c/c++ 性能優(yōu)異理由而拒絕學(xué)習(xí)其他的理由。只是方便我們達(dá)到我們的目的。