*以下內(nèi)容整理自2010年10月09日晚9點(diǎn)與朋友們的探討。
**擺脫枯燥乏味的****C/C++****學(xué)習(xí)砸抛,從****VB6.0****開始找點(diǎn)樂子吧评雌!******
前言:
網(wǎng)絡(luò)上各種各樣的關(guān)于程序?qū)W習(xí)方法呀,初學(xué)者解困的資料層出不窮直焙,但真正適合自己的方法確并不多也不具體景东;看著黑洞洞的命令行窗口上的輸出,經(jīng)常在迷惘中徘徊奔誓,學(xué)了C/C++語言我到底可以做什么斤吐;平時聽到的什么網(wǎng)絡(luò)工程師呀系統(tǒng)分析師呀測試工程師呀等等搔涝,我今后可以成為哪一類...
一,初期:從VB6.0開始
- 仿造Windows計算器和措,自編一個計算器程序庄呈。
當(dāng)初我們開始學(xué)習(xí)VB6.0時,老師讓我們做的第一個“大”作業(yè)派阱,就是這個诬留,給了我們1個月的時間。不要以為很簡單贫母,大家一做就明白了文兑。這其中包括界面設(shè)計,涉及到了一些算法(學(xué)過結(jié)構(gòu)與算法朋友可能會在這里有一些領(lǐng)悟)腺劣,并且平時學(xué)習(xí)C/C++的一些“經(jīng)驗(yàn)”就可以派上用場绿贞,反過來也可以促進(jìn)對C/C++的重新認(rèn)識與解先前之惑。開發(fā)這個小程序時橘原,大家使用得比較多的一個函數(shù)應(yīng)該就是Math相關(guān)的籍铁。
- 自編游戲程序。
自編一個接龍游戲靠柑。因?yàn)槲移綍r玩游戲少寨辩,所以當(dāng)初我沒有做;不過很多一起學(xué)習(xí)的同學(xué)們都做了歼冰,其中有幾個做得很不錯靡狞;或者大家也可以自編俄羅斯方塊,這些小游戲都是大家非常熟悉的隔嫡,所以對于初學(xué)者來說甸怕,編程時理解起來就比較容易,這樣可以讓大家在娛樂中學(xué)習(xí)編寫程序腮恩∩液迹看似簡單,但很考腦子的秸滴。
- 日常生活收支管理系統(tǒng)武契。
接下來開發(fā)一個比較有意義的“項目”吧。大家可以把自己每天的收支詳細(xì)記錄下來(不過對于學(xué)生來說估計一般都是支---有出無進(jìn)吧):三餐的消費(fèi)荡含,三餐之外日常用品呀衣物學(xué)習(xí)用具呀什么的咒唆。這些記錄要通過Excel的形式保存下來,這時释液,在Excel中就要做些規(guī)范的事全释,比如怎樣寫才能讓自己一目了然,怎樣寫可以讓程序“讀懂”误债;接著浸船,要用到Office的Access(這是最初級的一個數(shù)據(jù)庫軟件)妄迁,把Excel的數(shù)據(jù)導(dǎo)入到Access,這里千萬不要手工復(fù)制粘貼哦李命,需要用到數(shù)據(jù)的“導(dǎo)入/導(dǎo)出”操作登淘,這是今后大家接觸其它數(shù)據(jù)庫軟件時都必須掌握的概念,大家以后還可以使用MSSQLServer(官方網(wǎng)站有免費(fèi)的Express版本)项戴,在這時大家就可以開始理解數(shù)據(jù)庫的概念了形帮,對于已經(jīng)學(xué)過數(shù)據(jù)庫理論相關(guān)課程的朋友來說,這也是一個不錯的實(shí)踐機(jī)會周叮;之后就是設(shè)計界面辩撑,編寫程序,做成一個可以在WinXP上運(yùn)行的小桌面軟件(現(xiàn)在大家至少都是用的WinXP吧)仿耽。還可以把自己做好的程序上傳到各網(wǎng)站上給大家“顯顯”合冀,甚至如果可能的話,今后完善好了還可以實(shí)行部分收費(fèi)项贺,能做到這里話君躺,大家也就可以一定程度上理解 “盜版”所帶來的危害了。在開發(fā)這個小項目的過程中开缎,有興趣有進(jìn)一步需要的朋友們棕叫,還可以理解組件的概念。
另外奕删,如果群中有朋友是班干部角色俺泣,那么也可以開發(fā)一個相對復(fù)雜的班務(wù)信息管理系統(tǒng)(畢竟班上那么多人嘛),進(jìn)一步提高自己的開發(fā)能力完残。
還有伏钠,開發(fā)上面的小軟件時,我只是給大家提了一個思路谨设,大家會在開發(fā)的過程中發(fā)現(xiàn)很多已知或未知的問題熟掂,需要一個個查閱資料求解攻破。
雖然用VC++也可以做上面這事些扎拣,但是很痛苦的赴肚。
二,進(jìn)階:逐漸步入當(dāng)前社會中實(shí)際工作的視野
- 掌握當(dāng)前應(yīng)用廣泛的語言(C#/JAVA等)二蓝。
有了C/C++的基礎(chǔ)尊蚁,再加上從VB6.0中找到了一定的自信,擴(kuò)展到C#/Java語言就相對容易(當(dāng)然侣夷,大家還可以使用VB.NET)。當(dāng)前社會上一般就出現(xiàn)了兩個派系:.NET系與JAVA系仑乌,誰最好誰最優(yōu)沒有定論百拓,但從應(yīng)用范圍來看琴锭,Java更多一些。不過衙传,我是.NET系的决帖。
- 項目類型(網(wǎng)站/桌面/移動設(shè)備等)。
C/C++及VB6.0甚至包括C#/Java蓖捶,大家開始學(xué)習(xí)的都算是桌面類型的程序地回,接下來可以擴(kuò)展到網(wǎng)站程序(一般也稱Web程序)。5俊鱼,6年以前刻像,與VB6.0同樣流行的網(wǎng)絡(luò)編程技術(shù)就算是ASP技術(shù)了(使用VBScript及Dreamweaver),這其中就包含了廣泛應(yīng)用直到現(xiàn)在的Javascript與HTML并闲。之后大家就可以學(xué)習(xí)最新潮但還未成熟的HTML5+CSS3细睡。網(wǎng)絡(luò)程序的學(xué)習(xí)中,還可以接觸到Web服務(wù)帝火,這是目前應(yīng)用很廣泛的一種思想溜徙,形式多種多樣,在這時犀填,學(xué)網(wǎng)絡(luò)工程方向的朋友就可以更加體會到網(wǎng)絡(luò)安全所起的作用了蠢壹。還有Ajax,F(xiàn)lex九巡,Sliverlight等富客戶端技術(shù)都可以在這里接觸到了图贸。再之后,就可以進(jìn)入正在成長階段的移動互聯(lián)網(wǎng)呀虛擬化與云計算了等等比庄。這時求妹,大家心目中就不會有語言的存在了,只有“服務(wù)”這種概念了佳窑。
-
軟件工程的理解與實(shí)踐制恍。
需求分析,系統(tǒng)設(shè)計神凑,軟件測試净神,這些大家平時聽到的看到的詞匯就在這個階段與大家正式同行了。在這里溉委,Office的一套軟件可成了掌中寶鹃唯。想往軟件測試工程發(fā)展的朋友們,也就可以在這里找到方向了瓣喊。這個階段坡慌,參與到正式的項目開發(fā)中,不管是自已創(chuàng)業(yè)還是進(jìn)入各軟件公司藻三,之前學(xué)過的知識技術(shù)就真正成為自己的經(jīng)驗(yàn)洪橘,都是不可或缺的跪者。三層結(jié)構(gòu),MVC等設(shè)計模式相關(guān)的概念也可加以運(yùn)用熄求。
三渣玲,專題總結(jié)
上面的內(nèi)容與步驟,是我個人的經(jīng)驗(yàn)弟晚,但平時與網(wǎng)上同行交流時也大同小異忘衍,應(yīng)該算是進(jìn)入軟件開發(fā)這個行業(yè)社會上比較通用的一種模式,但并不是金科玉律卿城。大家需要循序漸進(jìn)枚钓,盡量避免好高騖遠(yuǎn),一步步踏實(shí)地走(當(dāng)然個別基礎(chǔ)好理解能力較強(qiáng)的朋友可以多向前一步)藻雪。我們當(dāng)時就是因?yàn)闆]有人給做指導(dǎo)秘噪,所以走了不少彎路,浪費(fèi)了不少時間勉耀,因此上述內(nèi)容可以幫助大家更快更好地進(jìn)入IT這個大群體指煎。
群中各位,大多是大一二的在校生便斥,如果有意畢業(yè)之后從事軟件開發(fā)這個行業(yè)至壤,按照這個步驟認(rèn)真執(zhí)行下去的話,到畢業(yè)之前應(yīng)該也算是勝人一籌了枢纠。大三大四的朋友們就應(yīng)該比其他人付出更多的努力像街,時間不多了。
題外話
對于大家平時說要把C/C++學(xué)到多好多精晋渺,這種觀念現(xiàn)在并不被社會認(rèn)可镰绎。我只在一個LINUX的項目中真正使用過三個月的C++;目前社會上的這方面的工作并不是很多木西,最多可能只占了軟件開發(fā)工作的30%畴栖。
所以,大家不要一味地說要學(xué)好C/C++八千,除非今后多做相關(guān)項目(但根據(jù)目前與今后的市場情況來看吗讶,大家很可能不會接觸多少)或者讀研讀博深入研究,否則實(shí)際上大多數(shù)人無法真正學(xué)好恋捆;而更適合的方式照皆,還是要通過不斷地理解C/C++的思想去使用.NET或Java等上層程序語言做好市場上的信息行業(yè)應(yīng)用。
答疑:
Q:學(xué)C/C++用什么書最好?
A:首先沸停,沒有最好膜毁,只有適合自己學(xué)的。我們當(dāng)初學(xué)習(xí)時,大家都推薦譚浩強(qiáng)的兩本書爽茴,比較適合初學(xué)者葬凳,現(xiàn)在也推薦也各位。
大三時室奏,班上有幾個同學(xué)去考了微軟的什么專家證書,后來班主任問我劲装,他們都成了“專家”么胧沫?我聽后哭笑不得。
真正的專家占业,是需要10年20年甚至更多的時間和工作磨煉成的绒怨,哪有半年一年就能煉成了啊谦疾?南蹂!