1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
適合做程序員嗎?
1.首先,你應(yīng)該清楚自己為什么選擇程序員這個(gè)職業(yè)?現(xiàn)在很多人是因?yàn)檐浖袠I(yè)的薪資高才進(jìn)入的,其實(shí)沒有人不想掙錢。但我的看法是,程序員是沒有辦法一夜暴富的。甚至可以說如果你聰明伶俐的話,做程序員不如去做銷售人員的待遇和收入上升得更快一些,真的.做程序員首先一定要從興趣上愛這個(gè)行業(yè),否則根本無法忍受成為一個(gè)真正程序員要付出的代價(jià).請記住,程序員這種職業(yè)是非常辛苦的,需要全身心的投入,如果舍不得付出和犧牲自己的青春的話就最好不要選擇這個(gè)職業(yè).
2.程序員應(yīng)該是一種充滿激情的人,他們喜歡挑戰(zhàn),喜歡接受新的技術(shù)和知識,對好奇和不懂的技術(shù)總刨根問底的精神,并以此樂此不疲.他們最大的精神享受是自己的努力成果給別人帶來方便,快樂,能夠得到別人的肯定和重視.優(yōu)秀的程序員應(yīng)該是完美主義,他們對自己開發(fā)的軟件一絲不茍,從功能到界面到軟件的健壯性等.他們甚至?xí)榻缑嫔系囊粋€(gè)按鈕的外觀折騰半天,直到滿意為止..一個(gè)缺乏激情的程序員的職業(yè)生命是很短暫的.
做好準(zhǔn)備了嗎?好,繼續(xù)往下看..
如果你是初學(xué)者(俗稱"菜鳥"):
1.好高騖遠(yuǎn)是許多初學(xué)者的通病,總幻想自己發(fā)瘋似地努力幾天或幾個(gè)月就成為"高手"(誰不想呀,看他們多受人尊敬),正是由于自己的這種好高騖遠(yuǎn)的"雄心壯志",往往給自己定下一些不切合實(shí)際的太多的目標(biāo),比如:"這個(gè)月學(xué)匯編,下個(gè)月學(xué)C語言,再下個(gè)月學(xué)C++,然后進(jìn)入VC++集成開發(fā)環(huán)境做開發(fā).",結(jié)果到頭來經(jīng)過幾個(gè)月的努力,卻發(fā)現(xiàn)與原定的目標(biāo)相去甚遠(yuǎn),激情和信心也沒有了,而且什么東西都沒學(xué)好.其實(shí)并不是因?yàn)槟惚?學(xué)習(xí)能力不強(qiáng),而是太心急了,看看身邊的高手們,哪一個(gè)不是至少有幾年功力的醞釀的?如果你覺得自己很聰明,但請記住這句話:"天下的聰明人太多了,你想在三到五年就把別人十年做的事情做一遍,那你也一定會把別人在十年中所受的苦難在這三到五年中經(jīng)歷一遍."
2.學(xué)問是堆積起來的。基礎(chǔ)越深,堆得越高,基礎(chǔ)越廣,堆得越快。如果你還是在校學(xué)生,請重視基礎(chǔ)理論課程,像數(shù)據(jù)結(jié)構(gòu),編譯原理,組成原理,數(shù)據(jù)庫理論等,學(xué)過這些基礎(chǔ)課程的人編出來的程序一定會比沒學(xué)過的人編的程序技術(shù)含量更高,更具靈活性.這是一個(gè)最堅(jiān)難的時(shí)期,基礎(chǔ)理論課程比較枯燥,難懂,而且往往這種教材陳舊,許多朋友開始學(xué)習(xí)的時(shí)候充滿激情,到后來學(xué)覺得沒味,教材也太老陳,我們承認(rèn),我國的本科教育教材落后是不爭的事實(shí),但計(jì)算機(jī)始終是二進(jìn)制的,那些最基礎(chǔ)的理論一直沒有變.如果你覺得大學(xué)里的教材實(shí)在學(xué)不進(jìn)去了,我的建議是不妨去上機(jī)實(shí)踐,學(xué)一門程序語言和開發(fā)工具(比如VC,VB),因?yàn)橹挥性趯?shí)際編程的過程你才會明白那些基礎(chǔ)理論的重要性,比如在編程過程中遇到設(shè)計(jì)結(jié)構(gòu)體,設(shè)計(jì)遍歷,匹配等算法時(shí)你才會明白數(shù)據(jù)結(jié)構(gòu)的重要性.另外,打好基礎(chǔ),以后學(xué)新的東西就會很快,舉個(gè)例子,我的一個(gè)網(wǎng)上的朋友,他有十年的DOS匯編基礎(chǔ),而我只有幾個(gè)月的基礎(chǔ),我們兩差不多同一時(shí)間開始學(xué)習(xí)win32匯編,到現(xiàn)在他的進(jìn)度已經(jīng)遠(yuǎn)遠(yuǎn)超過我了,而且寫的程序技術(shù)含量高,更底層.
3.建議初學(xué)者特別要注意"知識斷層"這個(gè)問題.經(jīng)常有朋友問我"為什么我學(xué)不懂操作糸統(tǒng)?","為什么我覺得C++那么難學(xué)?" ?我可以簡單地這樣回答你:因?yàn)槟愦嬖?quot;知識斷層".換句話說,你的知結(jié)構(gòu)不完善,基礎(chǔ)不扎實(shí).我個(gè)人認(rèn)為操作糸統(tǒng)原理沒有幾年實(shí)踐編程和扎實(shí)的基礎(chǔ)是不可能有較深刻的理解的,所以建議初學(xué)者才開始不應(yīng)該在操作糸統(tǒng)原理上花太多時(shí)間,才開的時(shí)候只需建立一些基本概念,只有在以后的編程實(shí)踐過程增加感性認(rèn)識(從操作糸統(tǒng)程序級接口來看),多問幾個(gè)為什么,帶著問題和感性認(rèn)識再回過頭來看操作糸統(tǒng)原理,你會發(fā)現(xiàn)理解起來容易了.我曾經(jīng)就是這樣,才開始看操作糸統(tǒng)原理怎么也看不懂,直到有一定的編程經(jīng)驗(yàn)后再回過頭來看就感覺輕松多了!再來說C++,我個(gè)人觀點(diǎn)認(rèn)為初學(xué)者不要學(xué)C++,OOP,因?yàn)闆]有編程經(jīng)驗(yàn)和一定的理論基礎(chǔ)你就很難理解為什么要"封裝",為什么要"繼承",為什么一個(gè)程序搞得那么復(fù)雜,C語言不是功能很強(qiáng)大了嗎?所以建議在沒有一定的編程經(jīng)驗(yàn)之前,不要學(xué)C++,不然你會感覺到底層的空虛,候捷說得好:"浮沙不能筑高臺"嘛!
4.你的電腦里面不應(yīng)該裝游戲,不要忘了游戲也是程序員編出來的,如果你真的熱愛編程的話,你就不會沉溺于游戲而是沉溺于程序代碼了.我有一個(gè)朋友,是電子科大的,學(xué)的是計(jì)算機(jī).他非常聰明,但整天沉溺于游戲,到現(xiàn)在什么都沒學(xué)到.我過去也很喜歡打游戲,像"英雄無敵","星際爭霸"呀,一玩就會把用電腦的時(shí)候全用上,雖然計(jì)劃學(xué)一些東西,但實(shí)際上收獲甚少,我想許多還在玩游戲的朋友都是有同感的.其實(shí)你可以思考一下游戲是怎么做出來的,它和普通的應(yīng)用程序有什么區(qū)別,雖然不一定會有實(shí)質(zhì)的收獲,但它會讓你帶著好奇心和問題去學(xué)習(xí),去編程.請記住,要想學(xué)好編程,就不要玩游戲.
5.盡快找一個(gè)突破口.一個(gè)人的精力是很有限的,不可能什么都學(xué),不可能,也不現(xiàn)實(shí).現(xiàn)在流行的程序語言就有好多種,不要道聽途說,今天聽人說JAVA有前途,就看幾天JAVA;再過幾天聽別人說C#出來,又去學(xué)C#,那樣只會讓人很累,結(jié)果什么都沒學(xué)好.建議初始者學(xué)編程的時(shí)候選擇比較底層的程序語言,比如匯編(win32匯編),C語言(SDK)等,那樣你會學(xué)到更多東西.(當(dāng)然在學(xué)匯編之前最好學(xué)過一門高中級語言).一旦做出選擇,就不要輕易放棄.其實(shí)許多計(jì)算機(jī)程序語言都是相通的,學(xué)精了一門,再學(xué)其他語言就水到渠成了.我是把win32匯編作為突破口,現(xiàn)在感覺學(xué)了很多東西,搞懂了許多API函數(shù)的用法,由于匯編的底層性,我對windows操作糸統(tǒng)的一些機(jī)理也有了一定的認(rèn)識.如果現(xiàn)在叫我用C(SDK)寫程序,就容易多了,根本不用花太多時(shí)間去學(xué).
6.認(rèn)真地寫幾個(gè)軟件.要敢于去想,并且付諸行動(dòng),你才會收獲更多.記得才學(xué)DOS實(shí)模式下匯編的時(shí)候,我很想做一個(gè)簡單的打字游戲,才開始的時(shí)候我以為自己做不出來,但我敢于去做,自己去問高手,去查資料,樂此不疲,最后把這個(gè)游戲做出來了,并且放在aogo匯編小站供大家下載,看到這么多人下載我寫的程序,很是有成就感.在編程的道路上我始終堅(jiān)信一句話:"沒有做不到,只有想不到".
最后,送大家一候捷文章中的詩句:
"時(shí)人不識凌云木,始到凌云方道高。"
- 1 回答
- 0 關(guān)注
- 961 瀏覽
添加回答
舉報(bào)