近日,隨著軟件行業(yè)的蓬勃發(fā)展以及北大青鳥ACCP軟件工程師課程的推出,許多人都來(lái)北大青鳥通州校區(qū)報(bào)名咨詢Java培訓(xùn)的相關(guān)課程。他們一方面對(duì)Java培訓(xùn)有著濃厚的興趣,另一方面卻非常擔(dān)心自己學(xué)不會(huì)Java。北大青鳥通州校區(qū)老師表示:Java是目前最普及的程序設(shè)計(jì)平臺(tái),現(xiàn)在大家用的電腦、手機(jī)軟件,都是用Java開發(fā)的。Java看似難,其實(shí),只要掌握了方法、對(duì)它有興趣,學(xué)好Java其實(shí)不難。
JAVA是一種平臺(tái),也是一種程序設(shè)計(jì)語(yǔ)言,學(xué)好程序設(shè)計(jì)不僅僅適用于JAVA,對(duì)C++等其他程序設(shè)計(jì)語(yǔ)言也一樣管用。有編程高手認(rèn)為,JAVA、C++其實(shí)沒什么分別,拿來(lái)就用。為什么他們能達(dá)到如此境界?因?yàn)榫幊陶Z(yǔ)言之間有共通之處,領(lǐng)會(huì)了編程的精髓,自然能夠做到一通百通。如何學(xué)習(xí)程序設(shè)計(jì)理所當(dāng)然也有許多共通的地方。
1、培養(yǎng)興趣
興趣是能夠讓你堅(jiān)持下去的動(dòng)力。如果只是把寫程序作為謀生的手段的話,你會(huì)活的很累,也太對(duì)不起自己了。多關(guān)心一些行業(yè)趣事,多想想蓋茨。不是提倡天天做白日夢(mèng),但人要是沒有了夢(mèng)想,你覺得有味道嗎?可能像許多深圳本地農(nóng)民一樣,打打麻將,喝喝功夫茶,拜拜財(cái)神爺;每個(gè)月就有幾萬(wàn)十幾萬(wàn)甚至更多的進(jìn)帳,憑空多出個(gè)"食利階層"。你認(rèn)為,這樣有味道嗎?有空多到一些程序員論壇轉(zhuǎn)轉(zhuǎn),你會(huì)發(fā)現(xiàn),他們其實(shí)很樂(lè)觀幽默,時(shí)不時(shí)會(huì)冒出智慧的火花。
2、慎選程序設(shè)計(jì)語(yǔ)言
男怕入錯(cuò)行,女怕嫁錯(cuò)郎。初學(xué)者選擇程序設(shè)計(jì)語(yǔ)言需要謹(jǐn)慎對(duì)待。軟件開發(fā)不僅僅是掌握一門編程語(yǔ)言了事,它還需要其他很多方面的背景知識(shí)。軟件開發(fā)也不僅僅局限于某幾個(gè)領(lǐng)域,而是已經(jīng)滲透到了各行各業(yè)幾乎每一個(gè)角落。
如果你對(duì)硬件比較感興趣,你可以學(xué)習(xí)C語(yǔ)言/匯編語(yǔ)言,進(jìn)入硬件開發(fā)領(lǐng)域。如果你對(duì)電信的行業(yè)知識(shí)及網(wǎng)絡(luò)比較熟悉,你可以在C/C++等之上多花時(shí)間,以期進(jìn)入電信軟件開發(fā)領(lǐng)域。如果你對(duì)操作系統(tǒng)比較熟悉,你可以學(xué)習(xí)C/Linux等等,為L(zhǎng)inux內(nèi)核開發(fā)/驅(qū)動(dòng)程序開發(fā)/嵌入式開發(fā)打基礎(chǔ)。如果你想介入到應(yīng)用范圍最廣泛的應(yīng)用軟件開發(fā)(包括電子商務(wù)電子政務(wù)系統(tǒng))的話,你可以選擇J2EE或.NET,甚至LAMP組合。每個(gè)領(lǐng)域要求的背景知識(shí)不一樣。做應(yīng)用軟件需要對(duì)數(shù)據(jù)庫(kù)等很熟悉。總之,你需要根據(jù)自己的特點(diǎn)來(lái)選擇合適你的編程語(yǔ)言。
3、要腳踏實(shí)地,快餐式的學(xué)習(xí)不可取
先分享一個(gè)故事。
有一個(gè)小朋友,他很喜歡研究生物學(xué),很想知道那些蝴蝶如何從蛹?xì)だ锍鰜?lái),變成蝴蝶便會(huì)飛。 有一次,他走到草原上面看見一個(gè)蛹,便取了回家,然后看著,過(guò)了幾天以后,這個(gè)蛹出了一條裂痕,看見里面的蝴蝶開始掙扎,想抓破蛹?xì)わw出來(lái)。 這個(gè)過(guò)程達(dá)數(shù)小時(shí)之久,蝴蝶在蛹里面很辛苦地拼命掙扎,怎么也沒法子走出來(lái)。這個(gè)小孩看著看著不忍心,就想不如讓我?guī)蛶退桑汶S手拿起剪刀在蛹上剪開,使蝴蝶破蛹而出。 但蝴蝶出來(lái)以后,因?yàn)槌岚虿粔蛄Γ兊煤苡纺[,飛不起來(lái)。
這個(gè)故事給我們的啟示是:欲速則不達(dá)。
浮躁是現(xiàn)代人最普遍的心態(tài)。現(xiàn)在的軟件公司、客戶、政府、學(xué)校、培訓(xùn)機(jī)構(gòu)等等到處彌漫著浮躁之氣。許多來(lái)北大青鳥通州校區(qū)咨詢Java培訓(xùn)的人都問(wèn):我什么時(shí)候能學(xué)有所成?能跳級(jí)嗎?等等。還沒學(xué)會(huì)爬就想跑嗎?許多初學(xué)者C++/JAVA沒開始學(xué),立馬使用VC/JBuilder,會(huì)使用VC/JBuilder開發(fā)一個(gè)Hello World程序,就忙不迭的向世界宣告,"我會(huì)軟件開發(fā)了",簡(jiǎn)歷上也大言不慚地寫上"精通VC/JAVA"。結(jié)果到軟件公司面試時(shí)要么被三兩下打發(fā)走了,要么被駁的體無(wú)完膚,無(wú)地自容。到處碰壁之后才知道捧起《C++編程思想》《JAVA編程思想》仔細(xì)鉆研,早知如此何必當(dāng)初呀。
"你現(xiàn)在講究簡(jiǎn)單方便,你以后的路就長(zhǎng)了",好象也是佛經(jīng)中的勸戒。
4、多實(shí)踐,快實(shí)踐
彭端淑的《為學(xué)一首示子侄》中有窮和尚與富和尚的故事。
從前,四川邊境有兩個(gè)和尚,一個(gè)貧窮,一個(gè)有錢。一天,窮和尚對(duì)富和尚說(shuō):"我打算去南海朝圣,你看怎么樣?"富和尚說(shuō):"這里離南海有幾千里遠(yuǎn),你靠什么去呢?"窮和尚說(shuō):"我只要一個(gè)水缽,一個(gè)飯碗就夠了。"富和尚為難地說(shuō):"幾年前我就打算買條船去南海,可至今沒去成,你還是別去吧!" 一年以后,富和尚還在為租賃船只籌錢,窮和尚卻已經(jīng)從南海朝圣回來(lái)了。
這個(gè)故事可解讀為:任何事情,一旦考慮好了,就要馬上上路,不要等到準(zhǔn)備周全之后,再去干事情。假如事情準(zhǔn)備考慮周全了再上路的話,別人恐怕捷足先登了。軟件開發(fā)是一門工程學(xué)科,注重的就是實(shí)踐,"君子動(dòng)口不動(dòng)手"對(duì)軟件開發(fā)人員來(lái)講根本就是錯(cuò)誤的,他們提倡"動(dòng)手至上",但別害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時(shí)候蓬頭垢面的一副"比爾蓋茨"樣。有前輩高人認(rèn)為,學(xué)習(xí)編程的秘訣是:編程、編程、再編程,筆者深表贊同。不僅要多實(shí)踐,而且要快實(shí)踐。我們?cè)诳磿臅r(shí)候,不要等到你完全理解了才動(dòng)手敲代碼,而是應(yīng)該在看書的同時(shí)敲代碼,程序運(yùn)行的各種情況可以讓你更快更牢固的掌握知識(shí)點(diǎn)。
5、多參考程序代碼
程序代碼是軟件開發(fā)最重要的成果之一,其中滲透了程序員的思想與靈魂。許多人被《仙劍奇?zhèn)b傳》中凄美的愛情故事感動(dòng),悲劇的結(jié)局更有一種缺憾美。為什么要以悲劇結(jié)尾?據(jù)說(shuō)是因?yàn)閷憽断蓜ζ鎮(zhèn)b傳》的程序員失戀而安排了這樣的結(jié)局,他把自己的感覺融入到游戲中,卻讓眾多的仙劍迷扼腕嘆息。
6、加強(qiáng)英文閱讀能力
對(duì)學(xué)習(xí)編程來(lái)說(shuō),不要求英語(yǔ), 但不能一點(diǎn)不會(huì),。最起碼像JAVA API文檔這些東西還是要能看懂的,連猜帶懵都可以;旁邊再開啟一個(gè)"金山詞霸"。看多了就會(huì)越來(lái)越熟練。在學(xué)JAVA的同時(shí)學(xué)習(xí)英文,一箭雙雕多好。另外好多軟件需要到英文網(wǎng)站下載,你要能夠找到它們,這些是最基本的要求。英語(yǔ)好對(duì)你學(xué)習(xí)有很大的幫助。口語(yǔ)好的話更有機(jī)會(huì)進(jìn)入管理層,進(jìn)而可以成為剝削程序員的"周扒皮"。
7、使用合適的工具
工欲善其事必先利其器。軟件開發(fā)包含各種各樣的活動(dòng),需求收集分析、建立用例模型、建立分析設(shè)計(jì)模型、編程實(shí)現(xiàn)、調(diào)試程序、自動(dòng)化測(cè)試、持續(xù)集成等等,沒有工具幫忙可以說(shuō)是寸步難行。工具可以提高開發(fā)效率,使軟件的質(zhì)量更高BUG更少。組合稱手的武器。到飛花摘葉皆可傷人的境界就很高了,無(wú)招勝有招,手中無(wú)劍心中有劍這樣的境界幾乎不可企及。
8、多讀好書
書中自有顏如玉。比爾·蓋茨是一個(gè)飽讀群書的人。雖然沒有讀完大學(xué),但九歲的時(shí)候比爾·蓋茨就已經(jīng)讀完了所有的百科全書,所以他精通天文、歷史、地理等等各類學(xué)科,可以說(shuō)比爾·蓋茨不僅是當(dāng)今世界上金錢的首富,而且也可以稱得上是知識(shí)的巨富。
9、萬(wàn)不得已才請(qǐng)教別人
北大青鳥通州校區(qū)老師在幫助解決學(xué)生問(wèn)題時(shí)發(fā)現(xiàn),大部分的問(wèn)題學(xué)生稍做思考就可以解決。請(qǐng)教別人之前,你應(yīng)該先回答如下幾個(gè)問(wèn)題。
你是否在google中搜索了問(wèn)題的解決辦法?
你是否查看了JAVA API文檔?
你是否查找過(guò)相關(guān)書籍?
你是否寫代碼測(cè)試過(guò)?
如果回答都是"是"的話,而且還沒有找到解決辦法,再問(wèn)別人不遲。要知道獨(dú)立思考的能力對(duì)你很重要。要知道程序員的時(shí)間是很寶貴的。