網路編程課本
⑴ 要編寫一個網路即時聊天系統,如何入手需要具備哪些基礎知識
計算機才是程序員真愛啊~
網路聊天系統, 首先跑不掉的就是網路. Socket編程, 想都不用想, 必修課, 建議書本 《Unix網路編程》Richard Stevens編寫. 推薦書目可能會有點陳舊, 不過應該都無大礙, 畢竟老夫老妻了. 服務端方面的通訊也可以用更高層一點的方法, 比如利用HTTP協議, 那麼, 請看一下Web Service, 主流的有REST和SOAP兩種.
通訊過程和內容你也得思量下, 所謂通訊協議. 當然, 你可以自己定, 也可以看看現成的設計, 比如 JSON格式XML格式, 還有Google的protobuf. 其實么......你可以直接去看一下XMPP協議, 已經被廣泛使用.
⑵ 計算機編程
按照大學的計算機教程出場順序:先是計算機導論,實際就是讓你大體了解一下計算機,沒有什麼實際內容!重點是第二個,清華譚浩強編著的c語言程序設計教程,然後再繼續看他編著的c++語言程序設計教程,接著看清華大學嚴蔚敏的數據結構。。。然後回過頭來看c++ primary(中文 第四版),和vc初級教程再看mfc深入淺出(第二版)想成為編程高手,那就耐心把以下文章看完!
一、為何要學編程?
每個人的動機不一樣。大致有:
1、為了找個好工作;或為了有更好的機會和更好的發展。
2、看到別人超厲害,所以也想學。
3、實際工作中很多場合需要。
4、從小就立志做個程序員,做軟體工程師。
5、振興中國的軟體事業。
。。。。。。
================================================
二、如何學編程?
1、多看好書。
差書誤人子弟,不但浪費時間和精力,而且打擊人的信心,差書使人很久都不會,讓會讓人懷疑自已的學習能力。
現在的書很多,但好書很少,特別是被大家公認很有價值的好書,更是少之又少。歷經多年時間考驗和市場風雨不殘酷洗禮而僅存的巨著,更是極其稀少。中國歷史上文學小說類書本多如牛毛,但僅存的巨著,也只不過<<紅樓夢>>等四本名著而已,編程方面也是如此。
2、多動手。
這一點很重要。而且特別重要。「紙上得來終覺淺,絕知此事要躬行。」陸游的千古名句說的就是這個道理,並且同樣適合於編程方面。
================================================
三、用什麼語言最好?
這主要取決於應用領域,每種語言都有自已的長處和不足。
1、匯編語言和C語言在單片機及工控領域用較多。另外C語言也是一種通用語言,是學C++/c#的起點。
2、C++系統編程等多個方面,最常用的編譯器是VC。
3、C#/java網路編程方面新興的。
4、VB通用。
5、還有Delphi等。。。。。。
個人建議:從未編過程的,就從學vb開始。有基礎的可直接學c++/VC。
===================================================
四、有什麼好書?
幾年前,台灣著名技術作家侯捷先生曾經寫過一篇影響很大的書評文章,叫做《MFC四大天王》。文章的意思是說在MFC的浩瀚書海中,只要認真研讀和學習其中四本,就可以「五嶽歸來不看山」。侯先生雖以MFC為例,但是這個道理卻同樣適合於MFC之外的很多具體技術領域,這不能不說是一個有趣的統計現象。
通常在某一個具體細分的技術領域,會自然而然地出現3-5本頂級著作,它們彼此互相配合,形成一個完整的體系。對於學習者來說,只需要認真研讀這幾本書,就足以升堂入室。我樂於將這種現稱為「四書五經現象」。對於讀者來說,如果能夠找到該領域中的「四書五經」,則無論在時間上還是金錢上都是最經濟的選擇。好書幾本,勝過爛書幾捆,這個體會想必大家都有。在此,幫助大家遴選各個技術領域里的「四書五經」。
編程的書可謂汗牛充棟,其中經典也是不泛其數,但絕大多數的過來人,都一致認為,要想很快的入門並盡快的投入到編程實踐中,只要其中的四到五本也就夠了,即只看經典中的經典,聖經級的書就可以了。
所謂活到老學到老,程序員是個終身學習的職業,要不斷的看書,直到放棄編程的那一天。所以,您要讀的好書也絕非以下推薦的這些書喲,呵呵。
一句話,由於我們的時間、精力、金錢都是有限的,如何以最小的代價換得最大的收獲。
================================================================
五、經典好書分類熱銷榜
1、java
java編程語言(第三版)---java四大名著----James Gosling(java之父)
java編程思想(第2版)----java四大名著----Bruce Eckel
java編程思想(第3版)----java四大名著----------------Bruce Eckel
java 2核心技術 卷I:基礎知識(原書第7版)---java四大名著-----Cay Horstmann
java 2核心技術 卷II:高級特性(原書第7版)----java四大名著-----Cay Horstmann
Effective java中文版------java四大名著--------Joshua Bloch
精通Struts:基於MVC的java Web設計與開發---孫衛琴
精通Hibernate:java對象持久化技術詳解---孫衛琴
Tomcat與java Web開發技術詳解------------孫衛琴
java與模式------------------------------閻宏
2、c#
C#程序設計-------Charles Petzold「windows編程泰山北斗」---C#語言「倚天屠龍雙劍」
C# Primer中文版--------Stanley B.Lippman---C#語言「倚天屠龍雙劍」
.NET框架程序設計(修訂版)--------Jeffrey Richter「windows編程泰山北斗」---.NET平台四大天王
C# Windows程序設計----------Charles Petzold「windows編程泰山北斗」------.NET平台四大天王
.NET程序設計技術內幕-------------Jeff Prosise---.NET平台四大天王
.NET本質論--第1卷:公共語言運行庫(中文版)--------Chris Sells---.NET平台四大天王
3、C++
C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」
C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman
C++標准程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis
C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」
深度探索C++對象模型---c++八大金剛----Stanley B.Lippman
Essential C++中文版---c++八大金剛---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers
More Effective C++中文版----c++八大金剛------Scott Meyers
C++編程思想(第2版) 第1卷:標准C++導引--------Bruce Eckel
C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel
C++程序設計--------------------------譚浩強
C++ 程序設計教程(第2版)--------------錢能
C++ Primer Plus(第五版)中文版---Stephen Prata
廣博如四庫全書The c++ programming language、c++ Primer
深奧如山重水復Inside the c++ object model
程序庫大全The c++ standard libray
工程經驗之積累Effective c++、More Effective c++、Exceptional c++
c++八大金剛:
1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者
2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++網路全書代表,聖經。
3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++網路全書代表。
4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。
5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。
6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。
7、The c++ standard libray---c++標准庫的網路全書。
8、設計模式:可復用面向對象軟體的基礎------good!
4、c
C程序設計語言(第2版·新版)---C語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」
C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata
C程序設計(第三版)---------------------------譚浩強
C語言大全(第四版)---------------------------HERBERT SCHILDT
C語言介面與實現:創建可重用軟體的技術-------------DAVID R.HANSON
C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison
C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱與缺陷-----------------------------------Andrew Koenig
5、VB
Visual Basic .NET技術內幕-----VB編程三劍客-----------Francesco Balena「vb首席大師」
Windows程序設計-Visual Basic.NET語言描述--VB編程三劍客-----Charles Petzold「windows編程泰山北斗」---
.NET框架程序設計:Visual Basic.NET語言描述--VB編程三劍客--Jeffrey Richter「windows編程泰山北斗」---
Visual Basic 6編程技術大全------------------------Francesco Balena「vb首席大師」
Visual Basic.NET 從入門到精通-------------------------Petroutsos,E.
高級VISUAL BASIC編程-----------------------------------MATTHEW CURLAND
6、Delphi
Inside VCL(深入核心——VCL架構剖析)----------李維
Delphi 7高效資料庫程序設計--------------李維
面向對象開發實踐之路(Delphi版)----------李維
7、VC
Windows 程序設計(第5版)-----Charles Petzold「windows編程泰山北斗」---
Windows核心編程----------Jeffrey Richter「windows編程泰山北斗」---
Windows高級編程指南---------Jeffrey Richter「windows編程泰山北斗」---
深入淺出MFC(第二版)-----「MFC四大天王」-------侯捷
MFC Windows程序設計(第2版)---MFC四大天王」---------Jeff Prosise
Visual C++ 技術內幕(第4版)--MFC四大天王」--------David Kruglinski
深入解析MFC-------------MFC四大天王」-----------George Shepherd
Visual C++.NET 技術內幕(第6版)-MFC四大天王」------------David Kruglinski
8、vf
Visual Foxpro程序設計參考手冊-------------------張洪舉
專家門診——Visual FoxPro開發答疑160問-------------------張洪舉
Visual FoxPro 6.0/9.0解決方案與範例大全-------------------張洪舉
Visual FoxPro軟體開發模式與應用案例-------------------張洪舉
9、黑客
應用密碼學(協議演算法與C源程序-----------Bruce Schneier
網路信息安全的真相-----------Bruce Schneier
黑客大曝光:網路安全機密與解決方案(第5版)--------STUART MCCLURE
軟體加密技術內幕------------看雪學院
加密與解密——軟體保護技術與完全解決方案------------看雪學院
加密與解密(第二版)--------段鋼
10、匯編
Intel微處理器結構、編程與介面(第六版)---------Barry B. Brey
80*86、奔騰機匯編語言程序設計---------Barry B. Brey
Windows環境下32位匯編語言程序設計(第2版)-----------羅雲彬
IBM-PC匯編語言程序設計(第2版) 本書是國內優秀教材--------沈美明 溫冬嬋
IBM PC匯編語言程序設計(第五版) 這本書籍是國外優秀教材-------PETER ABEL著,沈美明 溫冬蟬譯
11、驅動開發
Windows WDM設備驅動程序開發指南------------------------------------ Chris Cant
Windows 2000/XP WDM設備驅動程序開發(第2版)--------------------------武安河
WINDOWS 2000/XP WDM設備驅動程序開發-------------------------------- 武安河
12、網路
計算機網路第四版中文版----網路編程三劍客--------------Andrew S.Tanenbaum
TCP/IP詳解3卷本--------------------Richard Stevens----網路編程三劍客
UNIX網路編程2卷本--------------------Richard Stevens----網路編程三劍客
用TCP/IP進行網際互聯-----------Douglas E. Comer
高級TCP/IP編程-------------------Jon C. Snader
C++網路編程-----------------------Douglas Schmidt
UNIX環境高級編程(第2版)--------------------Richard Stevens
13、演算法
計算機程序設計藝術-------Donald.E.Knuth----------演算法「倚天屠龍」雙劍
演算法導論-----------------Thomas H. Cormen--------演算法「倚天屠龍」雙劍
離散數學及其應用----------Kenneth H.Rosen
具體數學—計算機科學基礎--------Donald.E.Knuth
14、圖形編程
Windows 圖形編程----------------FENG YUAN --圖形編程界的Charles Petzold之書
15、數據結構
數據結構 C++語言描述》58.00(Data Structures C++) William Ford,William Topp 劉衛東 沈官林
數據結構演算法與應用-C++語言描述》49.00Sartej Sahni 汪詩林 孫曉東等機械工業出版社
16、軟體工程
設計模式--可復用面向對象軟體的基礎
重構—改善既有代碼的設計
17、操作系統
深入理解計算機系統(修訂版)-------RANDAL E.BRYANT
18、Unix
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版
UNIX 編程藝術
UNIX環境高級編程(英文影印第2版-----UNIX編程「聖經
UNIX環境高級編程(英文影印版)(第2版)
UNIX環境高級編程(第2版)
UNIX環境高級編程(第2版)---UNIX編程「聖經
UNIX網路編程 第1卷:套介面API(第3版)
UNIX網路編程卷2:進程間通信(第2版)(英文影印版)
UNIX 網路編程(第二版)第2卷:進程間通信
UNIX編程環境
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版
UNIX系統編程
UNIX環境高級編程
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版)
UNIX網路編程 第1卷:套介面API(第3版)
UNIX 網路編程(第二版)第2卷:進程間通信
UNIX網路編程卷2:進程間通信(第2版)(英文影印版)
UNIX 網路編程(第2版)第1卷:套介面API和X/Open 傳輸介面API
UNIX網路編程(卷1):連網的APLS:套接字與XTI(第二版)(英文影印版)
UNIX環境高級編程
Unix技術手冊
19、linux
Linux內核設計與實現
Linux內核完全注釋
LINUX內核分析及編程
GNU/Linux 編程指南(第二版)
Linux設備驅動程序(第三版)
嵌入式設計及Linux驅動開發指南——基於ARM 9處理器
Linux設備驅動程序 第三版(英文影印版)
Linux內核設計與實現(第2版)
Linux內核設計與實現(英文影印版)(第2版)
linux技術手冊
20、游戲編程
Windows游戲編程大師技巧(第二版
游戲之旅--我的編程感悟
OpenGL超級寶典:第三版
OpenGL編程指南(第四版)
java 游戲高級編程
J2ME手機游戲編程入門
游戲之旅——我的編程感悟
游戲開發中的人工智慧(英文影印版)
3D游戲:卷2 動畫與高級實時渲染技術
面向對象的游戲開發
java 游戲高級編程
3D游戲編程大師技巧
游戲編程精粹
面向對象的游戲開發
3D游戲 卷1:實時渲染與軟體技術
3D游戲:卷2 動畫與高級實時渲染技…
J2ME手機游戲編程入門
Direct3D游戲編程入門教程(第二版…
21、移動開發
Windows Mobile手機應用開發
SYMBIAN OS C++手機應用開發
Windows Mobile手機應用開發--傅曦 齊宇 徐駿
SYMBIAN OS C++手機應用開發 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣譯
SYMBIAN OS C++手機應用開發---------------RICHARD HARRISON著,周良忠譯
Windows CE.net內核定製及應用程序開發---------周毓林 寧楊 陸貴強 付林林
嵌入式系統Windows CE 開發技巧與實例--傅曦
Palm OS編程實踐---絕版
22、單片機
單片機輕松入門----------------------------------周堅(平凡老師)
單片機典型模塊設計實例導航-----------------------求是科技
例說8051----------------------------------------張義和 陳敵北
KEIL CX51 V7.0單片機高級語言編程與ΜVISION2應用實踐-----徐愛鈞
單片機應用程序設計技術(修訂版)--------------------周航慈
8051單片機實踐與應用-------------------------------吳金戎
MCS-51系列單片機實用介面技術---------------------李華
23、串並口通訊
Visual C++/Turbo C串口通信編程實踐------------------龔建偉
VISUAL BASIC與RS-232串列通信控制(最新版)----------范逸之
24、電子
無線電識圖與電路故障分析輕松入門(第二版) -------------------胡斌
無線電元器件檢測與修理技術輕松入門(第二版) -------------------胡斌
圖表細說電子技術識圖-------------------胡斌
圖表細說電子元器件-------------------胡斌
圖表細說元器件及實用電路-------------------胡斌
================================================================
六、怎樣成為一名程序員
通過以下4個階段的訓練, 沒有任何編程基礎人就可以成為一名普通的程序員。
第一階段:掌握一種編程語言
學習內容:學習任意一種主流的編程語言。例如C++語言。
學習目標:熟練掌握一種語言的語法和基本的編程技巧。
學習時間:3個月左右
注意事項:編程語言和編程工具是兩回事情,編程語言是指C++、Basic、Object Pascal等程序設計語言,它們是像漢語、英語一樣的抽象的語法規則,編程工具是指Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代碼編輯器、程序編譯器在內的集成化、可視化的軟體開發工具。C++源程序可以在Visual C++ 6.0里編寫,也可以在記事本里編寫,而同一個C++源程序可以用Visual C++ 6.0編譯、執行,也可以用C++ Builder 5.0 編譯、執行,所以: C++ 不等於 Visual C++ 6.0
第二階段:掌握一種編程工具
學習內容:學習任意一種主流的編程工具。注意編程工具要和第一階段學習的編程語言一致,例如你學習的編程語言是C++,那麼編程工具要選Visual C++ 6.0或者C++ Builder 5.0。
學習目標:熟練掌握這種編程工具基本用法,例如:菜單、組件、程序跟蹤調試、編寫Windows程序等。
學習時間:3個月左右
注意事項:這個階段側重編程工具的使用,同時進一步熟習編程語言,最後達到能熟練編寫各種基本的Windows程序。
第三階段:掌握「演算法與數據結構」這門課程
學習內容:演算法與數據結構,推薦許卓群的《數據結構》,高等教育出版社出版。
學習目標:熟練掌握各種常用的演算法與數據結構
學習時間:4個月左右
注意事項:這是一門不可或缺的軟體開發課程,曾經有一本經典計算機專業書籍叫做《數據結構+演算法=程序》,這說明了數據結構和演算法的重要性。它能幫我們建立良好的程序分析與設計能力。
第四階段:實現一個模擬的小型軟體項目
學習內容:軟體項目的開發過程
學習目標:掌握軟體項目的基本開發過程和方法
學習時間:4個月左右
注意事項:自己完成一個模擬的小型軟體項目,強烈推薦做一個MIS(管理信息系統)軟體,參考用書推薦「中小型信息管理系統開發實例系列叢書」,人民郵電出版社,它的例子詳實有效,以它為基礎再加以擴展,就可以做出實用的MIS軟體來。此叢書包括多種開發工具,大家可以選擇適合自己的:《VISUAL FOXPRO6.0 資料庫系統開發實例導航》 《java資料庫系統開發實例導航》 《VISUAL BASIC資料庫系統開發實例導航》《VISUAL C++6.0資料庫系統開發實例導航》 《ASP.NET資料庫管理系統開發實例導航》 《DELPHI資料庫系統開發實例導航》《POWERBUILDER 8.0資料庫系統開發實例導航》。
最後將完成的模擬軟體刻成光碟,作為自己的作品去面試,以此踏上自己光輝的職業程序員之路!
⑶ 關於人工智慧「網紅」編程語言Python進入山東小學課本的介紹
除了要學英語外,對於一些高中生,甚至小學生來說,他們未來很可能還要多學一門「外語」—— Python。近日,山東省在其最新出版的小學信息技術六年級教材中,加入了Python的內容。
但在前網路首席科學家吳恩達看來,每個人都應該學會編程。尤其是隨著人工智慧發展,人類與機器的交流變得越來越重要,編程能力將在可以預見的未來成為人機交流側基礎。因此,每個人都應該像學會寫字一樣,學會寫程序。
實際上,在美國,編程課程已經開始逐漸深入到低年齡階段,甚至到嬰幼兒階段。在美國亞馬遜的官網上,你可以輕松地買到給嬰兒看的編程教材。
在去年美國一次計算機科學教育周開幕日活動中,時任美國總統的奧巴馬還曾親自上陣,給中小學生示範計算機編程。白宮認為,計算機科學普及教育是美國未來幾十年保持創新優勢的關鍵舉措之一。要知道,微軟創始人比爾·蓋茨在13歲開始學習編程,Facebook創始人扎克伯格11歲開始學習編程。