導航:首頁 > 程序命令 > 程序員有什麼課外書

程序員有什麼課外書

發布時間:2022-11-26 03:25:42

A. 程序員需要學些什麼

程序員的崗位需求很多,例如大型網路公司、軟體開發公司等等都需要程序員。

程序員需要學習:

1、掌握數據及其轉換、數據的機內表示、算術和邏輯運算,以及相關的應用數學基礎知識;

2、理解計算機的組成以及各主要部件的性能指標;

3、掌握操作系統、程序設計語言的基礎知識;

4、熟練掌握計算機常用辦公軟體的基本操作方法;

5、熟練掌握基本數據結構和常用演算法

6、熟練掌握C程序設計語言,以及C++、Java、Visual Basic中的一種程序設計語言;

7、熟悉資料庫、網路和多媒體的基礎知識;

8、掌握軟體工程的基礎知識,了解軟體過程基本知識、軟體開發項目管理的常識;

9、了解常用信息技術標准、安全性,以及有關法律、法規的基本知識;

10、了解信息化、計算機應用的基礎知識;

11、正確閱讀和理解計算機領域的簡單英文資料。

程序員必備技能:

1、熟練開發工具

做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。

而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。

其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。

另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。

2、熟知資料庫

作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。

雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。

3、了解操作系統

當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。

要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。

Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。

在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式。

從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。

至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。

4、明白DCOM/CORBA/XML/WEBServices存在的意義

隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。

XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。

5、不要將軟體工程與CMM分開

大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員。

一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能。

如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。

6、需求理解能力

程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求。

要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。

7、模塊化思維能力

作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。

這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。

就業方向:

1、網路開發

現在網路已經成為世界通訊的一座橋梁,好像Javascript、PHP、Ruby這幾類開發語言大部分是用作網路開發方面。

2、企業軟體開發

JAVA、C#、VB這幾類開發語言都實現了面向對象開發的目標,更多時候用於企業系統的開發。

3、系統軟體

C語言、C++、Object-C這些軟體更多是用在系統軟體開發,嵌入式開發的方面。

當然,這分類不是絕對,像JAVA、C#、VB很多時候也用於動態網站的開發。在很開發項目都會使用集成開發的方式,同一個項目裡面使用多種開發語言,各展所長,同步開發。

但所以在剛入門的時候,建議先為自己選擇一種合適的開發工具,「專注地投入學習,全力一擊」。


(1)程序員有什麼課外書擴展閱讀:

會編程、會計算機語言就能加入互聯網發展大潮中,享受數字經濟發展的紅利,一時間社會上的程序員培訓機構都變得格外火爆。

但是現在,專家的數據分析結果告訴你:若想跟上數字經濟發展的步伐,光會編程可不行,這個行業現在緊缺高端的、綜合型人才。

11月22日下午,清華大學經管學院互聯網發展與治理研究中心與領英聯合發布《中國經濟的數字化轉型:人才與就業》,揭示我國數字人才現狀與趨勢。

報告顯示我國數字經濟發展面臨人才短缺的挑戰,但這種短缺主要體現在擁有中高級專業技能數字人才的比例不高,擁有人工智慧、智能製造等前沿技術的人才更是少之又少。

與美國、英國、加拿大等國家相比,中國的數字人才儲備尚有很大差距。

此外,報告根據對人才需求的數據分析,結果顯示我國數字人才的技能需求不再強調單一編程技能,更加看重技術、管理和領導力等綜合技能。

2015年,我國從事信息傳輸、軟體和信息技術服務相關工作的人數約350萬,但其中中高端人才,特別是前沿技術的數字人才並不多。根據領英中國智庫的研究,在人工智慧領域,美國的從業者數量在85萬人以上,印度15萬,英國14萬,中國只有5萬多人。

報告負責人、清華大學經濟管理學院副院長陳煜波教授表示,我國目前在大數據與人工智慧領域人才缺口明顯。

他解釋說,目前中國85%以上的數字人才分布在產品研發類,而深度分析、先進製造、數字營銷等職能的人才加起來只有不到5%,存在較大缺口,新興技術人才和創新型人才培養方面存在滯後和不足。

這份研究報告的基礎數據來自領英在中國的3600萬個人用戶,這些用戶畢業於1.5萬多所國內外院校,分布在36.4萬家企業,擁有超過2.3萬項技能。

陳煜波研究團隊從中篩選了72萬數字人才,多維度提取用戶畫像並跟蹤其職業軌跡,以此預測不同地區的人才流向、僱傭率、受僱主歡迎的技能等人才趨勢層面的信息。

陳煜波說,根據數據分析結果,整體來看,雖然編程技能和數據分析技能需求占據主導,然而隨著數字產業走向成熟,企業除了強調編程技能,也逐步更加看重人才的技術、管理和領導力等綜合技能。

近年間,項目管理、產品運營等「技術+管理」類技能的需求呈現出明顯的上升趨勢,懂技術、懂管理的人才被認為是「一將難求」。

領英中國代理總裁曾志恆也提醒,如果你有興趣向數字職能轉型,不能僅僅專注於自己的技術能力,溝通和領導力等軟性技能將成為你脫穎而出的關鍵。

陳煜波希望這些研究結果能為教育行業和政府部門提供借鑒。他說,教育行業可根據職位的供需趨勢更好地規劃人才培養的方向,政府也可更好地了解人才流動方向、技術缺口等,以此制定有針對性的引才策略。

程序員崗位職責:

1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。

2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。

3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。

4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。

5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。

6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。

7、負責相關技術文檔的擬訂。

8、負責對業務領域內的技術發展動態進行分析研究。

相關書籍:

很多程序員響應,他們在推薦時也寫下自己的評語。 以前就有國內網友介紹這個程序員書單,不過都是推薦數 Top 9的書。

其實除了前9本之外,推薦數前30左右的書籍都算經典,筆者整理編譯這個問答貼,同時摘譯部分推薦人的評語。

下面就按照各本書的推薦數排列。

1、《代碼大全》 史蒂夫·邁克康奈爾

2、《程序員修煉之道》

3、《計算機程序的構造和解釋》

4、《演算法導論》

5、《重構:改善既有代碼的設計》

6、《設計模式》

7、《人月神話》

8、《計算機程序設計藝術》

9、《編譯原理》(龍書)

10、《活著》

B. C\C++程序員需要掌握什麼書籍

c/c++程序員需要掌握的書籍大概可以分成幾個方面:

  1. 計算機基礎類書籍,這類書籍包括計算機組成原理、計算機網路、資料庫、操作系統、數據結構與演算法。

  2. c/c++類專業書籍,這類書籍包括基礎的C語言程序設計、C++primer。

  3. 擴展類書籍,c/c++相關擴展類,推薦的有C陷阱與缺陷、深度探索C++對象模型、effective C++。

  4. 平台擴展類書籍,這類就要看你在哪類系統下做開發,一般常用的系統平台是嵌入式、windows、Unix及ios(object C++),這類書籍就比較多了,可以按照個人需求選擇。

按照上述推薦的理由是:

  1. 學習計算機語言需要一定的基礎,這類基礎是非常重要但是很無聊的,後續在做開發的時候會覺得非常實用。

  2. 學好語言其實不是非常麻煩的部分,一般的教材類書籍即可,重要而麻煩的是在敲代碼的過程中去熟練掌握、運用和創新。

  3. 擴展類書籍3可以幫助你更深入的理解你所學到的東西,而深入理解是程序員進階的必經之路。

  4. 平台類書籍略有區別,但是標准C++是一樣的,只是針對各自平台做了相應擴展(objectc++除外)。如果需要在某個平台下做開發,或者學習再去學習使用即可。

C. 小白,想入門程序員,應該從什麼開始學,順序是什麼

小白想要成為程序員,首選是選擇一門合適的語言,比如說:Python、Java、C、C++、GO語言等;其次,選擇合適的學習方式,比如培訓,周末班、脫產班還是網路班。
如果完全沒有編程基礎,建議大家學習Python,Python入門簡單、語法清晰、通俗易懂,非常適合零基礎人員。

D. 程序員需要學些什麼

程序員的崗位需求很多,例如大型網路公司、軟體開發公司等等都需要程序員。

程序員需要學習:

1、掌握數據及其轉換、數據的機內表示、算術和邏輯運算,以及相關的應用數學基礎知識;

2、理解計算機的組成以及各主要部件的性能指標;

3、掌握操作系統、程序設計語言的基礎知識;

4、熟練掌握計算機常用辦公軟體的基本操作方法;

5、熟練掌握基本數據結構和常用演算法;

6、熟練掌握C程序設計語言,以及C++、Java、Visual Basic中的一種程序設計語言;

7、熟悉資料庫、網路和多媒體的基礎知識;

8、掌握軟體工程的基礎知識,了解軟體過程基本知識、軟體開發項目管理的常識;

9、了解常用信息技術標准、安全性,以及有關法律、法規的基本知識;

10、了解信息化、計算機應用的基礎知識;

11、正確閱讀和理解計算機領域的簡單英文資料。

程序員必備技能:

1、熟練開發工具

做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。

而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。

其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。

另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。

2、熟知資料庫

作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。

雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。

3、了解操作系統

當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。

要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。

Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。

在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式。

從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。

至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。

4、明白DCOM/CORBA/XML/WEBServices存在的意義

隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。

XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。

5、不要將軟體工程與CMM分開

大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員。

一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能。

如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。

6、需求理解能力

程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求。

要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。

7、模塊化思維能力

作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。

這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。

就業方向:

1、網路開發

現在網路已經成為世界通訊的一座橋梁,好像Javascript、PHP、Ruby這幾類開發語言大部分是用作網路開發方面。

2、企業軟體開發

JAVA、C#、VB這幾類開發語言都實現了面向對象開發的目標,更多時候用於企業系統的開發。

3、系統軟體

C語言、C++、Object-C這些軟體更多是用在系統軟體開發,嵌入式開發的方面。

當然,這分類不是絕對,像JAVA、C#、VB很多時候也用於動態網站的開發。在很開發項目都會使用集成開發的方式,同一個項目裡面使用多種開發語言,各展所長,同步開發。

但所以在剛入門的時候,建議先為自己選擇一種合適的開發工具,「專注地投入學習,全力一擊」。


(4)程序員有什麼課外書擴展閱讀:

會編程、會計算機語言就能加入互聯網發展大潮中,享受數字經濟發展的紅利,一時間社會上的程序員培訓機構都變得格外火爆。

但是現在,專家的數據分析結果告訴你:若想跟上數字經濟發展的步伐,光會編程可不行,這個行業現在緊缺高端的、綜合型人才。

11月22日下午,清華大學經管學院互聯網發展與治理研究中心與領英聯合發布《中國經濟的數字化轉型:人才與就業》,揭示我國數字人才現狀與趨勢。

報告顯示我國數字經濟發展面臨人才短缺的挑戰,但這種短缺主要體現在擁有中高級專業技能數字人才的比例不高,擁有人工智慧、智能製造等前沿技術的人才更是少之又少。

與美國、英國、加拿大等國家相比,中國的數字人才儲備尚有很大差距。

此外,報告根據對人才需求的數據分析,結果顯示我國數字人才的技能需求不再強調單一編程技能,更加看重技術、管理和領導力等綜合技能。

2015年,我國從事信息傳輸、軟體和信息技術服務相關工作的人數約350萬,但其中中高端人才,特別是前沿技術的數字人才並不多。根據領英中國智庫的研究,在人工智慧領域,美國的從業者數量在85萬人以上,印度15萬,英國14萬,中國只有5萬多人。

報告負責人、清華大學經濟管理學院副院長陳煜波教授表示,我國目前在大數據與人工智慧領域人才缺口明顯。

他解釋說,目前中國85%以上的數字人才分布在產品研發類,而深度分析、先進製造、數字營銷等職能的人才加起來只有不到5%,存在較大缺口,新興技術人才和創新型人才培養方面存在滯後和不足。

這份研究報告的基礎數據來自領英在中國的3600萬個人用戶,這些用戶畢業於1.5萬多所國內外院校,分布在36.4萬家企業,擁有超過2.3萬項技能。

陳煜波研究團隊從中篩選了72萬數字人才,多維度提取用戶畫像並跟蹤其職業軌跡,以此預測不同地區的人才流向、僱傭率、受僱主歡迎的技能等人才趨勢層面的信息。

陳煜波說,根據數據分析結果,整體來看,雖然編程技能和數據分析技能需求占據主導,然而隨著數字產業走向成熟,企業除了強調編程技能,也逐步更加看重人才的技術、管理和領導力等綜合技能。

近年間,項目管理、產品運營等「技術+管理」類技能的需求呈現出明顯的上升趨勢,懂技術、懂管理的人才被認為是「一將難求」。

領英中國代理總裁曾志恆也提醒,如果你有興趣向數字職能轉型,不能僅僅專注於自己的技術能力,溝通和領導力等軟性技能將成為你脫穎而出的關鍵。

陳煜波希望這些研究結果能為教育行業和政府部門提供借鑒。他說,教育行業可根據職位的供需趨勢更好地規劃人才培養的方向,政府也可更好地了解人才流動方向、技術缺口等,以此制定有針對性的引才策略。

程序員崗位職責:

1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。

2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。

3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。

4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。

5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。

6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。

7、負責相關技術文檔的擬訂。

8、負責對業務領域內的技術發展動態進行分析研究。

相關書籍:

很多程序員響應,他們在推薦時也寫下自己的評語。 以前就有國內網友介紹這個程序員書單,不過都是推薦數 Top 9的書。

其實除了前9本之外,推薦數前30左右的書籍都算經典,筆者整理編譯這個問答貼,同時摘譯部分推薦人的評語。

下面就按照各本書的推薦數排列。

1、《代碼大全》 史蒂夫·邁克康奈爾

2、《程序員修煉之道》

3、《計算機程序的構造和解釋》

4、《演算法導論》

5、《重構:改善既有代碼的設計》

6、《設計模式》

7、《人月神話》

8、《計算機程序設計藝術》

9、《編譯原理》(龍書)

10、《活著》

E. 程序員應該讀什麼書

《軟體故事》([美] 史蒂夫·洛爾)電子書網盤下載免費在線閱讀

資源鏈接:

鏈接:https://pan..com/s/13OInH9h3qa6ZZhcbo-GoZg

密碼:g82l

書名:軟體故事

作者:[美] 史蒂夫·洛爾

譯者:張沛玄

豆瓣評分: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一書合著者,現居住於紐約。

F. 10本國外經典科幻小說

國外有很多科幻小說,就選幾本經典的來讀讀吧。下面是我為你精心整理的10本國外經典科幻小說,希望你喜歡。

國外經典科幻小說第1本:《海底兩萬里Twenty Thousand Leagues Under The Sea》(1870)

儒勒·凡爾納Jules Verne是科幻小說的先驅,他的這部小說問世60年後,“科幻小說”這個詞才正式出現在公眾 文化 中。《海底兩萬里》是儒勒·凡爾納最具預見性的作品,其 中的潛艇戰、水肺 潛水 甚至泰瑟槍之後都成為現實。美國建造的世界第一艘核動力潛艇的名字“鸚鵡螺號”就源自《海底兩萬里》。

國外經典科幻小說第2本:《震盪波騎士The Shockwave Rider》(1975)

賽博朋克小說的開山之作,比威廉·吉布森William Gibson(發表《神經漫遊者Neuromancer》)還要早九年,甚至賽博朋克cyberpunk這個詞也是在這部小說發表五年後才出現。雖然, 《震盪波騎士》中沒有描寫一個虛擬現實的華麗網路空間,但小說中的電腦黑客在全球計算機網路上釋放了一個可以自我復制的程序,約翰·布魯勒爾John Brunner把這個程序叫做“蠕蟲”。1982年,施樂帕克研究中心的研究人員發現他們在分布式計算領域所作的工作和約翰·布魯勒爾小說中的描述驚人地 相似。1988年第一個現實中的蠕蟲病毒在互聯網上出現並迅速擴散,感染了數千台電腦。

國外經典科幻小說第3本:《天堂的噴泉The Fountains of Paradise》(1979)

阿瑟·C·克拉克Arthur C. Clark的這本小說描寫了“太空升降機”—從位於10000公里高處的地球軌道上,將一條纜索放到地面上。通過這條纜索,人們乘坐特殊的纜車或升降機進 入宇宙空間。如果這樣的“太空升降機”有一天成為現實的話,其預見性可以和《海底兩萬里》中的鸚鵡螺號潛艇媲美了。阿瑟·C·克拉克沒有發明出太空升降機 的實物,不過他進行了嚴謹的演算,證明太空升降機是可行的。他甚至預測出碳纖維將是製造升降機纜索的理想材料。二十年後,這一預測成為現實,NASA(美 國國家航空航天局)首次將太空升降機研究付諸行動時,碳納米管成為核心材料。

國外經典科幻小說第4本:《賽亭星Cyteen》(1988)

C.J.切瑞C.J. Cherryh將 故事 背景設定在一個嚴酷的星球,那裡的定居者和地球居民關系惡劣。《賽亭星》的矛盾主線是推動克隆人超越基因復製品限制的嘗試。故事中科 學家通過創造類似的童年經歷,試圖塑造他們社會中最有價值公民的性格。切瑞通過這部作品,巧妙地探討了先天遺傳和後天環境孰重孰輕的爭論。

國外經典科幻小說第5本:《火星三部曲The Mars Trilogy》(1992-1996)

作者金·斯坦利·羅賓遜Kim Stanley Robinson把故事中對火星的殖民化開始於2026年,200年後結束,那時火星的地形改造基本完成,人類邁出了走進星際空間的第一步。火星三部曲著 重描寫火星殖民者的日常生活細節,並且密切關注火星的地理環境,彷彿我們中的每個人都會登上這個紅色星球一樣。

國外經典科幻小說第6本:《鑽石年代The Diamond Age》(1995)

故事情節是一個下等民小女孩偶然間獲得了一本世界上最前進的繪本啟蒙書,這本書在各 種情況下一直指導小女孩的成長。尼爾·斯蒂芬森Neal Stephenson塑造這本啟蒙書和小女孩生活的整個世界時,借鑒了埃里克·德雷克斯勒Eric Drexler關於分子納米技術的一些觀念,那就是微型機械過特定時間就會創造新奇跡。

國外經典科幻小說第7本:《彩虹盡頭Rainbows End》(2006)

第一次讀這本小說時,主要內容中遠超現實的科技讓讀者感覺作者弗諾·文 奇Vernor Vinge把故事背景設定在2025年似乎過度樂觀。“隱形眼鏡”佩戴者的周圍覆蓋著網路上的數字信息—“網衣”。個人社交網路資料可能出現在他們的頭 邊,完整的景象也可能被投射到幻想的世界,在汽車或飛機上噴塗怪物或龍的圖案。不過現實世界的科技發展速度遠比我當時想像的迅猛。

國外經典科幻小說第8本:《熾熱Incandescence》(2008)

格雷格·伊根Greg Egan把年代設定為:遙遠的未來,背景:跨星系的文明—這部作品似乎無可爭議地屬於太空歌劇的范疇,不過格雷格·伊根之前還寫過一本廣義相對論和天體物 理學的啟蒙小說。故事情節大多發生在工業革命前詭異的世界,文中的角色需要盡快發現某些先進的物理學原理,否則他們就會有大災難。

國外經典科幻小說第9本:《時間機器The Time Machine》(1895)

H·G·威爾斯H.G. Wells的這本小說有點自我剽竊的意味—那台機器的操作原理似乎是直接從《頑固的亞爾古英雄The Chronic Argonauts》中搬過來的。H·G·威爾斯的這篇短篇小說出版於1888年,比《時間機器》出版時間早七年。盡管如此,《時間機器》仍是部出色的科 幻作品,因為這部小說傳播了這樣的理念:時光旅行可以靠科學技術手段實現,而不是像早期的穿越故事那樣依賴於魔法。近幾十年中物理學家們爭先恐後進行理論 上時光機器的研究,就證明《時間機器》關於四維宇宙中時光旅行的描寫極具預見性。

國外經典科幻小說第10本:《我,機器人I, Robot》(1950)

1941年艾薩克·阿西莫夫Isaac Asimov創造了“機械人工程學robotics”這個詞。短篇小說集《我,機器人》收錄了艾薩克 · 阿西莫夫最著名的作品—《機器人三定律》(機器人不得傷害人,也不得見人受到傷害而袖手旁觀;機器人應服從人的一切命令,但不得違反第一定律;機器人應保 護自身的安全,但不得違反第一、第二定律)。雖然艾薩克·阿西莫夫的作品中沒有過多描述機器人的“正電子大腦”如何運作,但提出了一種思路:機器的思想運 轉正常,但指令沖突使其行為怪異。之後的計算機程序員對這種思路再熟悉不過,因為指令沖突時程序就會出現bug。

科幻小說課外書相關 文章 :

1. 5本必看外國科幻小說

2. 10本課外必讀書

3. 課外書大全

4. 不可錯過的科幻經典小說分享

G. 從事軟體開發方面的人應該看哪些課外書

◆ Visual Basic .NET 技術內幕
—— Programming Microsoft Visual Basic .NET(Core Reference)

本書內容深入全面,涵蓋的主題十分豐富,並結合大量典型的代碼示例來講解Visual Basic.NET的核心編程技術。本書共分6大部分。首先介紹了Visual Basic.NET語言的基礎知識,以及一些有關類的新特性,例如繼承、委託和事件等。然後詳細講解了Visual Basic.NET面向對象的特性,並介紹了.NET對字元串、數字、日期/時間和文件類的內在支持,以幫助您掌握這些最重要的API元素。之後,描述了新的Windows窗體、通過ADO.NET進行資料庫編程和Win32技術支持等,並講解了如何通過程序集來部署Visual Basic.NET應用程序。最後介紹了Internet應用程序的開發,包括Web窗體、ASP.NET應用程序和諸如緩存技術、配置等新特性,以及用於Web開發的基本技術。 本書在多處指出了Visual Basic.NET與Visual Basic 6之間的區別及其新特性,並介紹了在Microsoft.NET環境下導入和重用現有的V1sualBasic代碼的最佳方式。通過本書的學習,您可以全面掌握Visual Basic.NET編程技術。

◆ Microsoft Windows程序設計 - Visual Basic .NET語言描述
—— Programmin Microsoft Windows with Microsoft Visual Basic .NET

Petzold最暢銷的C#書籍——現在針對Microsoft Visual Basic.NET開發人員推出了適用本。Charles Petzold是全球最權威且知名的Windows程序設計專家,他將其最暢銷Programming Microsoft Windows with C#——書加以改寫,使之能完全適用於Visual Basic.NET的開發人員。這位暢銷書的作家示範了如何使用Visual Basic.NET將Windows Forms的功能發揮到極致(Windows Forms是新一代的Windows程序設計類庫)。您將學習如何使用Visual Basic的.NET版本替Windows應用程序建立動態的用戶界面與圖形化輸出。通過豐富的用戶端應用程序範例清楚示範了最常用的技術與不為人知的技巧,有了本書,您能真正深入到VisuaI Basic.NET的核心領域。

◆ Microsoft .NET框架程序設計
—— Applied Microsoft .NET Framework programming

本書是《微軟.NET程序員系列》叢書之一,主要介紹如何開發面向Microsoft .NET框架的各種應用程序。Microsoft .NET框架是微軟公司推出的新平台,包含通用語言運行時(CLR)和.NET框架類庫(FCL)。本書將深入解釋CLR的工作機制及其提供的各種構造,同時還將討論FCL中一些重要的類型。全書共分為 五個部分,包括:.NET框架基本原理、類型和通用語言運行時、類型設計、基本類型,以及類型管理。
本書適用於要了解、掌握.NET平台的讀者,尤其適合廣大編程愛好者、軟體工程師、系統架構師閱讀。

◆ 設計模式:可復用面向對象軟體的基礎
—— Design Patterns:Elements of Reusable Object-Oriented software

本書結合設計實例從面向對象的設計中精選出23個設計模式,總結了面向對象設計中最有價值的經驗,並且用簡潔可復用的形式表達出來。本書分類描述了一組設計良好、表達清楚的軟體設計模式,這些模式在實用環境下特別有用。本書適合大學計算機專業的學生、研究生及相關人員參考。

◆ 深入淺出設計模式
—— Head First Design Pattern

你不想重新發明車輪(或者更差的是,沒有充氣車胎的輪子),所以你從設計模式中尋求幫助——設計模式是過去人們面對同樣的軟體設計問題所得到的經驗。 有了設計模式,就可以利用其他人的實踐經驗的精華,因此省下的時間可以用在其他的事情上,如:更有挑戰性的事情、更復雜的事情以及更有趣的事情。你想要學習:

·重要的模式

·何時使用某個模式,為何使用該模式

·如何在你自己的設計中馬上採用這些模式

·何時不該使用該模式(如何避免濫用模式)

·某個模式是依據哪些面向對象設計原理而設計出來的

更重要的是,你想在學習設計模式的過程中,不感覺到昏昏欲睡。如果你曾經讀過任何一本深入淺出(Head First)系列書籍,你就會知道能夠從本書中得到的是:透過豐富的視覺效果讓你的大腦充分地運作。本書的編寫運用許多最新的研究,包括神經生物學、認知科學以及學習理論,這使得這本書能夠將這些設計模式深深地烙印在你的腦海中,不容易被遺忘。你將會更擅長於解決軟體設計中的問題,並能夠和你的團隊成員用模式的語言來更好地溝通。

◆ 設計模式解析
—— Design Pattern Explained

本書從一個新的視角描述面向對象設計,將面向中對象編程的原則與運用設計模式力量創建健壯、可靠的軟體開發環境結合起來。書中採用實用、恰當的例子,指導讀者用模式解決普通的編程問題,並且解釋現代軟體設計模式的優越性。本書適用於學習面向中對象設計和設計模式的學生、程序員以及從事軟體開發的人士。 本書要點包括: ·對象、封裝和繼承的新觀點 ·設計模式的思想、起源及其在軟體設計學科中的應用 ·模式基礎以及使用統一建模語言(UML)進行面向對象軟體開發 ·如何實現關鍵模式——Strategy(策略)、Observer(觀察者)、Bridge(橋接)、Decorator(裝飾)等等 ·共同點/變化點分析、設計模式以及它們如何幫助理解抽象類

◆ 代碼大全第二版
—— Code Complete,Second Edition

代碼大全(第二版)是著名IT暢銷書作者Steve McConnell十一年前的經典著作的全新演繹:第二版不是第一版的簡單修訂增補,而是完全進行了重寫;增加了很多與時俱進的內容。這也是一本完整的軟體構建手冊,涵蓋了軟體構建過程中的所有細節。它從軟體質量和編程思想等方面論述了軟體構建的各個問題,並詳細論述了緊跟潮流的新技術、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程序示例。本書中所論述的技術不僅填補 了初級與高級編程技術之間的空白,而且也為程序員們提供了一個有關編程技巧的信息來源。本書對經驗豐富的程序員、技術帶頭人、自學的程序員及幾乎不懂太多編程技巧的學生們都是大有裨益的。可以說,無論你是什麼背景,閱讀本書都會讓你在更短的時間內、更容易地寫出更好的程序。

◆ 人月神話
—— The Mythical Man-Month:Essays on Software Engineering,Anniversary Edition

本書自第一版以來,暢銷20餘年不衰,是軟體領域絕無僅有的必讀經典。本文作者為人們管理復雜項目提供了頗具洞察力的見解,既有很多發人深省的觀點,也有大量的軟體工程實踐。本書內容來自布魯克斯在IBM公司 System/360 家族和OS/360中的項目管理經驗。在本書第一次出版20年後的今天,布魯克斯重新審視了他原先的觀點,增加了一些新的想法和建議。既方便了熟悉原有內容的人們,也方便了許多第一次閱讀它的讀者。

◆ 人件
—— Peopleware:Proctive Projects and Teams,2nd Ed

《人件》第1版於1987 年出版,專門討論了軟體開發和維護團隊的管理問題,並向人們的傳統認識提出了挑戰。作者在書中推崇人本管理思想,正確指出知識型企業的核心是人,而不是技術,呼籲給予軟體工作者充分的自由和信任。本書推出後,立即在西方引起了轟動,被譽為"幾十年來對美國軟體業影響最大的理念"。與《人月神話》一樣,《人件》現已成為軟體團隊管理的經典之作。它和《人月神話》共同被譽為軟體圖書中"兩朵最鮮艷的奇葩"。人們認為,《人月神話》關注"軟體開發"本身,《人件》則關注軟體開發中的"人",因此,在成千上萬的書架上,《人件》永遠和《人月神話》並列在一起。1999 年 2 月,《人件》第2版出版,增補了8 章新內容。這些新內容擁有更加寬廣的視角,對大中型組織中的團隊如何運作進行了深入探討。《人件》最新版的中文譯本由UMLChina組織翻譯,清華大學出版社將於2003 年5月出版。

◆ 程序員修煉之道 —— 從小工到專家
—— The Pragmatic Programmer

本書主要介紹了軟體開發的原則和方法。本書直指編程前沿,透過日益增長的現代軟體開發 規范和技術,對軟體開發的核心過程進行了審視——以滿足用戶為本,針對用戶需求來產出高效、可維護的優秀代碼。全書涵蓋內容廣博,從個人責任和職業發展,到保持代碼靈活性並使之易於改動和重用,多而不雜。本書採用了有趣的軼事、詳實的例子以及詼諧的對話等方式,描述了軟體開發方方面面的最佳實踐方案和各種缺陷。您從本書所學到的開發技巧、開發習慣以及職業態度,必將幫助您修煉成為一名真正的Pragmatic Programmer!

H. 怎麼成為一名程序員,要從哪裡開始學起,先學什麼在學什麼

答:

首先你要清楚程序員也分很多種,從語言分,有C,C++,C#,JAVA,Delphi等等,你要考慮好弄自己向哪部分發展。

  1. 一般如果沒什麼理解可以從C語言學起,因為C語言比較貼切於機器語言,大學裡面一般也都是先學C的,學好了C語言,可以觸類旁通,更容易學其他的語言。

2.Java據說是現在最熱門的(所有程序員都覺得自己用的那個語言最牛逼),IOS或者android學了可以做手機軟體哦,Delphi和C#是用控制項拖出自己想要的結果,然後在後台寫代碼的,不過有人說Delphi相對落伍了,但好些大公司還是在用Delphi來搭框架的。

3.選定好語言後,如果覺得自己理解能力動手能力超強的話,自己買本入門的書,或者網上看些教學視頻,邊看邊實踐。不過這個對於初學者來說真的挺難的,因為第一次的話,可能連環境都搭不好,用來編程的軟體對初學者來說還是蠻麻煩的一種軟體,不是這個不行,就是那個設置錯了,或者連一些基礎的窗口啊工程啊項目啊的概念都沒有,網路起來又要答案一個一個看,浪費時間。而且還要自己搭資料庫啊什麼的,真的很難。有老師教的時候,還能掛科一大片的。不過入門了,之後就簡單了,自己隨便找本書,學學代碼用法啊,照著打就可以了。

拓展資料:

程序員(英文Programmer)是從事程序開發、程序維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。

崗位職責:

1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。

2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。

3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。

4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。

5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。

6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。

7、負責相關技術文檔的擬訂。

8、負責對業務領域內的技術發展動態進行分析研究。

網路詞條 程序員

I. 我是大一新生 應該看些什麼書對今後發展有幫助呢 還有我想問一下 碼農是怎麼樣的活著 大

大學已經不像高中那樣成績放在第一位(但是不是說就不重要),比較注重實踐,要跟學長們打聽本專業就業需要考取那些證書,抓緊時間都給考下來,我個人觀點,學生會啊,社團啊之類的用處不大,考證才是硬道理,看點課外書也好,最好都是些實用的,小說啊,散文啊那些偶爾陶冶情操還行,不要迷戀。

J. 考程序員要看什麼書

1、
考試大綱(清華大學出版社)
程序員考試大綱與培訓指南(2009版),8元
2、
指定教材(清華大學出版社)
程序員教程(第三版),張淑平主編,57元
程序員教程(第2版),沈林興主編,57元
3、
試題分析解答(清華大學出版社)
程序員歷年試題分析與解答,2008版,38元
4、
參考用書
(清華大學出版社)
程序員考前重點輔導,李鋒主編,83元
跨越程序員必備訓練,
范立南主編,49元
程序員考試復習與提高(2007版),李鋒主編,78元
程序員考試科目1:計算機硬軟體基礎知識--考點解析及模擬訓練(2005版),劉克武主編,48元
程序員考試科目2:程序設計--考點解析及模擬訓練(2005版),劉華主編,29元
程序員考試輔導(2005版),謝樹煜主編,46元
程序員備考訓練(2006版),劉克武等編,19元
備註:最好是看09年以後的書,畢竟是09年改革的。
我在華信智原也正准備考初級程序員,希望我們都過,加油!

閱讀全文

與程序員有什麼課外書相關的資料

熱點內容
銀河v10驅動重編譯 瀏覽:889
電腦上文件夾右擊就會崩潰 瀏覽:689
右美維持演算法 瀏覽:938
php基礎編程教程pdf 瀏覽:219
穿越之命令與征服將軍 瀏覽:351
android廣播重復 瀏覽:832
像阿里雲一樣的伺服器 瀏覽:318
水冷空調有壓縮機嗎 瀏覽:478
訪問日本伺服器可以做什麼 瀏覽:432
bytejava詳解 瀏覽:448
androidjava7 瀏覽:384
伺服器在山洞裡為什麼還有油 瀏覽:885
天天基金app在哪裡下載 瀏覽:974
伺服器軟路由怎麼做 瀏覽:292
冰箱壓縮機出口 瀏覽:228
OPT最佳頁面置換演算法 瀏覽:644
網盤忘記解壓碼怎麼辦 瀏覽:853
文件加密看不到裡面的內容 瀏覽:654
程序員腦子里都想什麼 瀏覽:434
oppp手機信任app在哪裡設置 瀏覽:189