⑴ 關於編程的書籍
《程序員修煉之道》由一系列的獨立部分組成,涵蓋的主題從個人責任、職業發展,直到用於使代碼保持靈活、並且易於改編和復用的各種架構技術。利用許多富有娛樂性的奇聞軼事、有思想性的例子以及有趣的類比,全面闡釋了軟體開發的許多不同方面的最佳實踐和重大陷阱。無論你是初學者,是有經驗的程序員,還是軟體項目經理,本書都適合你閱讀。
代碼整潔之道
作者:Robert C. Martin,66% 推薦度
軟體質量,不但依賴於架構及項目管理,而且與代碼質量緊密相關。這一點,無論是敏捷開發流派還是傳統開發流派,都不得不承認。本書提出一種觀念:代碼質量與其整潔度成正比。干凈的代碼,既在質量上較為可靠,也為後期維護、升級奠定了良好基礎。作為編程領域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現為一條條規則(或稱「啟示」),並輔以來自現實項目的正、反兩面的範例。只要遵循這些規則,就能編寫出干凈的代碼,從而有效提升代碼質量。
代碼大全(第 2 版)
作者:Steve McConnell,42% 推薦度
這是一本完整的軟體構建手冊,涵蓋了軟體構建過程中的所有細節。它從軟體質量和編程思想等方面論述了軟體構建的各個問題,並詳細論述了緊跟潮流的新技術、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程序示例。這本書中所論述的技術不僅填補了初級與高級編程技術之間的空白,而且也為程序員們提供了一個有關編程技巧的信息來源。這本書對經驗豐富的程序員、技術帶頭人、自學的程序員及幾乎不懂太多編程技巧的學生們都是大有裨益的。可以說,無論是什麼背景的讀者,閱讀這本書都有助於在更短的時間內、更容易地寫出更好的程序。
重構:改善既有代碼的設計
作者:Martin Fowler,35% 推薦度
重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。多年前,正是本書原版的出版,使重構終於從編程高手們的小圈子走出,成為眾多普通程序員日常開發工作中不可或缺的一部分。本書也因此成為與《設計模式》齊名的經典著作,被譯為中、德、俄、日等眾多語言,在世界范圍內暢銷不衰。
深入淺出設計模式
作者:Eric Freeman / Bert Bates / Kathy Sierra / Elisabeth Robson,29.4% 推薦度
《深入淺出設計模式》(影印版) 的編寫運用許多最新的研究,包括神經生物學、認知科學以及學習理論,這使得《深入淺出設計模式》(影印版) 能夠將這些設計模式深深地烙印在你的腦海中,不容易被遺忘。你將會更擅長於解決軟體設計中的問題,並能夠和你的團隊成員用模式的語言來更好地溝通。
人月神話
作者:Frederick P. Brooks Jr,27.9% 推薦度
作者為人們管理復雜項目提供了頗具洞察力的見解,既有很多發人深省的觀點,也有大量的軟體工程實踐。書中的內容來自布魯克斯在 IBM 公司 System 360 家族和 OS 360 中的項目管理經驗。初版的 20 年後,布魯克斯重新審視了他原先的觀點,增加了一些新的想法和建議。新增加的章節包括:原著中一些核心觀點的精華;在經過了一個時代以後,Brooks 博士對原先觀點新的認識;1986 年的經典文章《沒有銀彈》;對 1986 年所下論斷(在 10 年內不會出現銀彈)現在的認識。
⑵ 本人想學習編程,需要哪些入門書籍
1、清華大學出版社出版的《C++程序設計教程》、《C++PRIMER》、譚浩強的《程序設計書》、《Effective C++》、《More Effective C++》、《Exceptional C++》 、《More Exceptional C++》、《深入探索c++對象模型》等
2、具體怎樣學編程 :
①明確學習目的
學習編程對大多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。
②打好基礎
(1)數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
(2)邏輯思維能力的培養學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。
(3)選擇一種合適的入門語言 面對各種各樣的語言,應按什麼樣的順序學呢?
③ 注意理解一些重要概念
一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針對這脊帶些語法、結構的應用例子,做到舉一反三,觸類旁通。
④掌握編程思想
學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。例如學習 VC 就要學習 Windows 的內在機理、什麼是線程......;學習 COM 就要知道 VTALBE 、類廠、介面、idl......,關鍵是學一種思想,有了思想,那麼就可以觸類旁櫻雹蘆通。
⑤多實踐、多交流
掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。
⑥養成良好的編程習慣
編程肆升入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。
⑦上網學編程
在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載。例如網站「編程課堂」()主要以 VB 和 Delph;教學和交流為主,提供大量實用技巧。
⑧加強計算機理論知識的再學習
學編程是符合「理論→實踐→再理論→再實踐」的一個認識過程。一開始要具有一定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當你發現編到一定程度很難再提高的時候,就要回頭來學習一些計算機科學和數學基礎理論。
⑶ 游戲腳本高級編程中文版(pdf)
本書是著名游戲程序設計類書籍作者André LaMothe的兩卷本《Windows游戲編程大師技巧》中的第一卷的第二版。和作者撰寫的其他暢銷書一樣,在書中隨處可見許多有趣但又有一定難度的源程序。作者循循善誘地從程序設計的角度介紹了在Windows環境下進行游戲開發所需的全部知識,包括Win32編程以及DirectX中所有主要組件(包括DirectDraw、DirectSound、DirectInput和DirectMusic)。書中還用單獨的章節詳細講授了2D圖形學和光柵化技術、游戲演算法、多線程編程、文本游戲和解析、人工智慧(包括模糊邏輯、神經網路和遺傳演算法)、物理建模(完全碰撞反應、動量傳遞和正反向運動學)及實時模擬等游戲程序開發中的關鍵技術。光碟上帶有兩套完整的在線電子版書籍,內容涉及General 3D圖形和演算法以及Direct3D直接模式;此外,還有大量其他特約作者所著的關於游戲編程內容的文章。
光碟內容:
·本書中所有程序的代碼,還包括一個新的16位引擎
·關於Direct3D和General 3D的文章和在線書籍
·通用游戲編程工具以及3D引擎的評定版本
·免費素材
·完整的Microsoft DirectX SDK
·Microsoft Visual C++入門版
300多m的是本書帶的光碟內容。網上只找到第一版書的中文pdf,第二版是英文chm格式
⑷ Scratch兒童編程入門書籍都有哪些
我本身是程序員,我的孩子,還在小學2年級時,我就給她學習Scratch,半天時間,她就用我找的視頻教程(網頁鏈接),一起完成了一個打彈珠的游戲了。當然,視頻上教的是其他動畫角色,她改成了自己最喜歡的kitty貓作主角。
一開始就看書學理論,不太適合小學生,本來Scratch就很簡單,圖形化的編程界面,放手讓孩子直接操作吧。當有需要進一步了解、深入學習時,再看理論。
就用小例子,先練著。
⑸ 有適合小學生看的電腦代碼編程的書籍嗎
導讀:編程是當前需求比較旺盛的職業道路,因此,很多家長都希望自己的孩子長大後成為軟體程序員,或者起碼擁有一些編程思維。如果您想讓孩子學習編程從哪裡開始呢?在此兒童節之際向各位推薦7款適合兒童的編程語言。
計算機編程是一種需求旺盛的職業道路,因此父母可能希望自己的孩子長大後成為軟體程序員。如果您想讓孩子們學習編程的方法,那麼從哪裡開始呢?在此列表中嘗試一些適合兒童的編程語言。
1.Scratch
Scratch是由麻省理工學院的終身幼兒園實驗室開發的面向孩子的免費編程語言。通過入門教程,針對父母的課程說明以及強大的用戶社區,對免費語言進行了補充。甚至當孩子離開計算機時,他們甚至可以使用這些卡片來學習Scratch編程概念。
Scratch使用積木式視覺界面為孩子和父母創建腳手架體驗。您將編程組件(例如動作,事件和運算符)堆疊在一起。
每個塊的形狀僅允許將其與兼容對象組合。例如,重復循環的形狀像是一個側面的「 U」形,以告知您需要在循環的開始和結束之間放置塊。
Scratch使用預先填充的圖像和角色或通過上傳新的圖像和角色來製作真實的動畫和游戲。Scratch不需要互聯網連接。孩子們可以選擇在Scratch的在線社區中分享他們的作品。
由於Scratch是免費的並且得到了良好的支持,因此它是對兒童友好的編程的最早建議之一,並且很容易看出Scratch在此處列出的許多其他對兒童友好的編程語言(如Blockly)中的影響。
建議年齡:8至16歲
要求:Windows,macOS或Linux
2.Blockly
Blockly是Google對Scratch 的改進,它使用了相同的互鎖構建基塊隱喻,但它可以使用幾種不同的編程語言(包括JavaScript,Python,PHP,Lua和Dart)輸出代碼。這使Blockly成為可視化編輯器,而不僅僅是一種對兒童友好的編程語言。
將塊鏈接在一起時,您會在屏幕的側面看到代碼,並且可以即時切換編程語言,以查看同一基本程序在語言語法上的差異。這使得Blockly非常適合在各個年齡段教授代碼,包括年齡較大的孩子和成年人,他們可能不喜歡年輕的歪斜貓和Scratch的漫畫。
Google正在與MIT合作,基於Blockly平台開發下一代Scratch。
Blockly是Android App Inventor的骨幹,可用於開發可運行的Android應用程序。麻省理工學院控制了這個廢棄的Google項目。
Blockly尚未像Scratch那樣得到充分開發,並且可用的教程也不多。但是,Blockly希望為所有年齡段的程序員提供一個強大的編程環境,並擁有廣闊的未來。
建議年齡:10+
要求:Windows,macOS或Linux
3.Alice
Alice是一個免費的3D編程工具,旨在教授C ++等面向對象的編程語言的概念。它使用熟悉的積木方法,使兒童可以通過對相機運動,3D模型和場景進行編程來創建游戲或動畫。
與Scratch凌亂的界面相比,拖放界面和輕松播放按鈕對某些學生而言可能不會造成太多混亂。可以將程序(或Alice中的「方法」)轉換為Java IDE(例如NetBeans),以便編程學生可以從可視的構建模塊界面過渡到標準的編程語言。
卡內基-梅隆大學開發了愛麗絲。該網站可能看起來並不漂亮,但是該程序仍在開發和研究中。
建議年齡:10+
要求:Windows,macOS或Linux
注意事項:如果在Mac上安裝Alice,請通過轉到系統偏好設置 > 安全和隱私 > 允許從以下位置下載應用程序來啟用安裝:App Store和Identified Developers。安裝完成後,更改安全設置。
4.Swift Playgrounds
iOS和iPadOS的應用程序開發人員依賴Swift編程語言。Mac和iPad應用程序都可以使用Swift Playgrounds 。它旨在教孩子如何使用Swift編程,可以從Apple免費下載,並且不需要任何先驗編碼知識。
這些應用程序包含許多有關不同Swift命令的教程,這些教程旨在在3D世界中移動名為Byte的角色。盡管不需要編程知識,但是孩子們需要知道如何閱讀教程並具有一定的解決問題的毅力。拖放代碼消除了拼寫錯誤,但是Swift Playgrounds不使用互鎖塊界面。
一旦您的孩子精通Swift游樂場,他們就可以開始在Swift中進行開發。
建議年齡: 10+
要求: iPad或Mac
5.Twine
Twine適用於對創建游戲和講故事感興趣但對編程的技術細節感到沮喪的孩子。
Twine是一個免費的非線性講故事應用程序,各個年齡段的人都可以使用它,包括大量的成年人和教育工作者。使用Twine,您無需學習任何代碼。它沒有教用戶如何編碼,而是教他們如何構造和呈現非線性游戲和故事。
麻線故事由文字和圖片頁面組成,例如網站。設計界面顯示了連接的頁面,每個頁面都可以使用文本,鏈接和圖像進行修改。它對於「選擇自己的冒險」類型的游戲特別有效,其中每個玩家的選擇都進入了故事的新分支。
雖然此應用程序不教編碼,但它確實教了很多對游戲設計師和講故事者至關重要的規劃和設計技能。該應用程序受支持Wiki,教程和活躍的用戶社區的良好支持。
您可以通過託管應用在線創建Twine故事,也可以下載應用進行離線編輯。
建議年齡:12歲以上(強烈建議讀者)
要求:Windows,macOS或Linux
6.LEGO MINDSTORMS
學習編程的另一種方法是研究機器人技術。許多孩子對編程在現實世界中工作的事物的想法做出回應。這里有各種各樣的機器人套件的,你可以用它們編程語言,但LEGO MINDSTORMS系統中享有最大的用戶群體和孩子友好的可視化編程的應用程序之一。
免費下載編程環境,但是您需要訪問LEGO Mindstorms套件才能運行程序。這並不一定意味著您必須購買一個。一些學校和公共圖書館提供供學生使用的工具包,或者您可能想在您附近找到一個第一樂高聯盟。
樂高EV3編程軟體可以在平板電腦和計算機上運行,??並且使用了構建塊(在這種情況下為樂高塊)隱喻,就像Scratch和Blockly一樣,盡管樂高的版本傾向於水平構建程序,看起來更像流程圖。學生結合動作,變數和事件來操縱他們的LEGO Mindstorms作品。對於年幼的孩子來說,編程語言非常簡單,而對於年長的孩子和成年人來說,編程語言仍然充滿挑戰。
除了LEGO Mindstorms編程環境外,LEGO還使用開放源代碼Linux內核,可以通過Python和C ++等傳統編程語言對其進行修改和編程。
建議年齡:10歲以上(幼兒可以在監督下使用)
要求:EVA3需要運行macOS或Windows的計算機或運行Android或iOS 的平板電腦。要運行程序而不是調試程序,需要一個或多個LEGO EV3機械手。
7.Ko
Ko是Microsoft專門為Windows和Xbox 360設計的游戲編程應用程序。Windows版本是免費的,但Xbox 360版本是付費應用程序。孩子們可以使用該應用程序來探索和設計3D世界中的游戲。
Ko的圖形界面引人入勝,而Xbox版本的編程完全可以通過游戲控制器完成。如果您擁有支持它的硬體,那麼Ko是一個較舊但仍然可靠的選擇。
不幸的是,還沒有Xbox版本的Ko,而且未來的發展似乎不太可能。但是,Xbox和Windows版本已經完全開發,這就是為什麼即使放棄它也將其包括在此列表中的原因。
建議年齡:8至14歲
要求:Windows 7及以下版本或Xbox 360
總結:
有動力的中學生可能需要嘗試製作和安裝Minecraft mod。Unity 3D游戲界面是通過大量可用在線資源跳入編程3D游戲的另一種好方法。請記住,編程本質上令人沮喪。它涉及很多故障排除和反復試驗。父母可以為初出茅廬的程序員提供的最佳工具是一種毅力和決心。
⑹ WINDOWS游戲編程之從零開始的內容簡介
1. 如果你的編程經驗為零:
毫無編程經驗的朋友,請先閱讀介紹C++編程語言的相關書籍,再來延續我們的夢想,閱讀這本書。學習C++推薦書目: C++ Primer和C++ Primer Plus。
2. 如果你有C++編程經驗但沒有接觸過Windows 編程:
有C++編程經驗但毫無Windows編程經驗的朋友,可以從頭到尾順暢的閱讀這本書。因為這本書最准確的定位就是有一點C++編程經驗之後從零開始掌握Windows游戲編程。
3. 如果你有Windows 編程經驗,但不熟悉GDI:
有Windows編程經驗但不熟悉GDI的朋友,推薦適當閱讀第一章之後,從第4章開始您的征程。
4. 如果你想了解Windows GDI游戲繪圖技巧:
想了解Windows GDI游戲繪圖技巧的朋友,請閱讀第5章。
5. 如果你想了解Windows游戲動畫技巧:
想了解Windows游戲動畫技巧的朋友,第6章會滿足你的好奇心。
6. 如果你想了解Windows小游戲鍵盤滑鼠編程的相關知識:
需要了解Windows中小游戲對鍵盤滑鼠編程相關知識的朋友,第7章會給你答案。
7. 如果你想看看Windows GDI如何寫出好玩的程序:
想看看Windows GDI可以弄出哪些好玩的玩意兒的朋友,第8章會給你驚喜。
8. 如果你想了解一個GDI小游戲完整的開發過程:
想了解一個結構完整的小游戲的開發過程的朋友們,第9章會超出你們的期待。
9. 如果你已經准備好迎接挑戰,開始學習DirectX游戲編程:
有一定Windows編程經驗,並且了解GDI編程,想開始DirectX 3D游戲編程學習的朋友,請從第10章開始閱讀。這本書從第10章往後的內容組織起來是一個系統的DirectX游戲編程教材,其實可以單獨成書的。
⑺ 一個人學游戲編程要看點什麼書
有點難,要有心理准備啊!!
1、基礎語言階段:常用的編程語言有,C,C++,JAVA,其中最廣泛被使用的就是C++,C++語言是一切游戲程序的基礎,換而言之,一個優秀的游戲程序員,必須非常熟練掌握並應用C++.
2、數據結構:在掌握C++之後,需要進行數據結構的學習,形象的講,就是那麼一大堆數據,如何去有序的排列其結構。通過對數據結構的學習,便能夠開始閱讀他人編寫的代碼,嘗試 開發簡單的程序,可以實現一些編程者自己的構想,是每個程序員必須掌握的技巧。
3、「庫」的學習及應用:最常用的有MFC(微軟公司類庫),GUI(圖形界面庫),當然「庫」的知識及功能非常龐大,通常來說,熟練掌握一部分經常涉及的知識即可。
通過以上三點的學習,c++基礎語言,數據結構,庫的使用。你基本已經可以自己獨立製作一個小游戲了,比如貪吃蛇,俄羅斯方塊等等。
然後,將進入的高階階段,也將是直接涉及到游戲程序相關知識。
4、游戲程序對於硬體的操縱。比如,內存,CPU,顯卡,這將會涉及到一些數學知識,比如立體幾何,線性代數等,但是也不用驚慌,並不是非常困難。通過對硬體的熟練操縱,才能將游戲的畫面,流暢度等等充分給予表達。
5、對於相關知識的學習。包括物理,腳本,美術等等。不需要深入了解,但相關知識的豐富對於你將來做游戲程序會有直接幫助。
6、對於游戲引擎的熟悉及使用。游戲引擎一般包括渲染器,內存管理器,組織管理幾部分。對游戲的畫面做出渲染,高效使用內存以及如何控制動畫播放等功能。熟悉引擎的使用,也將對於游戲程序員有直觀的幫助。
然後,關於你說的那本書內容我還不太了解, 如果你想開發 windows 平台下的游戲,推薦你從DirectX基礎開始學習,《DirectX 9.0 3D游戲開發編程基礎》完全可以作為基礎推薦用書
理論方面推薦《實時計算機圖形學》
希望我的回答對你有幫助,有什麼問題歡迎留言