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