Ⅰ 自學編程需要哪些入門書籍
1、《實戰Java程序設計》
這是一本既注重實戰,同時也注重底層「內功」訓練的書,非常適合初學者閱讀!
Ⅱ 軟體開發初學者應該看什麼書
學習軟體開發都需要看《c和指針》、《c缺陷和陷阱》、《c專家編程》,這三本書是一個初級C程序員必看的三本書,同時也是應屆新員工必須好好學習的教材,非常適合剛畢業的大學生學習。
另外還有:
C語言提升:
《EffectiveC:改善程序與設計的55個具體做法》
《MoreEffectiveC:35個改善編程與設計的有效方法(中文版)》
《C沉思錄昌神橡》
《CTemplates中文版》
《深度探索C對象模型》
《泛型編程與STL》
一個由C轉向C的程序員,從來沒有系統的學習過C的語法,往往是用到的什麼學習什麼。如果要系統瞎手入門,《Cprimer》倒是不錯。
設計類《代碼大全》:
《重構-改善既有代碼的設計》
《代碼整潔之道耐旁》
《實現模式》
《程序員應該知道的97件事》
這幾本書一般講的是函數以及更低層次的設計。《代碼大全》完完整整的讀完過,而且做了很多的筆記,獲益良多。《重構》就不必說了,其他幾本書前面大致看了一下,也非常不錯,計劃有時間要好好學習一下。
架構:
《軟體體系結構的藝術》
《領域驅動設計:軟體核心復雜性應對之道》
《軟體架構師應該知道的97件事》
《企業應用架構模式》
《面向模式的軟體體系結構卷1:模式系統》
《軟體架構設計》
《架構師需要知道的97件事》
敏捷開發:
《測試驅動開發》
《敏捷軟體開發——原則、模式與實踐》
《Scrum敏捷項目管理》
《硝煙中的Scrum和XP——我們如何實施Scrum》
《敏捷軟體開發》
Ⅲ 編程學習必看的書
首先說一說進入計算機專業的目的,我個人是因為十分喜歡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,而中國的軟體業還是在原地踏步,難道我們真要每年等微軟給他的操作系統換一次名字,我們給他交一次錢嗎?這么大的利潤為什麼不留給我們自己,為什麼不讓別的國家給我們交錢呢?這是廣大中國程序員的一個共同的夢,要實現這個夢的人是現在還在大學里的"准程序員"們,他們是中國軟體明天的希望!希望廣大計算機業的大學生看到這篇文章後,睡覺的能醒來,玩游戲的能停下來,在網吧的能出來,一起拿起課本,坐在電腦前,用程序寫出中國軟體業明天的輝煌。
Ⅳ 程序員必備的書籍,有什麼可推薦的嗎
記得有很長的一段時間我都被這本《演算法導論》所支配,本書著重將嚴謹性和全面性融為一體,深入討論各種演算法,並將這些令人捉摸不透的高階演算法翻譯為各個階層都能理解的語言。全書各章自成體系,可以作為獨立的學習單元,具備初步程序設計經驗的人就能看懂;說明和解釋力求淺顯易懂,不失深度的同時體現了數學的嚴謹性。
這兩本書無論是初學者入門,或是中、高級程序員提升,本書均為不容置疑的首選。
Ⅳ 程序員必讀的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、《程序員健康指南》