⑴ 如何成為編程高手,程序員要看什麼樣的書籍,有經驗的人說一聲,做好是大師級別的人物
作者:金蝶中間件公司CTO袁紅崗
不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。
1. 扎實的基礎。數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握他們,很難寫出高水平的程序。據我的觀察,學計算機專業的人比學其他專業的人更能寫出高質量的軟體。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。
2. 豐富的想像力。不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。另外,多看科幻電影也是一個很好的途徑。
3. 最簡單的是最好的。這也許是所有科學都遵循的一條准則,如此復雜的質能互換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復雜的方案。
4. 不鑽牛角尖。當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩游戲,而且是那種極暴力的打鬥類游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。
5. 對答案的渴求。人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6. 多與別人交流。三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。
7. 良好的編程風格。注意養成良好的習慣,代碼的縮進編排,變數的命名規則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚地表達了你的思想,就不必再加註釋了,如果注釋和代碼不一致,那就更加糟糕。
8. 韌性和毅力。這也許是"高手"和一般程序員最大的區別。A good programming is 99 weat and 1ffee。高手們並不是天才,他們是在無數個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
⑵ 軟體開發工作人員必讀的書籍有哪些,特別是剛剛工作的
1
「優秀的編程實踐的網路全書,《代碼大全》注重個人技術,其中所有東西加起來, 就是我們本能所說的「編寫整潔的代碼」。這本書有50頁在談論代碼布局。」
—— Joel Spolsky
推薦指數:★★★★
《代碼大全》教你如何正確編程; 《人月神話》教你如何正確管理; 《設計模式》教你如何正確設計......
在我看來,代碼只是一個工具,並非精髓。 開發軟體的主要部分是創建新演算法或重新實現現有演算法,其他部分則像重新組裝樂高磚塊或創建「管理」層。
經典的演算法書,被亞馬遜網,《程序員》等評選為2006年最受讀者喜愛的十大IT圖書之一。
演算法領域的標准教材,全球多所知名大學選用
MIT名師聯手鑄就,被譽為「 計算機演算法的聖經 」
編寫上採用了「五個一」,即一章介紹、一個演算法、一種設計技術、一個應用領域和一個相關話題。
書籍資源:wechat—「上雲培訓」
⑶ 編程學習必看的書
首先說一說進入計算機專業的目的,我個人是因為十分喜歡IT業,很喜歡折騰電腦,所以在填報志願是毫不猶豫的在報了的所有的學校都填寫的計算機專業,夢想著進入計算機專業後能遇見很多高手,能交到幾個知己,誰之進來後卻大失所望。計算機專業的學生有很多以前對計算機不怎麼了解,而且還有部分人進大學前連計算機摸都沒摸過,對計算機很熟悉的很少,高手更是鳳毛麟角,大多數人是服從了父母之命,顯而易見,目前社會最熱的行業是IT業,工資最高的也是IT業,抱著這個因素,大多數考生的父母都讓自己的孩子進入了計算機專業,而大多數學生也天真的認為從計算機專業畢業後就能夠像電視里演的大多數白領一樣每天只用坐在辦公室里和同事們聊聊天,和老闆吃吃飯,每天簽幾個字然後就有高工資等著你去拿。
進校後他們發現其實他們在專業課方面什麼都聽不懂,自己也一點興趣都沒有,沒有興趣那就沒有學習的動力,而且這個專業是要靠悟性的,而興趣是培養悟性的第一步,然後他們會發現越往後學專業課越難,也越聽不懂,好一點的就會狠下心來,硬著頭皮苦學一通,有可能也就能走出一片路來,而不好的就會就此放棄,只需要混著考試通過,混畢業,找個單位安心上班。有些人上了幾年學連自己上哪些課都不知道;拿個程序他分不清是用C語言寫的還是用PASCAL寫的;不小心進了DOS不知道怎麼再回到WINDOWS。但說起游戲來頭頭是道,好像每個都是職業玩家一樣,有的每天只知道泡在網吧。這就是中國計算機人才下一代的悲哀!
再說現在計算機專業大學生的學習和生活。大多數計算機專業的學生對本專業的發展及前景一無所知,每天都是看小說、玩游戲、看電影、打牌、喝酒、睡覺等等很有"前途"的事情。偶爾看見一兩個同學看看與計算機專業有關的書,跑去拿來一看,全是什麼"游戲攻略"、"黑客秘技"等此類書籍。還有的人連C語言和C++誰是誰都還沒搞清楚,就拿本VC的書"刻苦鑽研",真不知他們看懂了沒有。好多學生都買了電腦,但用處都是游戲機+碟機+音響,每天都在用電腦玩著各種流行的游戲、看著最新的大片、聽著時尚的音樂,就是不用電腦學習。有的學生甚至問我電腦除了玩游戲還能幹什麼,我問他你為什麼這么問,他告訴我他覺得電腦只能用來玩游戲,不知道還能不能乾乾別的什麼。據我了解,近幾年在國內好幾所高校的計算機專業的畢業生的畢業設計竟然是做網頁,在大學了四年,學完了《數據結構》、《軟體工程》、《C語言》等專業課後,竟然交了一個沒有學過計算機的人自學一兩天就能做好的東西!
這就是大多數計算機專業的學生,在我在大學玩了兩年之後,我突然明白該為自己的未來打算打算了,但還有許多人仍然還什麼都不明白,所以就有了這篇文章。
如果你是以上我說的那種受父母之命來學計算機的學生,如果你看了《計算機應用文摘》第15期的《寫給想當程序員的朋友》一文後,發現自己沒有當程序員的慾望,那麼我這里有幾條路給你選擇:
1、網頁製作,將來去網站工作!
2、學習3D MAX等軟體,去作動畫!
3、學習美術設計!
4、網路,將來考個CCNA,去專業組網!
5、在保證能順利畢業的前提下,去瘋狂玩游戲,做個職業玩家或做一個或幾個網路游戲的GM。(我身邊就有這樣的人)
6、以上五條都與計算機有關,要有一定的專業知識,但比起你的專業課簡單多了。如果你看到這里還不覺得有適合你乾的,那這條最適合你:在你們學校去修雙學位,修一個自己感興趣的專業,計算機真的不適合你!
如果以上幾條有適合你的,那麼你就努力去做適合你的那一片天地,去看雜志的下一篇文章,下面的文字你看了只會浪費你的時間。
如果你是計算機專業的在校大學生,而且想當程序員,那麼請往下看:
1、大學生活豐富多彩,會令你一生都難忘,但難忘有很多種,你可以學了很多東西而難忘,也會因為什麼都沒學到而難忘!
2、計算機專業是一個很枯燥的專業,但即來之、則安之,只要你努力學,也會發現其中的樂趣的。
3、記住:萬丈高樓平地起!基礎很重要,尤其是專業基礎課,只有打好基礎才能學得更深。
4、C語言是基礎,很重要,如果你不學好C語言,那麼什麼高級語言你都學不好。
5、C語言與C++語言是兩回事。就象大熊貓和小熊貓一樣,只是名字很像!
6、請先學習專業課《數據結構》、《計算機組成原理》,不要剛開始就拿著一本VC在看,你連面向對象都搞不清楚,看VC沒有任何用處。
7、對編程有一定的認識後,就可以學習C++了。(是C++而不是VC,這兩個也是兩碼事!C++是一門語言,而VC教程則是講解如何使用MFC類庫,學習VC應建立在充分了解C++的基礎之上。看VC的書,是學不了C++語言的。)
8、學習編程的秘訣是:編程,編程,再編程;
9、認真學習每一門專業課,那是你的吃飯碗。
10、在學校的實驗室就算你做錯一萬次程序都不會有人罵你,如果你在公司你試試看!所以多去實驗室上機,現在錯的多了,畢業後就錯的少了。
11、從現在開始,在寫程序時就要養成良好的習慣。
12、不要漏掉書中任何一個練習題--請全部做完並記錄下解題思路。
13、你會買好多參考書,那麼請把書上的程序例子親手輸入到電腦上實踐,即使配套光碟中有源代碼。
14、VC、C#、.NET這些東西都會過時,不會過時的是數據結構和優秀的演算法!
15、記住:書到用時方恨少。不要讓這種事發生在你身上,在學校你有充足的時間和條件讀書,多讀書,如果有條件多讀原版書,你要知道,當一個翻譯者翻譯一本書時,他會不知不覺把他的理念寫進書中,那本書就會變得像雞肋!
16、我還是強調認真聽專業課,因為有些課像《數據結構》、《編譯原理》、《操作系統》等等,這種課老師講一分鍾能讓你明白的內容,你自己看要看好幾個月,有的甚至看了好幾年都看不明白。
17、抓住在學校里的各種實踐的機會,要為自己積累經驗,就業時經驗比什麼都有用。
18、多去圖書館,每個學校的圖書館都有很多好書等你去看!
19、編程不是技術活,而是體力活。
20、如果你決定了要當一個好的程序員,那麼請你放棄游戲,除非你是那種每天只要玩游戲就能寫出好程序的天才!
21、你要有足夠的韌性和毅力!有個高手出了一道題測試你的韌性和毅力:找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
22、找到只屬於你自己的學習方法!不要盲目的追隨別人的方法,適合自己的才是最好的!
23、請熱愛程序員這項工作!
以上的話有些是我的經驗,有些是我從高手那裡直接COPY來的,但他們都很有用,記住他們,並遵守他們,那你們一定會成功!
對於大多數初學者來說,好多人有這種問題存在:我到底先學什麼?學C/C++?還是學VC?還是學Borland C++ Builder呢?還是Delphi?哪一個更好呢?學習程序設計和學習程序設計語言究竟是怎麼一個關系?初學者究竟應該如何取捨呢?就這些問題,我從一個高手那裡看了一下的這段話,可以幫助在這方面有問題的人:學習程序設計就好比學習射擊,而程序設計語言就對應射擊中的氣槍、手槍、步槍等各種槍械。學習射擊必須要選擇一種槍械,不可能沒有槍還能學好射擊的,也不可能同時學會使用所有的槍械。但是,如果掌握一種槍械的射擊,再學別的也就觸類旁通了。因為在熟悉一種槍械的同時,也學習了射擊技術本身。再學其他的,自然事半功倍。學習程序設計也是一樣,必然要從學習一門程序設計語言開始入手。在學會系統的編程理念之後,用什麼工具都一樣!
之所以寫這篇文章呢是因為自己眼看身邊那麼多的同學一個個都"不務正業",荒廢了學業,心急如焚,自己也荒廢了好幾年,眼看微軟的Windows從3.X到現在的2003 Server,而中國的軟體業還是在原地踏步,難道我們真要每年等微軟給他的操作系統換一次名字,我們給他交一次錢嗎?這么大的利潤為什麼不留給我們自己,為什麼不讓別的國家給我們交錢呢?這是廣大中國程序員的一個共同的夢,要實現這個夢的人是現在還在大學里的"准程序員"們,他們是中國軟體明天的希望!希望廣大計算機業的大學生看到這篇文章後,睡覺的能醒來,玩游戲的能停下來,在網吧的能出來,一起拿起課本,坐在電腦前,用程序寫出中國軟體業明天的輝煌。
⑷ 程序員應該讀什麼書
《軟體故事》([美] 史蒂夫·洛爾)電子書網盤下載免費在線閱讀
資源鏈接:
鏈接:https://pan..com/s/13OInH9h3qa6ZZhcbo-GoZg
書名:軟體故事
作者:[美] 史蒂夫·洛爾
譯者:張沛玄
豆瓣評分:7.2
出版社:人民郵電出版社
出版年份:2014-7
頁數:259
內容簡介:
「本書語言流暢細膩,讀起來如沐春風。它猶如一部波瀾壯闊的計算機史詩,講述了軟體革命的恢弘歷史,以及中流砥柱們的光輝事跡。故事並不是斷斷續續的,因為作者採用了微型傳記的形式……他把歷史寫成了優美的散文,生動迷人又嚴謹有度。」
——David Gelernter,《紐約時報》
「這是一本給人啟迪的著作,完美地展現了想像力的巨大力量。如果你想像得到,並把它編成代碼,那麼一定能夠改變世界!」
——Boston Sunday Globe
「本書把難懂的技術概念講解得通俗易懂。對於那些對計算機內在結構好奇的人,這是一本能讓其豁然開朗的好書。計算機科學界的前輩John McCarthy曾向作者抱怨過新聞記者的無知,本書就是作者對此作出的回應……與計算機行業相關的所有新聞記者都應該讀一讀這本書。」
——《紐約時報書評》
「這不是一本通常意義上的書,而是一部史詩。它講述的不是技術,而是那些設計編程語言和計算機軟體的名人的故事……本書內容清晰易懂,簡明扼要。軟體工程讓程序員不需要材料和工具也能有所創造,他們為此興奮不已。他們能夠憑空創造新的事物,唯一的限制就是自己的想像力。」
——《國際先驅論壇報》
「如果本書作者是一名程序員,那麼他寫的代碼一定清晰有序,不需要復雜的結構或者奇怪的快捷方式就能跳轉到正確的子程序上;他的寫作風格也是如此。本書化繁為簡,讓讀者與數學專家、橋牌高手、象棋大師、特立獨行的科學家、批判傳統觀念的人,以及掀起軟體革命的程序員們進行了一次愉悅的會面。」
——《新聞周刊》
「本書展現了技術締造者們面對的挑戰,是本曠世傑作。」
——《自然》周刊
聆聽軟體行業發展的精彩故事
領悟軟體巨擘的深邃思想
放飛想像力,通過編碼改變世界
Steve Lohr(作者)《紐約時報》高級作家和技術通訊記者,U .S. v. Microsoft一書合著者,現居住於紐約。
張沛玄(譯者)1992年畢業於北京理工大學飛行器工程系固體火箭發動機專業,獲得工學學士學位。2001年重回母校管理與經濟學院就讀,2004年畢業並獲工商管理碩士學位。早年他曾從事軟體開發,擔任IT公司高級管理工作多年。
作者簡介:
Steve Lohr,《紐約時報》高級作家和技術通訊記者,U .S. v. Microsoft一書合著者,現居住於紐約。
⑸ 與IT行業有關的書,哪些值得看
不知道您需要什麼階段、難易程度的書,下面推薦不同類型的幾本,希望對你有幫助。
《The elements of Java style》(Java)
目標讀者就是Java程序員。通過提出一系列的Java從業規則,以及一些標准、慣例和准則,來說明如何有助於編寫可靠又易於理解和維護的Java代碼。
《Effective Java》(通用程序設計)
這本書真的只適合那些深入了解Java的開發人員。它匯集了78種不可或缺的程序員經驗法則:為你每天在工作中都會遇到的編程挑戰,提出了實踐的最佳解決方案。
《Effective Java》(通用程序設計)
這本書真的只適合那些深入了解Java的開發人員。它匯集了78種不可或缺的程序員經驗法則:為你每天在工作中都會遇到的編程挑戰,提出了實踐的最佳解決方案。
《Design patterns: elements of reusable object-oriented software》(:可復用面向對象軟體的元素)
其實,這本書中的例子是用C ++和Smalltalk寫的,是不是很奇怪為什麼我還要推薦它呢?如果你想成長為一個開發人員,那麼你就必須知道設計模式,這樣才能充分利用他人最佳的實踐經驗,以及還可以向那些面臨過相同問題的開發人員學習。當然其他類似的書籍還有很多,但它們都只能當做一些輔助性的學習。
《The Pragmatic Programmer: From Journeyman to Master》(程序員的修煉:從中級到大師)
此書並不只適合於Java開發人員。 這本書之所以值得推薦,其原因是它大大保持了編程過程的新鮮度,還有助於我們從前人那裡汲取力量、不斷地自我成長。
⑹ 可以推薦一些java程序員必看的書籍么比較經典一點的。
我就是去年在itjob剛畢業的 ,買了好多書,開始買的是java聖經--《java編程思想》但是不適合初學者,因為是外文翻譯過來的,初學者很難懂,但它確實經典。後來我挑了很多書,我選中了《由淺入深學java》李志剛寫的,電子工業出版社。我主要看中了裡面不但有講解,還有小練習,練習還有答案,這個對初學者很好。我用的技術是jsp+oracle。所以還買了一本資料庫書《從入門到精通oracle11》中國水利水電出版社,錢慎一,張素智寫的。沒深看,就學習基本的資料庫添加、修改、刪除語句。看了這兩本書,我還是對我整個工程結構不明白,我有買了本《java web輕量級開發全體驗》鄧子雲系的,電子工業出版社。這本書讓我對框架有了清楚的了解還介紹用eclipse軟體如何開發,我覺得非常值得你一看。
⑺ 程序員必讀的14本書籍
程序員必讀書籍有哪些呢?下面是我精心為您整理的程序員必讀的14本書籍,希望您喜歡!
程序員必讀的14本書籍
1、《代碼大全》 史蒂夫·邁克康奈爾
“優秀的編程實踐的網路全書,《代碼大全》注重個人技術,其中所有東西加起來, 就是我們本能所說的“編寫整潔的代碼”。這本書有50頁在談論代碼布局。” —— Joel Spolsky
Steve McConnell的原作《代碼大全》(第1版)是公認的關於編程的最佳實踐指南之一, 在過去的十多年間,本書一直在幫助開發人員編寫更好的軟體。
無論您的經驗水平如何,也不管您在怎樣的開發環境中工作,也無論項目是大是小, 本書都將激發您的思維並幫助您構建高品質的代碼。
2、《計算機程序的構造和解釋》
《代碼大全》、《重構》和《設計模式》這些經典書會教給你高效的工作習慣和交易細節。 其他像《人件集》、《計算機編程心理學》和《人月神話》這些書會深入軟體開發的心理層面。 其他書籍則處理演算法。這些書都有自己所屬的位置。
然而《計算機程序的構造和解釋》與這些不同。 這是一本會啟發你的書,它會燃起你編寫出色程序的熱情; 它還將教會你認識並欣賞美; 它會讓你有種敬畏,讓你難以抑制地渴望學習更多的東西。
其他書或許會讓你成為一位更出色的程序員,但此書將一定會讓你成為一名程序員。
3、《C程序設計語言》
《C程序設計語言》(第2版新版)原著即為C語言的設計者之一Dennis M.Ritchie和著名的計算機科學家Brian W.Kernighan合著的 一本介紹C語言的權威經典著作。 我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。
原著第1版中介紹的C語言成為後來廣泛使用的C語言版本——標准C的基礎。
人們熟知的“hello,world”程序就是由本書首次引入的,現在,這一程序已經成為所有程序設計語言入門的第一課。
4、程序員思維修煉(修訂版)
生命中沒有什麼是一成不變的,人們需要改變自己的習慣和方法。不論你是程序員、軟體公司管理者、技術奇人還是思想家,或者你只是想讓自己的大腦更聰明一點兒,所有嘗試改變自己的人,請把本書當作改變的開始……
5、系統化思維導論
關注人文,掌握思維法則,揭開科學與技術的神秘面紗
“它給我的震撼是第一次我能從全局的角度去看待各個學科,科學也不再是冷冰冰的割裂了的教條,不再是難以理解的一堆符號。”
6、優秀的叛逆者:引領組織變革的力量
Lois Kelly和Carmen Medina用她們的實戰經驗,向我們展示了如何在工作中贏得信賴、提出想法、處理人際關系、管理沖突和保持理智。”
——亞當•格蘭特,沃頓商學院教授,《紐約時報》暢銷書Give and Take的作者
7、《重構:改善既有代碼的設計》
《重構:改善既有代碼的設計》適合軟體開發人員、項目管理人員等閱讀, 也可作為高等院校計算機及相關專業師生的參考讀物。
8、《Site Reliability Engineering》
《SRE:Google運維解密》可以讓讀者學習到Google工程師在提高系統部署規模、改進可靠性和資源利用效率方面的指導思想與具體實踐——這些都是可以立即直接應用的寶貴經驗。任何一個想要創建、擴展大規模集成系統的人都應該閱讀,該書針對如何構建一個可長期維護的系統提供了非常寶貴的實踐經驗。
9、《Refactoring》
那時候當我讀這本《重構:改善既有代碼的設計》時,由於它在關於代碼異味的單獨章節所花的篇幅,使得這本書非常值這個價。該書非常成功,因為它使重構和代碼異味的觀念成為主流。
Steve Yegge曾對這本書不吝贊譽之詞:
2003年10月,我第一次閱讀這本書,有一種不寒而粟的感覺。如果你意識到,當你想離職時,你已經工作5年。轉天我就隨意問周圍:“嗯,你已經讀過重構方面的書,對吧?我只是隨便問問,因為我很久以前讀過,當然不是現在。”在我所調查的20個人中,只有一個人
10、《Peopleware》
在大學時我讀到這本《人件》,該書似乎很令人信服,甚至所有的研究結果都支持該書的觀點:不設置截止日期就比設置截止日期要好;辦公室比隔間要好,等等。所有開發人員跟我討論的時候,基本都贊同這些觀點。
11、《編程珠璣》
盡管我不得不羞愧地承認,書中一半的東西我都沒有理解,但我真的推薦《編程珠璣》,書中有些令人驚奇的東西。 – Matt Warren
12、《修改代碼的藝術》by Michael Feathers
我認為沒有任何一本書能向這本書一樣影響了我的編程觀點。它明確地告訴你如何處理其他人的代碼,含蓄地教會你避免哪些(以及為什麼要避免)。
同意。很多開發人員討論用干凈的石板來編寫軟體。但我想幾乎所有開發人員的某些時候是在吃其他開發人員的狗食。– Bernard Dy
13、《編碼:隱匿在計算機軟硬體背後的語言》
我推薦CharlesPetzold的《編碼》。在這個充滿工具和IDE的年代,很多復雜度已經從程序員那“抽取”走了,這本書一本開眼之作。 –hemil
14、《程序員健康指南》
⑻ 初級C++程序員看完設計模式(《大話設計模式》)之後看什麼書對自己的發展比較好呢希望說的詳細點,重謝
朋友,看完了《大話設計模式》並不能說明任何問題,能否真正將設計模式運用於你的工作和項目當中才是你應該關注的重點。既然你已經看完了入門級的《大話設計模式》,那麼我推薦你看一下進階級的設計模式類書——《Head First Design Patterns》。等你看完這本書,我再推薦一本中高級的書,最後還有一本高級的書。不要急,我相信你看到一定的程度就知道自己的方向了。
⑼ 程序員必讀的經典書籍
程序員需要學習的知識地很多的,需要不斷的看書學習,才能不斷的提升自己。下面是由我給大家帶來關於程序員必讀的書籍,希望對大家有幫助!
程序員必讀的書籍
1.重構:改善既有代碼的設計(軟體開發的不朽經典)
何為重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。本書雖然使用Java語言書寫示例代碼,但是其概念與思想同樣適合 於其他語言。書中,作者以一些平淡無奇,甚至帶有壞味道的代碼開始,一步一步地修改轉變成更加靈活,可重用的代碼。通過書中的示例,你會清楚地明白什麼才 是整潔的代碼。重構其實依然成為 經驗 豐富的程序員的必備技能,當你想要改善重構代碼時,讀一讀這本書就會讓你有章可循,豁然開朗。
2.代碼整潔之道(Robert C. Martin力作,韓磊獻譯)
這是我最喜歡的一本書,不止一次我將它推薦給我的同事,讀者還有學生。我認為它可以稱得上軟體開發與編碼方便最好的一本書。Bob大叔我想無需做介紹,他寫 過一個關於敏捷開發的系列書籍,我的書架上就有他的 《代碼整潔之道》 , 《程序員的職業素養》 , 《敏捷軟體開發(原則模式與實踐)》 , 《敏捷軟體開發(原則模式與實踐)》 , 《UML for Java For Programmers》 , 《Extreme Programming in Practice》等這些書籍。雖然他的這些書有點老舊,但是這些書仍然很有價值,縱使數十年之後,這些書依舊受用,尤其是在面向對象編程方面。 本書不僅僅是告訴你要做什麼,還教會你什麼不能做。書中有關於代碼味道的一個章節,全面列舉了大多數程序員遇到的各種錯誤,其後的章節則詳細描述如何糾正 這些錯誤。比如如何將過長的switch聲明轉換成遵循開放閉合原則的模型,如何利用集成和多態。再次啰嗦一下,這本書確實值得每個程序員擁有。和上本書 一樣,書中的例子使用Java語言,但依然適合使用其他面向對象編程語言的開發者閱讀。想要擼的一手好碼,這本書必不可少。
3.代碼大全
兩屆Software Jolt Award震撼大獎得主!軟體開發世界的地圖,經典中的經典
想必這本書大家都曾閱讀過,這就是鼎鼎大名的《代碼大全》,從某個角度看,它其實就是C++版的《代碼整潔之道》。本書的目標就是幫開發者使用 做高質的代碼寫出更好的軟體。同樣書中也涉及了編程中常見問題和最佳實踐。這本書也可以稱得上是必讀書籍,尤其是對於C和C++程序員。《代碼大全(第2 版)》中所論述的技術不僅填補了初級與高級編程實踐之間的空白,而且也為程序員們提供了一個有關軟體開發技術的信息來源。《代碼大全(第2版)》對經驗豐 富的程序員、技術帶頭人、自學的程序員及沒有太多編程經驗的學生都是大有裨益的。可以說,只要您具有一定的編程基礎,想成為一名優秀的程序員,閱讀《代碼 大全(第2版)》都不會讓您失望。
4.單元測試的藝術
世界級軟體開發大師,設計模式和敏捷開發先驅,「Bob大叔」Robert C. Martin強力推薦
如果非要做一件改善項目,提高開發者水平的事情,我想那就是讓開發者掌握單元測試的能力。對於專業的開發者來說,單元測試是一項必備的技能,多數的程序員 卻不具備TDD(測試驅動開發)的能力。我雖然在不太遵循TDD這種模式,但是也會為自己寫的或維護的代碼編寫單元測試。對於工程來說,開源項目基本都嚴 格遵守執行單元測試,而很多商業的工程則在單元測試方面有所缺失。一個擁有單元測試的項目會變得更加容易維護和更改。本書會介紹成功的項目與失敗項目的差 別,可維護的代碼庫與不可維護的代碼庫之間的區別。本書示例為.NET代碼,但這並不會影響你了解單元測試。如果你是一名技術負責人或者項目負責人,這本 書可以幫你更好地把控項目代碼質量。如果你看Java更舒服的話,也可以看一看這本書 《JUnit實戰(第2版)》 。
5.精益軟體開發管理之道
《精益軟體開發管理之道》是一本軟體開發 方法 學的書。作者從24個不同的視角,在更大的空間、時間、行業、 文化 背景下,考察了敏捷和精益方法。 《精益軟體開發管理之道》詳細闡述了敏捷和精益開發方法取得成功的深層原因。《精益軟體開發管理之道》包括以下內容:系統思考,以適當足夠的方式關注客 戶;技術傑出,介紹了傑出軟體開發的基礎-低耦合的架構、測試驅動的開發過程等;可靠交付,討論了工作流和日程計劃,以及反饋的重要作用;無情改進,討論 了所有精益組織的基本特點:持續不斷、永不滿足的改進;卓越的人,卓越的結果來自於卓越的人;一致的領導,討論在領導團隊中達成一致。
6.設計模式:可復用面向對象軟體的基礎
這本書要麼你讀過,要麼就是聽說過,這就是經典的GOF(Gang of Four 中文譯為_)設計模式一書。該書作者為四人,分別是Eric Gamma, Richard Helm, Ralph Johnson, 和John Vissides。四位頂尖的面向對象領域專家精心選取了最具價值的設計實踐,加以分類整理和命名,並用簡潔而易於重用的形式表達出來。本書已經成為面向 對象技術人員的聖經和詞典,書中定義的23個模式逐漸成為開發界技術交流所必備的基礎知識和語匯。使用這些設計模式,我們可以設計出靈活,優雅和可重用的 可擴展的設計。
7.細說PHP
51CTO「最受讀者喜愛的原創IT技術圖書」獎
《細說PHP》編寫的宗旨是讓讀者能擁有一本PHP方面的學習和開發使用的最好書籍,對所羅列出的每個知識點都進行了細化和延伸,並力求講解到位,讓讀 者可以輕松地讀懂。對於幾乎每個知識點都有對應且詳實的可運行的代碼配套,對所有實例代碼都附有詳細注釋、說明及運行效果圖。另外在每個章節的最後還為讀 者安排了大量的和本章知識點配套的授課課件及自測試題(附加在光碟中),能更好地幫助讀者掌握理論知識點,提高實際編程能力,寓學於練。對於入門與提高 PHP技術起到關鍵作用。
《細說PHP》作者高洛峰。現任北京LAMP兄弟連[1](易第優 教育 )教學總監,五年軟體開發工作經驗,四年IT教學工作經驗。曾在多家上市企業擔任過技 術總監、項目經理、高級軟體工程師等職務,具有扎實的技術功底。國內資深的高級技術認證講師,從事IT培訓以來累計授課長達6000課時以上,培訓近千名 學員成功走向IT崗位,具有豐富的IT教學經驗。
程序員的專業技術書
1、《數學之美》第二版
獲獎暢銷書《數學之美》第一版榮獲國家圖書館第八屆文津圖書獎。
第一版入選廣電總局「2014年向全國青少年推薦百種優秀圖書書目」,榮獲2012-2013年度全行業優秀暢銷書。
信息領域大學生必讀好書,央視新聞推薦的學科敲門磚。
新版增加了大數據和機器學習等最新內容,以滿足人們對當下技術的學習需求;同時,根據專家和讀者的反饋更正了錯漏,並更新了部分內容。
《數 學之美》第一版上市後深受廣大讀者歡迎,並榮獲國家圖書館第八屆文津圖書獎。讀者說,讀了《數學之美》,才發現大學時學的數學知識,比如馬爾科夫鏈、矩陣 計算,甚至餘弦函數原來都如此親切,並且栩栩如生,才發現自然語言和信息處理這么有趣。而今,數學在信息產業中的應用越來越廣泛,因此,作者在第二版中增 加了一些內容,尤其是針對大數據和機器學習的內容,以便滿足人們對當下技術的學習需求。
2、文明之光 第三冊
吳軍博士繼獲獎暢銷書《浪潮之巔》、《數學之美》之後的跨界之作
為您講述他眼中的超越上下五千年的人類文明史
隨文津獎得主一起體會科技與人文之美
作 者所選的創作素材來自於十幾年來在世界各地的所見所聞,對其內容都有著深刻的體會和認識。《文明之光》系列第三冊每個章節依然相對獨立,書中全景式地展現 了人類文明發展歷程中的多樣性。內容涉及音樂、美術、計算機、互聯網、金融、矽谷對世界科技發展的啟迪、微粒子和宇宙天文學、環境保護八個專題。
3、構建之法:現代軟體工程
「做中學 Learning By Doing」的現代方式教授軟體工程
李未院士鼎力推薦,眾多軟工教師一致好評
微軟研發總監鄒欣力作
推薦軟體工程專業學子閱讀,了解軟體工程真正內涵,懂得「工程」二字真正含義,知道軟體工程和計算機科學的區別。了解之後,就知道為何軟體工程是就業含金量較高的行業了。
書中設想了大量的場景「學」和「習」,並且用了大量的類比,非常生動有趣。這本教材也對軟體工程課老師提出了更高的要求;對學生而言,同樣面臨著要付出怎樣的努力才能學到「干貨」的選擇。
《構建之法:現代軟體工程》共分17章,對照美國ACM/IEEE2013年新出版的計算機科學教學指導 (Computer ScienceCurricula 2013)中的軟體工程相關部分,這本教材覆蓋了其中大多數Core-Tier1和Core-Tier2的內容。可以說,全書對軟體工程內容的覆蓋不遜於 任何一本現行的教材,同時講述了業界最新實踐方法。
程序員看的好書籍
1.《哥德爾、埃舍爾、巴赫》
豆瓣評分:9.4 分
作者簡介:道格拉斯·理查·郝夫斯台特,中文名侯世達,美國學者、作家。他的主要研究領域包括意識、類比、藝術創造、文學翻譯以及數學和物理學探索。 因其著作《哥德爾、埃舍爾、巴赫》獲得普立茲獎(非小說類別)和美國國家經典獎(科學類別)。
推薦理由:這是一部天書。在數學,繪畫,音樂和 故事 中暢游,卻在探討哲學中最深刻的問題:意識和靈魂如何產生,從哲學角度探討人工智慧和人類智能。當你看完書後,也許你具體記不得太多細節,但是不經意間你會發現它已經深深地影響了你的世界觀。
2.《演算法導論》
豆瓣評分:9.4 分
作者簡介:托馬斯·科爾曼,達特茅斯學院計算機科學系教授、系主任;查爾斯·雷瑟爾森,麻省理工學院計算機科學與電氣工程系教授,他目前主持 MIT 超級計算技術研究組,並是 MIT 計算機科學和人工智慧實驗室計算理論研究組的成員;羅納德·李維斯特,現任麻省理工學院電子工程和計算機科學系安德魯與厄納·維特爾比(Andrew and Erna Viterbi)教授。他是 MIT 計算機科學和人工智慧實驗室的成員,並領導著其中的信息安全和隱私中心。他現在擔任國家密碼學會的負責人;克利福德·斯坦,哥倫比亞大學計算機科學系和工業工程與運籌學系教授,他還是工業工程與運籌學系的系主任。
推薦理由:這本書深入淺出,全面地介紹了計算機演算法。對每一個演算法的分析既易於理解又十分有趣,並保持了數學嚴謹性。本書的設計目標全面,適用於多種用途。涵蓋的內容有:演算法在計算中的作用,概率分析和隨機演算法的介紹。書中專門討論了線性規劃,介紹了動態規劃的兩個應用,隨機化和線性規劃技術的近似演算法等,還有有關遞歸求解、快速排序中用到的劃分方法與期望線性時間順序統計演算法,以及對貪心演算法元素的討論。此書還介紹了對強連通子圖演算法正確性的證明,對哈密頓迴路和子集求和問題的 NP 完全性的證明等內容。
猜你喜歡:
1. 程序員們的專業技術書分享
2. linux程序員必看書籍推薦
3. java程序員必看的書籍推薦
4. 清華大學推薦的青少年閱讀書目
5. 文藝青年必看的書