半年前的軟件工程課程設計和SysClock是我C++的上一個句號。在學校的日子移情別戀于.net平臺,本來想拓寬路子方便找工作,后來找到的工作就是做WebApplication的(.net),其實關注C#和.net已經(jīng)有半年了,因此上手也還好,憑借著舊有的知識繼續(xù)闖蕩,不想爭論C++還是C#好,但是因為很久沒有在C++上有動作了,因此也就生疏了,而且從來也沒有系統(tǒng)學習過C++,因此也就離他更遠了。
畢業(yè)設計應該是大學階段做過的最完整的software了,因為找到的工作是.net的,也就將C#熟能生巧到底了。C++的路子似乎已經(jīng)被遺忘,過去還皮厚地在簡歷上寫熟悉,現(xiàn)在也許只能寫了解了。好在畢業(yè)設計我的重點不在于WEB本身,也不在于C#語法,而是強調(diào)設計思路,因此所有的重點從OOP開始,間或Design Pattern等知識,C#只是一個表現(xiàn)形式罷了。說老實話,.net下OOP確實比C++優(yōu)美,更多地關注于設計細節(jié)讓我對.net更有好感,微軟確實能將簡單融入開發(fā),讓復雜的事情簡單化確實讓人有更好的“用戶體驗”。
前陣子開始猶豫是不是要在C++方面繼續(xù)挖掘?到了公司后想過離開,但是荒廢了很多月的C++讓我不爭氣,去了一家大公司面試后發(fā)現(xiàn)C++的基本功降低太多,題目簡單到大二的時候都可以得心應手的地步,但是對一些底層的細節(jié)已經(jīng)忘記了。不想和人爭論自己曾經(jīng)有多么優(yōu)秀,只怪自己基本功不扎實。事情已經(jīng)過去了四五個月,也沒想太多,現(xiàn)在的工作雖然不是很有挑戰(zhàn)性,但是薪酬也能夠對得起良心,主要是它還很安逸,但是安逸給我的感覺總是有更多的不安,我習慣于充實的大腦才能夠有說話的底氣,但是我現(xiàn)在感覺有些力不從心了,還是想回到C++陣營上來,想過一段時間關于未來前景的問題,以前關注于社會變化,現(xiàn)在關心的是供需變化,.net搞壟斷估計是遲早的事,但是做.net的人似乎也多的跟米一樣,想過跑到JAVA陣營去混一片天地,但是已經(jīng)逃離了語言主導的我已經(jīng)不關心語言的選擇了,我會投入更多的時間和精力在設計模式、系統(tǒng)架構、重構等一些所謂的方法論上,只有這樣寫出來的東西才能美,才會有靈魂,關注于語言層面畢竟還是過于低級了。但是語言是問題的表達形式,沒有語言,那些方法論永遠都是空想主意。C#確實能夠滿足我在設計方面的需求,這一點不容否認,而且工作需要,我不會放棄它,而且我會繼續(xù)在上面不斷表現(xiàn)我設計上的學習研究成果,我想這些基于經(jīng)驗的東西比基于技術的東西更加富有價值。但是整體方向的選擇還是有一定必要的,前些日子想了一下,Windows的開發(fā)人太多了,競爭壓力遠比技術壓力大,想過換平臺,也許只有Unix有更好的企業(yè)市場,似乎能夠瞄準電信行業(yè)而去,C++必然是這個方面的必需品。考慮過未來的中國市場和國際行情,嵌入式開發(fā)(更多的重點被我放在了手機平臺的開發(fā)上),一切都才剛剛起步,至少國內(nèi)是個步履蹣跚的地步,這個市場會需要很多的人才,C++應該仍然有強大的市場,雖然.net已經(jīng)深入手機平臺,所謂的跨平臺還是基于平臺的應用軟件,雖然這方面的需求在未來一定很大,但是入門門檻并不高,Winform的朋友很容易就轉過去,.net的跨平臺性讓大家都不失業(yè),但是大家都沒有高薪了,現(xiàn)在.net的工作應該也是一個轉型的資本,我希望在底層方面有所拓展,因此C++仍然是必須。
C++與我的過去。過去還是喜歡所見即所得吧,畢竟拿底層入門有點浪費體力不討好。學了N年的C語言,仍然只能用于大學的課程,C語言的知識其實很重要,但是現(xiàn)在卻忘記地差不多了,很想把手頭的那本C語言看一遍,當年期末復習通讀也就兩天不到,但是總是各種各樣的原因阻礙了我的學習,或許我真的打心眼里不想看它吧。之后學習了VC++也是以MFC為核心進行展開,我用MFC又是喜歡于做一些應用軟件,比如本文第一句話提到的兩個家伙。其實現(xiàn)在要做應用軟件,用.net一定更好,因為確實開發(fā)起來很方便,性能上并沒有必要追求C++,不過說起來慚愧,我還是希望用我在Web上的工作經(jīng)驗去主導我在Winform的開發(fā),畢竟Web比Winform更繁瑣,業(yè)務邏輯和更底層我已經(jīng)習慣于用類庫來描述,因此Web和Win對我的差異就更小,我可以直接放棄表現(xiàn)層而仍然能夠有所作為,至少我認為可以這么做。MFC是C++的經(jīng)典,我想挖掘它更底層的東西,畢竟C++所能做的東西.net不一定能做。
昨天猶豫了很久還是決定從C++的語法開始系統(tǒng)的學習,用C++來表現(xiàn)設計我已經(jīng)力不從心,我得讓自己先有表達能力,然后才能抉擇更多,以后是針對UNIX還是Embeded C++就得另作打算了,但是所有的核心不會變,更多地體現(xiàn)設計的理念,雖然將應用軟件思想來對付底層開發(fā)或許不太可取,我想面向底層總不能沒有設計吧?這些細節(jié)再做討論。以后的日子無論C#還是C++一個都不能少一個也不會少,時間要充分地利用起來,付出才會有收獲,我不想做只說不做的人。
昨晚到當當訂購了兩本書,一本是C++ Primer中文版(第4版)、重構-改善既有代碼的設計,這兩本書也是我現(xiàn)在最想品味的,曾幾何時發(fā)現(xiàn)自己不是不愛看書,而是沒有找到喜歡看的書,第一本將為我復習補充我曾經(jīng)非系統(tǒng)地學習C++的知識,后一本將繼續(xù)為我的設計創(chuàng)造新的動力。加油,不放棄,永不言敗!