導航:首頁 > 程序命令 > 程序員肥宅原版

程序員肥宅原版

發布時間:2022-04-21 02:16:52

『壹』 程序員除了會編程外 還需要了解什麼 看什麼書

經常看到大家詢問怎麼學習C/C++,unix編程等,也經常有人推薦相關的書籍,但是一直沒有個系統的總結。希望這篇帖子能對有志於軟體開發的網友有些幫助。
第一部分: C語言

第二部分: C++

第三部分: 演算法

第四部分: unix編程

第五部分: 操作系統

第六部分: 編程思想

第七部分: 軟體工程

第八部分: 應用

分類是希望有偏重者能比較方向性的學習。

至於推薦的書籍,有幾個原則:

1、公認,經典,教科書式的

2、每個條目給出完整的書名,作者,比較簡潔的介紹

3、有下載地址就更好

-----------------------------------------------------------------------------------

書籍列表如下:

格式為:

編號 | 書名 | 作者 | 介紹 | 下載地址 | 推薦說明

第一部分: C語言

1.1 | << The C Programming Language>> | K&R | 介紹缺 | 下載地址缺 | 謝win_hate推薦

1.2 | <> | Peter Van Der Linden | 介紹缺 | 下載地址缺 | 謝win_hate推薦

1.3 | 《C程序設計》| 譚浩強 |

C 語言入門強烈推薦譚浩強的《C程序設計》,我看的是第二版,現在應該有新版本的,好像還提到了 C++。

譚浩強我覺得是很難得的計算機教育家,

一生寫過很多書,都很不錯,還有他的那本《BASIC 語言》,當年都創了記錄了。

不過譚浩強寫的書都是教課本式的,

適合習慣於循序漸進式學習的人。

有點象岳不群說的,不象風清揚說的。

想一晚上學會《獨孤九劍》然後笑傲江湖的人就算了不用看了。

| 下載地址缺 | 謝flw推薦

第二部分: C++
2.1 | <> | Bjarne Stroustrup |

這是一本每個人都應該買但不一定要看的書,強烈建議初學者不要看這本書,否則可能會一頭霧水,失去信心,BS寫書本來就不怎麼樣,他自己都說他的書有些晦澀難懂,但是買一本放在書櫃里,有什麼不清楚的地方查查高人如何解析還是有必要的。中文版是裘老師翻譯的,以裘老師的深厚功力,技術上大家大可放心,但語言流暢上我就不敢認同了,況且這還是一本大書,如果要追求語言流暢的話,可能沒有兩3年是出不來的,而且國內的出版社又那麼急功近利,稿酬不高,做得那麼好有必要嗎?

2.2 | <> | lippman |

lippman的地位自然不用猜疑,此書也被評為C++的最佳入門書籍,也是Lipman寫得最認真的一本書,第3版在國內98年就有了。全書可謂是C++大全,深度適當,比較適合初學者,或者想對C++和程序設計有大概了解的讀者, 但就是比較厚,這也只能怪C++的源遠流長,總是在打園場,不斷增加新特性,讓我們這群讀者都不得不捧著這本大書品讀。中文版是潘老師翻譯的,文字通順,但缺乏味道,看著一本千來頁的書,而且前面一部分講的都是程序設計思想,容易令人產生睏倦,也難怪很多人半道出家學java

| 下載地址缺 | 謝tutuzhang 推薦

2.3 | <> | meyer |同下

2.4 | <> | meyer |

這年本書乃是改善設計思維和設計思想的必讀書籍,書中每個item莫不是經過千錘百煉之後得出。其中,effective比較淺顯易懂,每個 item都比較短,而more設計思想更進一層,有些item已經多多少少有設計模式的味道。我看過的是繁體版,這兩本書候老師翻譯得不錯(我覺得是候老師翻譯得最好的兩本書,比較認真),讀起來比較有味道。建議初學者在看完一本C++比較完整的書後直接拜讀此2書。

2.5 | <> |作者缺|

就是現在賣得比較熱的書,夢魘和候節翻譯的,翻譯得很好,語言很通順,技術上也很好,只是書中有些代碼我是調試不過,或許只能怪STL裡面有幾個經典錯誤,不知看這本書的讀者發現了沒有?我嚴重建議C++的初學者看這本書,先知道應該怎麼來用C++,怎麼來充分利用標准庫,而不是一頭鑽入C++的龐大晦澀語法裡面,先用標准庫才能養成良好的代碼編寫風格,更可以提高自己的實作能力,否則你如果花上一年半載在C++的語言細節上,可能自己都生氣為什麼還是寫不出好的程序出來,公欲善其事,必先利其器就是這個道理。

|下載地址缺 | 謝lenovo推薦

2.6 | <> | Andrei Alexandrescu|

這是天才Andrei Alexandrescu的作品,很好的一本高階書,此書我只是瀏覽一下大概,沒有仔細看,有些地方看不懂,全書把C++ 和設計模式融為一體,向人展示了許多不平常的設計技巧與設計規范,令人折服。但有些難度,還望各位慎重。至於裡面的技術實不實用,就要因人而異了。

|下載地址缺 | 謝lenovo推薦

2.7 | <> | 作者缺 | 據說書中展示了模板的精華之處

|下載地址缺 | 謝lenovo推薦

2.8 | <> |

Herb Sutter的書讀起來比較輕松,此2書可以作為effective與more effective的姐妹篇,寫作風格有些如蘇格拉底的提問式教學,但應用得還不夠火候。書的內容確實不錯,定位和effective差不多,但我個人而言還是更喜歡Meyer的書。More有中文版,有 Lostmouse翻譯,質量一般,翻譯給人的感覺比較倉促,很多地方都過於直譯,味道怪怪的。

|下載地址缺 | 謝lenovo推薦

2.9 | <> | lippman | 很簡單的一本書,初學者如果覺得自己確實很菜可以先看這本書,你肯定能看懂,也是lippman的書,但英文版有些地方值得商榷,還是看候節的中文版吧,翻譯得還可以,就是台灣味道太濃了些,有點喧賓奪主之嫌。如了門的讀者就沒必要看這本書了,看它還不如看lippman的inside the C++ object model呢。

|下載地址缺 | 謝lenovo推薦

2.10 | <> | 關於重用和程序庫設計的一本書,是由AT&T的Ellis夫婦寫的,書寫得很好,充分考慮了設計可重用程序庫的方方面面,對於每個想設計程序庫和的讀者都應該看這本書,中文版名是《設計和重用C++程序庫》,即將出版。

|下載地址缺 | 謝lenovo推薦

2.11 | <>| 我是覺得此書一般,並沒有外面吹的那麼好,可以說是中等偏上吧,要看就要看英文版的,中文版的千萬別看,那個譯者太不負責了 |下載地址缺 | 謝lenovo推薦

2.12 | <> | 據說人郵既要出版了,是由konnig夫婦寫的,如果你想知道cfront的歷史,還想清楚cfront的領導者,就找他們夫婦吧,那時,konig和BS是獨立的,而其它的人都是由konig夫人 Barbara領導的,konig在C++中可算是number 2,屬於學術派的那種,實際上C++也是分派別的。 英文版的質量肯定很好,有很多新的設計觀念,中文版還要期待,看看結果如何。 |下載地址缺 | 謝lenovo推薦

2.13 | <<16Accelerated C++>> | 也是koenig和Barbara夫婦寫的,據說很好,但我沒機會看,實在不敢評價。 |下載地址缺 | 謝lenovo推薦

2.14 | <>

|作者缺 | 作者是LCC的作者之一|下載地址缺 | 謝converse推薦

第三部分: 演算法
3.1 | <> 3卷 | D. E. Knuth |

本書內容博大精深,作者因為三卷書獲得美國計算機協會1974年圖靈獎(該獎被國際公認為計算機科學領域的最高獎項)。

本書作者D. E. Knuth是在計算機學界十分著名的學者,在本領域享有很高權威和盛名,他的這部著作是無數計算機專業人員的學習教材和參考讀物,也是許多專業研究工作者經常閱讀的經典。本書已被翻譯為幾十種文字在世界各地出版,英文原版書在國外已經是第11次印刷。

該書1999年底被American Scientist列為20世紀最佳12部學術專著之一(與狄拉克的量子力學、愛因斯坦的相對論、曼德布羅特的分形論、鮑林的化學鍵、羅素和懷特海德的數學基礎、馮諾意曼和摩根斯坦的博弈論、維納的控制論、伍德沃和霍夫曼的軌道對稱性、費曼的量子電動力學等科學史上的經典著作並列)。

|下載地址缺 | 專題說明見http://www.ndip.cn/computer/taocp/

3.2 | <>/<< Algorithms in C++>> | Robert Sedgewick | 針對c/C的,作者為 Knuth (高德納) 的學生

| 下載地址缺 | 謝win_hate推薦

第四部分: unix編程

4.1 | <> | Kernighan and Pike | 介紹缺 | 下載地址缺 | 謝win_hate推薦

4.3 | <> | Richard Stevens | 介紹缺 | 下載地址缺 | 謝win_hate推薦

4.4 | <>兩卷 | Richard Stevens| 全面,詳細,權威,經典! | 下載地址缺 | 謝lenovo推薦

4.5 | <> or linux programming unleashed k.wall | 介紹缺 | http: //joyfire.net/compress/linux_programming_unleashed.pdf | 謝yulc推薦

4.6 | <> | 作者缺 | 介紹缺 | 下載地址缺 | 謝fieryfox推薦

4.7 | <> | 作者缺 | 介紹缺 | 下載地址缺 | 謝fieryfox推薦

第五部分: 操作系統
5.1 | <<操作系統的設計與實現>> | Andrew S. Tanenbaum | 理論與實踐相結合 | 下載地址缺 | 謝win_hate推薦

5.2 | <> | 作者缺 | 介紹缺 | 下載地址缺 | 謝fieryfox推薦

5.3 | <> | 作者缺 | 介紹缺 | 下載地址缺 | 謝fieryfox推薦

5.4 | <>3卷 | 作者缺 | 介紹缺 | 下載地址缺 | 謝fieryfox推薦

第六部分: 編程思想

6.1 | <<程序設計實踐>> | Kernighan & Pike | 介紹缺 | 下載地址缺 | 謝win_hate推薦

6.2 | design pattern explained | alan和james | 看了上面這些書之後,沒有必要再只是關心C++ 了,即使你花上更多的時間在C++上面,也很難有大的進步,現在正是開始分析OOD的時候,design pattern就可以幫你深入了解設計的奧妙,更上一層樓,design pattern explained這本書淺顯易懂,對於pattern這個深奧的東西,能寫出這么好看的書,確實難得,讓人不得不佩服兩位作者的過人之處,全書通過兩個具體實例(autocad和etail)分析了Gamma95裡面的一些模式,對我而言,是看到這兒才真正明白Gamma 95裡面的一些模式的。中文版最近就要出版了,由透明翻譯,質量應該還可以。

| 下載地址缺 | 謝lenovo推薦

6.3 | <> |4人幫(指作者)|

這是一本嚴肅的書,這是一本重量級的書,這是一本難懂的書,如果你真正把這本書弄得清清楚楚了,我願意俯首向你請教。23個模式乃是以前OOD的一部分精華,4人幫(指作者)都是天才,此書是95年寫的,但它的影響至少有10年。對於初學者,除非那種開發經驗比較豐富,思維能力很強的讀者,最好先別看該書,而是先看上面的那本DPE。 中文版的翻譯只能說是差強人意,有一些錯誤,語句不太通順,是由南京大學的4位博士翻譯的,但在當時敢於翻譯此書,也令人佩服。 | 下載地址缺 | 謝lenovo推薦

第七部分: 軟體工程

7.1 | <<人月神話>> | Brooks | 介紹缺 | 下載地址缺 | 謝win_hate推薦

第八部分: 應用

8.1 | <> | 作者缺 | 介紹缺 | 下載地址缺 | 謝fieryfox推薦

8.2 | <> | 作者缺 | 介紹缺 | 下載地址缺 | 謝fieryfox推薦

8.4 | <> | 作者缺 | 介紹缺 | 下載地址缺 | 謝fieryfox推薦

『貳』 如何成為一個程序員

想要從零開始成為程序員,先不要著急的去學習,而是先要去了解程序員。

1.隨便在招聘網站搜索就會發現程序員會分有很多類型,那你就需要確定自己將來想要發展的方向,自己的職業規劃是什麼?

2.通過搜索可以看到,剛剛起步的程序員工資並不是很高而且學習階段也會比較忙,那這個時候你是不是靠考慮一下如何兼顧生活和工作?工資如何支配合理等問題(沒有經驗限制的工作相對較低)

php程序員崗位要求

關於學習建議你這樣試試看:

學習的方式基本可分為兩個類型,一個是碎片化的學習,一個是系統進修

  1. 你可以從網路上各機構大量的視頻或者書籍得到相關的學習資料。從大量的資料中,發現真正的干貨,從而不斷學習,這屬於碎片化的自習。由於自學周期比較長,還有不少小夥伴選擇是一邊工作賺取生活費,一邊再利用閑暇時間學習,當然如果你的精力充沛,這也是一個好辦法。

  2. 如果要報培訓班, 一定要找正規的培訓機構學習,不然容易被坑。培訓機構裡面的課程都是現在工作中需要用到的,時間短,基本上是可以讓你快速上手工作的。但是要把所有的知識點都消化就沒那麼快了,所以需要自己私下更加的努力,鞏固學習。

注意事項:

1. 自學要注意的是:自學入門時會很枯燥,不要兩天打魚三天曬網!!!切記

2. 在培訓機構里學習要注意的是:勤加練習、主動自學、有問題提,不懂的盡管問老師(把交的錢發揮到極致),不然之後再有問題就沒有這么好的機會能夠直接得到老師的指點了。

最後,祝願想要成為程序員的小夥伴都能心想事成哦(*^▽^*)~

『叄』 如何成為一個程序員

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

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

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

4、當程序員決不是什麼好差事,時刻需要學習,需要思考。(直到你成為那個可以引導別人去學習和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)

5、程序員的未來很迷茫。(但我認為關鍵看你自己!我希望你是一個有追求的人,不僅僅是混碗飯吃。因為真正的樂趣在於創造;如果你能改變軟體業的歷史,那才是英雄;不想成為Bill Gates,不想成為Dennis Ritchie和 Bjarne Stroustrup,我會說你沒有追求。有個關於程序員未來的笑話,也許你還沒聽過,你該聽一聽,摘抄如下:

一個程序員對自己的未來很迷茫,於是去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問Lippman,他現在領導的程序員的隊伍可能是地球上最大的」
於是他去問Lippman。
Lippman說「程序員的未來就是駕馭程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問Gates,他現在所擁有的財產可能是地球上最多的」
於是他去問Gates。
Gates說「程序員的未來就是榨取程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問侯捷,他寫的計算機書的讀者可能是地球上最多的」
於是他去問侯捷。
侯捷說「程序員的未來就是誘惑程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝搖搖頭「唉,我的孩子,你還是別當程序員了」)

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

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

8、你真的要當程序員?是你自己的想法?

9、你捨得花錢買書嗎?(讀好書絕對是學習編程的最佳捷徑。你一定會說,現在電腦書籍真他XX的貴,沒法子,誰讓知識和技術在人家的腦袋,在人家的書里呢;等你寫書時可以把價格定低一點,記著還有好多沒錢但想買書的兄弟很困難呀。要捨得買書,買好書,不好的的書不如不讀,其害大於其益,關於買什麼書,你可以問高手或看候捷的書評;准備一個小本子記錄你想買的書的名字,逛書店時看看,如果好就買下,記住要讀,別光買不看。) 10、我告訴你,程序就是:任何有目的的、預想好的動作序列,它是一種軟體。

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

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

(三) 一個程序員應該具備的基礎知識和概念

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

2、機器語言和微指令集的概念。

3、程序的概念。

4、匯編語言是低級語言但不是機器語言。

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

7、HTML、XML等是標識性語言。

8、Prolog是人工智慧語言。

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

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

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

12、面向結構的設計概念。

13、面向對象的概念。(好好理解,兄弟,這個東西還是很重要的)

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

15、資料庫的概念。(要熟悉一些著名的資料庫系統和語言的名字,如Orcle,SQL,DB2,DyBase等)

16、了解網路概念。

17、了解多媒體概念。

18、熟悉和掌握數據結構和基本演算法。

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

(四) 教材推薦

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

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

2、《數據結構》(掌握)

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

4、《The C language》(掌握)

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

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

7、《計算機網路》(了解)

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

9、《關系資料庫》(熟悉)

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

11、《面向對象設計》(掌握;結合C++學習)

(五)一些經驗和體會

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

2、動手去編程序;

3、動腦去思考;

4、要有良好的編程風格;

5、讀書,讀好書,盡量讀原版書!(我反復強調這一點,讀書要有選擇,堅持讀好書,名家出的經典書,不要浪費實踐在一些粗製濫造的書上面;堅持博覽群書)

6、有自己的學習計劃;

7、總結自己的經驗教訓;(准備一個筆記本,記錄錯誤和心得)

8、不要怕學新東西;

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

10、善於發現問題,然後去尋找答案;

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

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

13、懂得軟體的實質,不要被千變萬化的表象所迷惑;

14、真正要學慣用的是編程語言和方法,不是什麼庫,什麼類,什麼工具;(學用那些什麼庫都比較簡單,但光會這些庫,我覺得還遠遠不夠)

15、學習wiodows編程主要是學習windows OS和win32 API;

16、有空了解一下嵌入式開發;

17、有空了解一下PDA軟體開發;

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

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

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

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

23、要有信心成為一個優秀的程序;

(六)一些好書的推薦

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++面向對象高效編程》

8、《設計模式》

9、《Thinking In C++》

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

11、《The Art of Computer Programming 》

12、《Programming Windows》 (Charles Petzold)

13、《VC++5.0技術內幕》

14、《MFC 深入淺出》

15、《軟體需求》

16、《Advanced Windows》

17、《C++ primer》

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

19、《用TCP/IP進行網際互連》

20、《COM 本質論》

(七)學習計劃

――-這個學習計劃是我個人定的,也共享給大家參考一下,共同進步吧。 1、《計算機組成原理》

2、《操作系統》

3、《數據結構》

4、《匯編語言》

5、《 C 》

6、《 C++ 》

7、《VC 技術內幕》

8、《Programming Windows》

9、《深入淺出MFC》

10、《Advanced Windows》

11、《Inside The C++ Object Model》

12、《Thinking in C++》

13、《Effective C++》

14、資料庫

15、網路

16、嵌入式OS和編程

17、硬體單片機

18、.NET和C#

19、軟體工程

20、UNIX和Linux

『肆』 請問如何成自學為一名軟體工程師和程序員

大學英語-不要覺得好笑。我極力推薦這門課程是因為沒有專業文檔的閱讀能力是不可想像的。中文的翻譯往往在猴年馬月才會出來,而現在的許多出版社乾脆就直接把E文印刷上去。學習的方法是強迫自己看原版的教材,開始會看不懂,用多了自然熟練。吃得苦下得狠心絕對是任何行業都需要的品質。

計算機體系結構和匯編語言-關於體系結構的書遍地都是,而且也大同小異,倒是匯編有一本非常好的書《80x86匯編語言程序設計教程》(清華大學出版社,黑色封面,楊季文著)。你需要著重學習386後保護模式的程序設計。否則你在學習現代操作系統底層的一些東西的時候會覺得是在看天書。

計算機操作系統原理-我們的開發總是在特定的操作系統上進行,如果不是,只有一種可能:你在自己實現一個操作系統。無論如何,操作系統原理是必讀的。這就象我們為一個晶元製作外圍設備時,晶元基本的工作時序是必需了解的。這一類書也很多,我沒有發現哪一本書非常出眾。只是覺得在看完了這些書後如果有空就應該看看《Inside Windows 2000》(微軟出版社,我看的是E文版的,中文的書名想必是Windows 2000 技術內幕之類吧)。關於學習它的必要性,ZDNET上的另一篇文章已經有過論述。

數據結構和演算法-這門課程能夠決定一個人程序設計水平的高低,是一門核心課程。我首選的是清華版的(朱戰立,劉天時)。很多人喜歡買C++版的,但我覺得沒有必要。C++的語法讓演算法實現過程變得復雜多了,而且許多老師喜歡用模塊這一東西讓演算法變得更復雜。倒是在學完了C版的書以後再來瀏覽一下C++的版的書是最好的。

軟體工程-這門課程是越到後來就越發現它的重要,雖然剛開始看時就象看馬哲一樣不知所雲。我的建議是看《實用軟體工程》(黃色,清華)。不要花太多的時間去記條條框框,看不懂就跳過去。在每次自己完成了一個軟體設計任務(不管是練習還是工作)以後再來回顧回顧,每次都會有收獲。

Windows 程序設計-《北京大學出版社,Petzold著》我建議任何企圖設計Windows 程序的人在學習VC以前仔細的學完它。而且前面的那本《Inside Windows 2000》也最好放到這本書的後面讀。在這本書中,沒有C++,沒有GUI,沒有控制項。有的就是如何用原始的C語言來完成Windows 程序設計。在學完了它以後,你才會發現VC其實是很容易學的。千萬不要在沒有看完這本書以前提前學習VC,你最好碰都不要碰。我知道的許多名校甚至都已經用它作為教材進行授課。可見其重要。

上面的幾門課程我認為是必學的重要課程(如果你想做Windows 程序員)。

對於其它的課程有這樣簡單的選擇方法:如果你是計算機系的,請學好你所有的專業基礎課。如果不是,請參照計算機系的課程表。如果你發現自己看一本書時無法看下去了,請翻到書的最後,看看它的參考文獻,找到它們並學習它們,再回頭看這本書。如果一本書的書名中帶有「原理」兩個字,你一定不要去記憶它其中的細節,你應該以一天至少50頁的速度掌握其要領。盡可能多的在計算機上實踐一種理論或者演算法。

『伍』 自學程序員的學習順序和課程都是什麼

展開全部
基礎課程包括:計算機硬體基礎、計算機網路基礎、操作系統、計算機組成原理、計算機體系結構、資料庫原理、軟體工程、離散數學、演算法設計與分析、數據結構、編譯原理
編程語言可以根據需要選擇,底層開發人員必學:匯編語言、c、c++;web應用表示層開發人員:html、xml、javascript、jsp(或asp,php)等;普通應用程序開發:c++、vb、.net(其中包括多種語言,可根據現有基礎選擇)、java等。

如果你是學生,或者如果你有充足的時間。我建議你仔細的掌握下面的知識。我的建議是針對那些希望在IT技術上有所成就的初學者。同時我還列出了一些書目,這些書應該都還可以在書店買到。說實在的,我在讀其他人的文章時最大的心願就是希望作者列出一個書單。

大學英語——不要覺得好笑。我極力推薦這門課程是因為沒有專業文檔的閱讀能力是不可想像的。中文的翻譯往往在猴年馬月才會出來,而現在的許多出版社乾脆就直接把E文印刷上去。學習的方法是強迫自己看原版的教材,開始會看不懂,用多了自然熟練。吃得苦下得狠心絕對是任何行業都需要的品質。

計算機體系結構和匯編語言——關於體系結構的書遍地都是,而且也大同小異,倒是匯編有一本非常好的書。《80x86匯編語言程序設計教程》(清華大學出版社,黑色封面,楊季文著)。你需要著重學習386後保護模式的程序設計。否則你在學習現代操作系統底層的一些東西的時候會覺得是在看天書。

計算機操作系統原理——我們的開發總是在特定的操作系統上進行,如果不是,只有一種可能:你在自己實現一個操作系統。無論如何,操作系統原理是必讀的。這就象我們為一個晶元製作外圍設備時,晶元基本的工作時序是必需了解的。這一類書也很多,我沒有發現哪一本書非常出眾。只是覺得在看完了這些書後如果有空就應該看看《Inside Windows 2000》(微軟出版社,我看的是E文版的,中文的書名想必是Windows 2000 技術內幕之類吧)。

數據結構和演算法——這門課程能夠決定一個人程序設計水平的高低,是一門核心課程。我首選的是清華版的(朱戰立,劉天時)。很多人喜歡買C#版的,但我覺得沒有必要。C#的語法讓演算法實現過程變得復雜多了,而且許多老師喜歡用模塊這一東西讓演算法變得更復雜。倒是在學完了C版的書以後再來瀏覽一下C#的版的書是最好的。

軟體工程——這門課程是越到後來就越發現它的重要,雖然剛開始看時就象看馬哲一樣不知所雲。我的建議是看《實用軟體工程》(黃色,清華)。不要花太多的時間去記條條框框,看不懂就跳過去。在每次自己完成了一個軟體設計任務(不管是練習還是工作)以後再來回顧回顧,每次都會有收獲。

Windows 程序設計——《北京大學出版社,Petzold著》我建議任何企圖設計Windows 程序的人在學習VC以前仔細的學完它。而且前面的那本《Inside Windows 2000》也最好放到這本書的後面讀。

在這本書中,沒有C++,沒有GUI,沒有控制項。有的就是如何用原始的C語言來完成Windows 程序設計。在學完了它以後,你才會發現VC其實是很容易學的。千萬不要在沒有看完這本書以前提前學習VC,你最好碰都不要碰。我知道的許多名校甚至都已經用它作為教材進行授課。可見其重要。

上面的幾門課程我認為是必學的重要課程(如果你想做Windows 程序員)。

對於其它的課程有這樣簡單的選擇方法:如果你是計算機系的,請學好你所有的專業基礎課。如果不是,請參照計算機系的課程表。如果你發現自己看一本書時無法看下去了,請翻到書的最後,看看它的參考文獻,找到它們並學習它們,再回頭看這本書。如果一本書的書名中帶有「原理」兩個字,你一定不要去記憶它其中的細節,你應該以一天至少50頁的速度掌握其要領。盡可能多的在計算機上實踐一種理論或者演算法。

你還可以在CSDN上閱讀到許多書評。這些書評能夠幫助你決定讀什麼樣的書。

『陸』 如果,我想當一名程序員,如何從零開始

1、 程序員意味著要編程序。(如果你僅僅想得到一份高薪水的工作,喝喝咖啡就等老闆發薪水,我奉勸你還是另找一份更合適的工作,譬如練攤,真的,兄弟,這份工作不適合你)
2、你是學文的還是學理的,編程序也許需要浪漫,但更需要邏輯和嚴謹。(說坦白點就是,在你沒有找到樂趣以前,它很枯燥)
3、你有對新技術追求的熱情嗎?你有刨根問底的探索精神嗎?(熱情絕對是最重要的!你仔細思考一下自己的性格適合當程序員嗎?)
4、當程序員決不是什麼好差事,時刻需要學習,需要思考。(直到你成為那個可以引導別人去學習和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)
5、程序員的未來很迷茫。(但我認為關鍵看你自己!我希望你是一個有追求的人,不僅僅是混碗飯吃。因為真正的樂趣在於創造;如果你能改變軟體業的歷史,那才是英雄;不想成為Bill Gates,不想成為Dennis Ritchie和 Bjarne Stroustrup,我會說你沒有追求。有個關於程序員未來的笑話,也許你還沒聽過,你該聽一聽,摘抄如下:
一個程序員對自己的未來很迷茫,於是去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問Lippman,他現在領導的程序員的隊伍可能是地球上最大的」
於是他去問Lippman。
Lippman說「程序員的未來就是駕馭程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問Gates,他現在所擁有的財產可能是地球上最多的」
於是他去問Gates。
Gates說「程序員的未來就是榨取程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝說「我的孩子,你去問侯捷,他寫的計算機書的讀者可能是地球上最多的」
於是他去問侯捷。
侯捷說「程序員的未來就是誘惑程序員」
這個程序員對這個未來不滿意,於是他又去問上帝。
「萬能的上帝呀,請你告訴我,我的未來會怎樣?」
上帝搖搖頭「唉,我的孩子,你還是別當程序員了」)
6、當程序員還是很有樂趣的。(當你學到新知識時,當你有新的思想見解時,當你有新的產品問世時,和知己探討你的成果時…我問你,覺得這些是樂趣嗎?)
7、當程序員不易也不難。(世間事有難易乎?為之…;不為…。你有決心和信心嗎?)
8、你真的要當程序員?是你自己的想法?
9、你捨得花錢買書嗎?(讀好書絕對是學習編程的最佳捷徑。你一定會說,現在電腦書籍真他XX的貴,沒法子,誰讓知識和技術在人家的腦袋,在人家的書里呢;等你寫書時可以把價格定低一點,記著還有好多沒錢但想買書的兄弟很困難呀。要捨得買書,買好書,不好的的書不如不讀,其害大於其益,關於買什麼書,你可以問高手或看候捷的書評;准備一個小本子記錄你想買的書的名字,逛書店時看看,如果好就買下,記住要讀,別光買不看。) 10、我告訴你,程序就是:任何有目的的、預想好的動作序列,它是一種軟體。
11、編程序就是編寫程序。
12、你想好了嗎?(如果你想好了還是決定要當程序員,可以繼續往下讀;否則,你可以繼續尋找別的出路了。)
(三) 一個程序員應該具備的基礎知識和概念
1、計算機是有什麼組成的,CPU是什麼東西,其工作原理是什麼。(對於這些以及下面將要提到的概念我不會告訴你什麼答案,你可以看相應的教材,關於教材我會在下一部分詳述,記住理解最重要!)
2、機器語言和微指令集的概念。
3、程序的概念。
4、匯編語言是低級語言但不是機器語言。
5、高級語言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;如果你是中國軟體業的英雄,你也寫一門語言,最好不用英語) 6、編譯程序和解釋程序的概念和其原理。(編譯器是高手和專家編寫的)
7、HTML、XML等是標識性語言。
8、Prolog是人工智慧語言。
9、操作系統OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,Linux,等等都是OS,還有一些實時OS,嵌入OS,編這些的絕對是高手)
10、Windows編程說白了就是Windows API的調用。(中國的程序員很多隻是會編windows程序,用的是VB,我的建議是這些程序員頂多隻是低級編碼員,我稱其是coder)
11、VC++、VB、BC、BCB、Delphi、VF等都只是編程的工具和環境,不是編程語言。
12、面向結構的設計概念。
13、面向對象的概念。(好好理解,兄弟,這個東西還是很重要的)
14、軟體工程的概念和原理。(如果你想當老總就需要好好研究了,系統分析員比編碼員要高一個等級,薪水也高喲)
15、資料庫的概念。(要熟悉一些著名的資料庫系統和語言的名字,如Orcle,SQL,DB2,DyBase等)
16、了解網路概念。
17、了解多媒體概念。
18、熟悉和掌握數據結構和基本演算法。
19、是不是要求太高了,別著急慢慢來,進步在不知不覺之中。(一旦開始學習,一個月以後你就會有一個基本的概念;兩個月以後你就會感覺自己有了全面的基礎知識;當你知道編程序是怎麼回事時,說明你已經入門了。也有很多人編了很多年程序還沒有入門呢,你不會希望自己步其後塵吧。要有信心和耐心。沉不住氣怎麼能成大事?!)
(四) 教材推薦
――-推薦的教材主要還是針對概念來的,最好選用名校的教學用書。
1、《計算機組成原理》(熟悉)
2、《數據結構》(掌握)
3、《操作系統》(了解->熟悉)
4、《The C language》(掌握)
5、《編譯原理》(了解原理)
6、《匯編語言》(了解)
7、《計算機網路》(了解)
8、《軟體工程》(了解)
9、《關系資料庫》(熟悉)
10、《The C++Languege 》(掌握)
11、《面向對象設計》(掌握;結合C++學習)
(五)一些經驗和體會
1、真正的程序員用C++;(一位專家說的)
2、動手去編程序;
3、動腦去思考;
4、要有良好的編程風格;
5、讀書,讀好書,盡量讀原版書!(我反復強調這一點,讀書要有選擇,堅持讀好書,名家出的經典書,不要浪費實踐在一些粗製濫造的書上面;堅持博覽群書)
6、有自己的學習計劃;
7、總結自己的經驗教訓;(准備一個筆記本,記錄錯誤和心得)
8、不要怕學新東西;
9、要有軟體工程的思想;
10、善於發現問題,然後去尋找答案;
11、向高手請教;(要虛心直到你成為高手)
12、和同行交流;(不善於交流肯定不行)
13、懂得軟體的實質,不要被千變萬化的表象所迷惑;
14、真正要學慣用的是編程語言和方法,不是什麼庫,什麼類,什麼工具;(學用那些什麼庫都比較簡單,但光會這些庫,我覺得還遠遠不夠)
15、學習wiodows編程主要是學習windows OS和win32 API;
16、有空了解一下嵌入式開發;
17、有空了解一下PDA軟體開發;
18、了解一下.NET框架和C#語言,也許它是你新的衣食父母;
19、要有耐心,不要作浮躁的人; 20、對程序加註釋,並保留你的老程序;
21、學到的東西越多,了解的越多,你就越接近專家;
22、有空去逛逛CSDN,那裡有你很多知己;
23、要有信心成為一個優秀的程序;
(六)一些好書的推薦
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++面向對象高效編程》
8、《設計模式》
9、《Thinking In C++》
10、《The Standard C++ Bible》(一般推薦)
11、《The Art of Computer Programming 》
12、《Programming Windows》 (Charles Petzold)
13、《VC++5.0技術內幕》
14、《MFC 深入淺出》
15、《軟體需求》
16、《Advanced Windows》
17、《C++ primer》
18、《win32程序員參考手冊》
19、《用TCP/IP進行網際互連》
20、《COM 本質論》
(七)學習計劃
――-這個學習計劃是我個人定的,也共享給大家參考一下,共同進步吧。 1、《計算機組成原理》
2、《操作系統》
3、《數據結構》
4、《匯編語言》
5、《 C 》
6、《 C++ 》
7、《VC 技術內幕》
8、《Programming Windows》
9、《深入淺出MFC》
10、《Advanced Windows》
11、《Inside The C++ Object Model》
12、《Thinking in C++》
13、《Effective C++》
14、資料庫
15、網路
16、嵌入式OS和編程
17、硬體單片機
18、.NET和C#
19、軟體工程
20、UNIX和Linux

『柒』 一個合格的程序員應該讀過哪些書

1、《代碼大全》 史蒂夫·邁克康奈爾
推薦數:1684

「優秀的編程實踐的網路全書,《代碼大全》注重個人技術,其中所有東西加起來, 就是我們本能所說的「編寫整潔的代碼」。這本書有50頁在談論代碼布局。」 —— Joel Spolsky

對於新手來說,這本書中的觀念有點高階了。到你准備閱讀此書時,你應該已經知道並實踐過書中99%的觀念。– esac

Steve McConnell的原作《代碼大全》(第1版)是公認的關於編程的最佳實踐指南之一, 在過去的十多年間,本書一直在幫助開發人員編寫更好的軟體。

現在,作者將這本經典著作全新演繹,融入了最前沿的實踐技術,加入了上百個嶄新的代碼示例, 充分展示了軟體構建的藝術性和科學性。 McConnell匯集了來自研究機構、學術界以及業界日常實踐的主要知識, 把最高效的技術和最重要的原理交織融會為這本既清晰又實用的指南。

無論您的經驗水平如何,也不管您在怎樣的開發環境中工作,也無論項目是大是小, 本書都將激發您的思維並幫助您構建高品質的代碼。

《代碼大全(第2版))》做了全面的更新,增加了很多與時俱進的內容,包括對新語言、新的開發過程與方法論的討論等等。

2、《程序員修煉之道》
推薦數:1504

對於那些已經學習過編程機制的程序員來說,這是一本卓越的書。 或許他們還是在校生,但對要自己做什麼,還感覺不是很安全。

就像草圖和架構之間的差別。雖然你在學校課堂上學到的是畫圖,你也可以畫的很漂亮, 但如果你覺得你不太知道從哪兒下手,如果某人要你獨自畫一個P2P的音樂交換網路圖,那這本書就適合你了。—— Joel

《程序員修煉之道:從小工到專家》內容簡介:《程序員修煉之道》由一系列獨立的部分組成, 涵蓋的主題從個人責任、職業發展,知道用於使代碼保持靈活、並且易於改編和復用的各種架構技術, 利用許多富有娛樂性的奇聞軼事、有思想性的例子及有趣的類比, 全面闡釋了軟體開發的許多不同方面的最佳實踐和重大陷阱。

無論你是初學者,是有經驗的程序員,還是軟體項目經理,《程序員修煉之道:從小工到專家》都適合你閱讀。

3、《計算機程序的構造和解釋》
推薦數:916

就個人而言,這本書目前為止對我影響醉倒的一本編程書。

《代碼大全》、《重構》和《設計模式》這些經典書會教給你高效的工作習慣和交易細節。 其他像《人件集》、《計算機編程心理學》和《人月神話》這些書會深入軟體開發的心理層面。 其他書籍則處理演算法。這些書都有自己所屬的位置。

然而《計算機程序的構造和解釋》與這些不同。 這是一本會啟發你的書,它會燃起你編寫出色程序的熱情; 它還將教會你認識並欣賞美; 它會讓你有種敬畏,讓你難以抑制地渴望學習更多的東西。

其他書或許會讓你成為一位更出色的程序員,但此書將一定會讓你成為一名程序員。

同時,你將會學到其他東西,函數式編程(第三章)、惰性計算、元編程、虛擬機、解釋器和編譯器。

一些人認為此書不適合新手。 個人認為,雖然我並不完全認同要有一些編程經驗才能讀此書,但我還是一定推薦給初學者。 畢竟這本書是寫給著名的6.001,是麻省理工學院的入門編程課程。 此書或許需要多做努力(尤其你在做練習的時候,你也應當如此),但這個價是對得起這本書的。

4、《C程序設計語言》
推薦數:774

這本書簡潔易讀,會教給你三件事:C 編程語言;如何像程序員一樣思考;底層計算模型。 (這對理解「底層」非常重要)—— Nathan

《C程序設計語言》(第2版新版)講述深入淺出,配合典型例證,通俗易懂,實用性強, 適合作為大專院校計算機專業或非計算機專業的C語言教材,也可以作為從事計算機相關軟硬體開發的技術人員的參考書。

《C程序設計語言》(第2版新版)原著即為C語言的設計者之一Dennis M.Ritchie和著名的計算機科學家Brian W.Kernighan合著的 一本介紹C語言的權威經典著作。 我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。 原著第1版中介紹的C語言成為後來廣泛使用的C語言版本——標准C的基礎。

人們熟知的「hello,world」程序就是由本書首次引入的,現在,這一程序已經成為所有程序設計語言入門的第一課。

5、《演算法導論》
推薦數:671

《代碼大全》教你如何正確編程; 《人月神話》教你如何正確管理; 《設計模式》教你如何正確設計……

在我看來,代碼只是一個工具,並非精髓。 開發軟體的主要部分是創建新演算法或重新實現現有演算法。 其他部分則像重新組裝樂高磚塊或創建「管理」層。

我依然夢想這樣的工作,我的大部分時間(>50%)是在寫演算法,其他「管理」細節則留給其他人…… —— Ran Biron

經典的演算法書,被亞馬遜網,《程序員》等評選為2006年最受讀者喜愛的十大IT圖書之一。
演算法領域的標准教材,全球多所知名大學選用
MIT名師聯手鑄就,被譽為「計算機演算法的聖經」
編寫上採用了「五個一」,即一章介紹一個演算法、一種設計技術、一個應用領域和一個相關話題。
6、《重構:改善既有代碼的設計》
推薦數:617

《重構:改善既有代碼的設計》清晰地揭示了重構的過程,解釋了重構的原理和最佳實踐方式, 並給出了何時以及何地應該開始挖掘代碼以求改善。 書中給出了70多個可行的重構,每個重構都介紹了一種經過驗證的代碼變換手法的動機和技術。

《重構:改善既有代碼的設計》提出的重構准則將幫助你一次一小步地修改你的代碼,從而減少了開發過程中的風險。

《重構:改善既有代碼的設計》適合軟體開發人員、項目管理人員等閱讀, 也可作為高等院校計算機及相關專業師生的參考讀物。

我想我不得不推薦《重構》:改進現有代碼的設計。—— Martin

我必須承認,我最喜歡的編程語錄是出自這本書:任何一個傻瓜都能寫出計算機能理解的程序, 而優秀的程序員卻能寫出別人能讀得懂的程序。—— Martin Fowler

7、《設計模式》
推薦數:617

自1995年出版以來,本書一直名列Amazon和各大書店銷售榜前列。 近10年後,本書仍是Addison-Wesley公司2003年最暢銷的圖書之一。 中文版銷售逾4萬冊。

就我而言,我認為四人幫編著的《設計模式》是一本極為有用的書。 雖然此書並不像其他建議一樣有關「元」編程,但它強調封裝諸如模式一類的優秀編程技術, 因而鼓勵其他人提出新模式和反模式(antipatterns),並運用於編程對話中。—— Chris Jester-Young

8、《人月神話》
推薦數:588

在軟體領域,很少能有像《人月神話》一樣具有深遠影響力並且暢銷不衰的著作。

Brooks博士為人們管理復雜項目提供了最具洞察力的見解。 既有很多發人深省的觀點,又有大量軟體工程的實踐。 本書內容來自Brooks博士在IBM公司System/360家族和OS/360中的項目管理經驗。

該書英文原版一經面世,即引起業內人士的強烈反響,後又譯為德、法、日、俄中等多種語言,全球銷量數百萬冊。 確立了其在行業內的經典地位。

9、《計算機程序設計藝術》
推薦數:542

《計算機程序設計藝術》系列著作對計算機領域產生了深遠的影響。 這一系列堪稱一項浩大的工程,自1962年開始編寫,計劃出版7卷,目前已經出版了4卷。

《美國科學家》雜志曾將這套書與愛因斯坦的《相對論》等書並列稱為20世紀最重要的12本物理學著作。 目前Knuth正將畢生精力投入到這部史詩性著作的撰寫中。

這是高德納傾注心血寫的一本書。—— Peter Coulton

10、《編譯原理》(龍書)
推薦數:462

我很奇怪,居然沒人提到龍書。(或許已有推薦,我沒有看到)。 我從沒忘過此書的第一版封面。 此書讓我知道了編譯器是多麼地神奇絕妙。- DB

閱讀全文

與程序員肥宅原版相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:569
python員工信息登記表 瀏覽:369
高中美術pdf 瀏覽:153
java實現排列 瀏覽:505
javavector的用法 瀏覽:974
osi實現加密的三層 瀏覽:225
大眾寶來原廠中控如何安裝app 瀏覽:906
linux內核根文件系統 瀏覽:235
3d的命令面板不見了 瀏覽:520
武漢理工大學伺服器ip地址 瀏覽:141
亞馬遜雲伺服器登錄 瀏覽:517
安卓手機如何進行文件處理 瀏覽:65
mysql執行系統命令 瀏覽:923
php支持curlhttps 瀏覽:136
新預演算法責任 瀏覽:437
伺服器如何處理5萬人同時在線 瀏覽:244
哈夫曼編碼數據壓縮 瀏覽:419
鎖定伺服器是什麼意思 瀏覽:379
場景檢測演算法 瀏覽:612
解壓手機軟體觸屏 瀏覽:343