當(dāng)前位置:首頁 > 芯聞號(hào) > 充電吧
[導(dǎo)讀]謹(jǐn)以此文獻(xiàn)給所有想當(dāng)程序員的朋友 (一) 文章由來及個(gè)人經(jīng)歷 我是一名計(jì)算機(jī)專業(yè)的本科畢業(yè)生,畢業(yè)已經(jīng)1年多了。畢業(yè)后從事的是軟件編程工作,經(jīng)常有其他專業(yè)的朋友想從事軟件編程工作,向我請教如何,因

謹(jǐn)以此文獻(xiàn)給所有想當(dāng)程序員的朋友

(一) 文章由來及個(gè)人經(jīng)歷

我是一名計(jì)算機(jī)專業(yè)的本科畢業(yè)生,畢業(yè)已經(jīng)1年多了。畢業(yè)后從事的是軟件編程工作,經(jīng)常有其他專業(yè)的朋友想從事軟件編程工作,向我請教如何,因?yàn)槲易杂X涉行不深,不敢信口開河,無奈朋友信任,我不得不鄭重考慮一下這個(gè)問題了,來幫助朋友選擇和回報(bào)朋友的信任。

這也就是此文的由來。

還是先談?wù)勎覀€(gè)人的經(jīng)歷吧。(是不是有點(diǎn)俗套,但我覺得了解我的經(jīng)歷,有助于理解我話的含義;我一向認(rèn)為不了解古龍的生活經(jīng)歷的,不會(huì)真正讀懂古龍 的作品和古龍筆下的英雄的)我本科就讀于南方一所著名的高校(因?yàn)樽约旱牟怀蓺猓⒄勀感C^),學(xué)的就是計(jì)算機(jī)專業(yè)。上本科時(shí),幾乎沒有認(rèn)真的聽完一門專業(yè)課程,上課看報(bào)紙睡大覺,下課看錄像看小說看球賽,臨考抱佛腳,每次考試和課程設(shè)計(jì)都是蒙混過關(guān)。(于之相對是,我選修的工商管理和經(jīng)濟(jì)貿(mào)易方面的課 到是聽得不亦樂乎,考的分?jǐn)?shù)頗高,也許這才是我的真正興趣所在。)

總而言之,大學(xué)是混過來了,對專業(yè)的理解和掌握程度,應(yīng)該沒有達(dá)到畢業(yè)要求的合格水平。(也很后悔,但是有什么用呢,當(dāng)時(shí)不知道珍惜;如果上天再給 我一次機(jī)會(huì)的話,我一定會(huì)抓住,多看點(diǎn)美國大片少看點(diǎn)港片;現(xiàn)在,重回校園是我的一大理想)但是大學(xué)的學(xué)習(xí)使我有了一個(gè)簡單的知識(shí)框架(總算學(xué)費(fèi)沒白交),我對一個(gè)朋友這樣形容過我的這個(gè)知識(shí)框架,“它不是鋼筋鑄的,是稻草扎的”,哈哈哈,不要笑,真的,我敢說很多本科畢業(yè)的朋友的本專業(yè)的知識(shí)框架也只不過是“稻草扎的”。直到現(xiàn)在,我一直覺得自己的基礎(chǔ)知識(shí)還是很薄弱,一直想抓點(diǎn)時(shí)間,把基礎(chǔ)書本好好的溫習(xí)一下。(此項(xiàng)任務(wù)正在計(jì)劃和實(shí)施中)

畢業(yè)后,分配到某研究所工作。當(dāng)領(lǐng)導(dǎo)讓我選擇自己以后的工作方向時(shí),我毫不猶豫的選擇了軟件(也不知道到底是對還是錯(cuò),但我決不后悔)。此研究所主 要是以硬件為核心搞通信控制設(shè)備的研發(fā)生產(chǎn);軟件是輔助,所以也不受什么重視,很多搞軟件的人都跳槽走了,留下來的大都是一些已經(jīng)廢掉和行將廢掉的“偽/ 萎”程序員(名副其實(shí)的“軟件人員”)。在這里感覺不到什么高緊張和高技術(shù)程度的研究和開發(fā);軟件開發(fā)的技術(shù)含量極低,以致于大部分人只有半年的學(xué)習(xí)和開發(fā)經(jīng)驗(yàn),以后都是這些知識(shí)和經(jīng)驗(yàn)的重復(fù)利用。(我問過其他到研究所工作的同學(xué),他們說都一樣,嗚呼,我們的國防科研開發(fā)呀)對于軟件的開發(fā),領(lǐng)導(dǎo)的意志和 老掉牙的經(jīng)驗(yàn)在新課題的技術(shù)采用和開發(fā)中起了決定性作用,沒有明確的需求,沒有明確的開發(fā)計(jì)劃和進(jìn)度,大家在一天一天一周一周的浪費(fèi)著寶貴的時(shí)間,最后開發(fā)出來的東西修來改去,直至它變成垃圾。 我越來越認(rèn)識(shí)到一點(diǎn),要么象那些廢人一樣廢掉,要么自己去努力尋求出路,反正別指望從工作中得到什么高明的經(jīng)驗(yàn)了(教訓(xùn)倒也許有)。期間發(fā)生了一些感情上的糾紛,嚴(yán)重的影響了學(xué)習(xí)計(jì)劃和效果,直到現(xiàn)在浮躁的心仍然有些浮躁。

期間,我讀了一些書,看了一些文章,編過一些小例程,搞了一些沒有什么技術(shù)含量的開發(fā)工作,也和一些前輩和高手們談過聊過。 我一直在思考幾個(gè)問題;如何學(xué)習(xí)軟件開發(fā)?如何搞軟件開發(fā),國外的軟件開發(fā)到底其秘訣在何處?為何我們的軟件業(yè)一直在低水平徘徊?我們難道真的離了 Microsoft就活不了?我們的程序員到底在浪費(fèi)時(shí)間干些什么?軟件開發(fā)到底是如何分類的?我們?nèi)绾巫咦约旱拿褡遘浖罚?

我想了很久,一些想通了,一些還在想。但我知道有一點(diǎn)是肯定的,那就是我們一定要靠我們自己走出自己的軟件之路!跟在別人屁股后面永遠(yuǎn)受制于人!

好了,關(guān)于經(jīng)歷和牢騷就先寫這些吧,該進(jìn)入我們的正題了。


(二) 你適合當(dāng)程序員嗎,你知道編程序是怎么回事嗎?


1、 程序員意味著要編程序。(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就等老板發(fā)薪水,我奉勸你還是另找一份更合適的工作,譬如練攤,真的,兄弟,這份工作不適合你)

2、你是學(xué)文的還是學(xué)理的,編程序也許需要浪漫,但更需要邏輯和嚴(yán)謹(jǐn)。(說坦白點(diǎn)就是,在你沒有找到樂趣以前,它很枯燥)

3、你有對新技術(shù)追求的熱情嗎?你有刨根問底的探索精神嗎?(熱情絕對是最重要的!你仔細(xì)思考一下自己的性格適合當(dāng)程序員嗎?)

4、當(dāng)程序員決不是什么好差事,時(shí)刻需要學(xué)習(xí),需要思考。(直到你成為那個(gè)可以引導(dǎo)別人去學(xué)習(xí)和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)

5、程序員的未來很迷茫。(但我認(rèn)為關(guān)鍵看你自己!我希望你是一個(gè)有追求的人,不僅僅是混碗飯吃。因?yàn)檎嬲臉啡ぴ谟趧?chuàng)造;如果你能改變軟件業(yè)的歷史,那才是英雄;不想成為Bill Gates,不想成為Dennis Ritchie和 Bjarne Stroustrup,我會(huì)說你沒有追求。有個(gè)關(guān)于程序員未來的笑話,也許你還沒聽過,你該聽一聽,摘抄如下:

一個(gè)程序員對自己的未來很迷茫,于是去問上帝。 
“萬能的上帝呀,請你告訴我,我的未來會(huì)怎樣?” 
上帝說“我的孩子,你去問Lippman,他現(xiàn)在領(lǐng)導(dǎo)的程序員的隊(duì)伍可能是地球上最大的” 
于是他去問Lippman。 
Lippman說“程序員的未來就是駕馭程序員” 
這個(gè)程序員對這個(gè)未來不滿意,于是他又去問上帝。 
“萬能的上帝呀,請你告訴我,我的未來會(huì)怎樣?” 
上帝說“我的孩子,你去問Gates,他現(xiàn)在所擁有的財(cái)產(chǎn)可能是地球上最多的” 
于是他去問Gates。 
Gates說“程序員的未來就是榨取程序員” 
這個(gè)程序員對這個(gè)未來不滿意,于是他又去問上帝。 
“萬能的上帝呀,請你告訴我,我的未來會(huì)怎樣?” 
上帝說“我的孩子,你去問侯捷,他寫的計(jì)算機(jī)書的讀者可能是地球上最多的” 
于是他去問侯捷。 
侯捷說“程序員的未來就是誘惑程序員” 
這個(gè)程序員對這個(gè)未來不滿意,于是他又去問上帝。 
“萬能的上帝呀,請你告訴我,我的未來會(huì)怎樣?” 
上帝搖搖頭“唉,我的孩子,你還是別當(dāng)程序員了”)

6、當(dāng)程序員還是很有樂趣的。(當(dāng)你學(xué)到新知識(shí)時(shí),當(dāng)你有新的思想見解時(shí),當(dāng)你有新的產(chǎn)品問世時(shí),和知己探討你的成果時(shí)…我問你,覺得這些是樂趣嗎?)

7、當(dāng)程序員不易也不難。(世間事有難易乎?為之…;不為…。你有決心和信心嗎?)

8、你真的要當(dāng)程序員?是你自己的想法?

9、你舍得花錢買書嗎?(讀好書絕對是學(xué)習(xí)編程的最佳捷徑。你一定會(huì)說,現(xiàn)在電腦書籍真他XX的貴,沒法子,誰讓知識(shí)和技術(shù)在人家的腦袋,在人家的 書里呢;等你寫書時(shí)可以把價(jià)格定低一點(diǎn),記著還有好多沒錢但想買書的兄弟很困難呀。要舍得買書,買好書,不好的的書不如不讀,其害大于其益,關(guān)于買什么書,你可以問高手或看候捷的書評(píng);準(zhǔn)備一個(gè)小本子記錄你想買的書的名字,逛書店時(shí)看看,如果好就買下,記住要讀,別光買不看。) 10、我告訴你,程序就是:任何有目的的、預(yù)想好的動(dòng)作序列,它是一種軟件。

11、編程序就是編寫程序。

12、你想好了嗎?(如果你想好了還是決定要當(dāng)程序員,可以繼續(xù)往下讀;否則,你可以繼續(xù)尋找別的出路了。)

(三) 一個(gè)程序員應(yīng)該具備的基礎(chǔ)知識(shí)和概念

1、計(jì)算機(jī)是有什么組成的,CPU是什么東西,其工作原理是什么。(對于這些以及下面將要提到的概念我不會(huì)告訴你什么答案,你可以看相應(yīng)的教材,關(guān)于教材我會(huì)在下一部分詳述,記住理解最重要?。?

2、機(jī)器語言和微指令集的概念。

3、程序的概念。

4、匯編語言是低級(jí)語言但不是機(jī)器語言。

5、高級(jí)語言主要有那些?(C,C++,Basic,Pascal,F(xiàn)ortran,C#,Java等等;如果你是中國軟件業(yè)的英雄,你也寫一門語言,最好不用英語) 6、編譯程序和解釋程序的概念和其原理。(編譯器是高手和專家編寫的)

7、HTML、XML等是標(biāo)識(shí)性語言。

8、Prolog是人工智能語言。

9、操作系統(tǒng)OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,Linux,等等都是OS,還有一些實(shí)時(shí)OS,嵌入OS,編這些的絕對是高手)

10、Windows編程說白了就是Windows API的調(diào)用。(中國的程序員很多只是會(huì)編windows程序,用的是VB,我的建議是這些程序員頂多只是低級(jí)編碼員,我稱其是coder)

11、VC++、VB、BC、BCB、Delphi、VF等都只是編程的工具和環(huán)境,不是編程語言。

12、面向結(jié)構(gòu)的設(shè)計(jì)概念。

13、面向?qū)ο蟮母拍?。(好好理解,兄弟,這個(gè)東西還是很重要的)

14、軟件工程的概念和原理。(如果你想當(dāng)老總就需要好好研究了,系統(tǒng)分析員比編碼員要高一個(gè)等級(jí),薪水也高喲)

15、數(shù)據(jù)庫的概念。(要熟悉一些著名的數(shù)據(jù)庫系統(tǒng)和語言的名字,如Orcle,SQL,DB2,DyBase等)

16、了解網(wǎng)絡(luò)概念。

17、了解多媒體概念。

18、熟悉和掌握數(shù)據(jù)結(jié)構(gòu)和基本算法。

19、是不是要求太高了,別著急慢慢來,進(jìn)步在不知不覺之中。(一旦開始學(xué)習(xí),一個(gè)月以后你就會(huì)有一個(gè)基本的概念;兩個(gè)月以后你就會(huì)感覺自己有了全面的基礎(chǔ)知識(shí);當(dāng)你知道編程序是怎么回事時(shí),說明你已經(jīng)入門了。也有很多人編了很多年程序還沒有入門呢,你不會(huì)希望自己步其后塵吧。要有信心和耐心。沉不 住氣怎么能成大事??。?

(四) 教材推薦

――-推薦的教材主要還是針對概念來的,最好選用名校的教學(xué)用書。

1、《計(jì)算機(jī)組成原理》(熟悉)

2、《數(shù)據(jù)結(jié)構(gòu)》(掌握)

3、《操作系統(tǒng)》(了解->熟悉)

4、《The C language》(掌握)

5、《編譯原理》(了解原理)

6、《匯編語言》(了解)

7、《計(jì)算機(jī)網(wǎng)絡(luò)》(了解)

8、《軟件工程》(了解)

9、《關(guān)系數(shù)據(jù)庫》(熟悉)

10、《The C++Languege 》(掌握)

11、《面向?qū)ο笤O(shè)計(jì)》(掌握;結(jié)合C++學(xué)習(xí))


(五)一些經(jīng)驗(yàn)和體會(huì)

1、真正的程序員用C++;(一位專家說的)

2、動(dòng)手去編程序;

3、動(dòng)腦去思考;

4、要有良好的編程風(fēng)格;

5、讀書,讀好書,盡量讀原版書?。ㄎ曳磸?fù)強(qiáng)調(diào)這一點(diǎn),讀書要有選擇,堅(jiān)持讀好書,名家出的經(jīng)典書,不要浪費(fèi)實(shí)踐在一些粗制濫造的書上面;堅(jiān)持博覽群書)

6、有自己的學(xué)習(xí)計(jì)劃;

7、總結(jié)自己的經(jīng)驗(yàn)教訓(xùn);(準(zhǔn)備一個(gè)筆記本,記錄錯(cuò)誤和心得)

8、不要怕學(xué)新東西;

9、要有軟件工程的思想;

10、善于發(fā)現(xiàn)問題,然后去尋找答案;

11、向高手請教;(要虛心直到你成為高手)

12、和同行交流;(不善于交流肯定不行)

13、懂得軟件的實(shí)質(zhì),不要被千變?nèi)f化的表象所迷惑;

14、真正要學(xué)習(xí)用的是編程語言和方法,不是什么庫,什么類,什么工具;(學(xué)用那些什么庫都比較簡單,但光會(huì)這些庫,我覺得還遠(yuǎn)遠(yuǎn)不夠)

15、學(xué)習(xí)wiodows編程主要是學(xué)習(xí)windows OS和win32 API;

16、有空了解一下嵌入式開發(fā);

17、有空了解一下PDA軟件開發(fā);

18、了解一下.NET框架和C#語言,也許它是你新的衣食父母;

19、要有耐心,不要作浮躁的人; 20、對程序加注釋,并保留你的老程序;

21、學(xué)到的東西越多,了解的越多,你就越接近專家;

22、有空去逛逛CSDN,那里有你很多知己;

23、要有信心成為一個(gè)優(yōu)秀的程序;

(六)一些好書的推薦

1、《The C Programming language》(Keinighan & Dennis Ritchie 1988)

2、《The C++ Programming Languague》(Bjarne Stroustrup 1997)

3、《Inside The C++ Object Model》(lippmans)

4、《Effective C++》 (同上)

5、《More Effective C++》 (同上)

6、《Exceptional c++》

7、《C++面向?qū)ο蟾咝Ь幊獭?

8、《設(shè)計(jì)模式》

9、《Thinking In C++》

10、《The Standard C++ Bible》(一般推薦)

11、《The Art of Computer Programming 》

12、《Programming Windows》 (Charles Petzold)

13、《VC++5.0技術(shù)內(nèi)幕》

14、《MFC 深入淺出》

15、《軟件需求》

16、《Advanced Windows》

17、《C++ primer》

18、《win32程序員參考手冊》

19、《用TCP/IP進(jìn)行網(wǎng)際互連》

20、《COM 本質(zhì)論》

(七)學(xué)習(xí)計(jì)劃

――-這個(gè)學(xué)習(xí)計(jì)劃是我個(gè)人定的,也共享給大家參考一下,共同進(jìn)步吧。 1、《計(jì)算機(jī)組成原理》

2、《操作系統(tǒng)》

3、《數(shù)據(jù)結(jié)構(gòu)》

4、《匯編語言》

5、《 C 》

6、《 C++ 》

7、《VC 技術(shù)內(nèi)幕》

8、《Programming Windows》

9、《深入淺出MFC》

10、《Advanced Windows》

11、《Inside The C++ Object Model》

12、《Thinking in C++》

13、《Effective C++》

14、數(shù)據(jù)庫

15、網(wǎng)絡(luò)

16、嵌入式OS和編程

17、硬件單片機(jī)

18、.NET和C#

19、軟件工程

20、UNIX和Linux


(八)后記

一年來浪費(fèi)了大量的時(shí)間去摸索,去思考,走了很多的彎路,直到現(xiàn)在我還覺得自己是個(gè)編程的門外漢。我把我的一些體會(huì)和想法說出來(當(dāng)然,很多都不一 定正確,歡迎大家指正和討論),也許對一些想加入程序員行列的朋友有一些建議和幫助。希望能幫助這些朋友順利走上編程之路,成為高手。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉