學習編程由淺入深的門道:
1、先認識計算機的組成和運行原理,所謂工慾善其事必先利其器,推薦書籍《計算機組成原理》
2、計算機最原始的交流:過程性的編程語言:彙編語言,推薦書籍《王爽-彙編語言(第二版)》,《PC彙編語言程序設計》
3、進階操作:結構性的編程語言:C語言,推薦書籍 C語言之父的著作《The C Programming Language》,《數據結構》,《算法導論》
4、走向高級:面向對象的編程:如C#、Java、C++、Python等,這個就看後期的個人發展偏好了,不過最好能先精學一種語言之後,再瞭解其他語言,個人建議從Java,推薦書籍《java編程思想(第4版)》或者 Python,推薦書籍《Python編程:入門到實踐》《Python核心編程》
三大編程方法論:
一、面向過程編程(OPP):結構化程序設計,以過程爲中心
百度百科介紹: 面向過程編程
特性:
1、採用自頂向下、逐步求精的程序設計方法,使用三種基本控制結構構造程序,即任何程序都可由順序、選擇、循環三種基本控制結構構造。
2、嚴格的語法:每一條語句的書寫格式都有着嚴格的規定
3、與計算機硬件結構無關
4、語句接近自然表達式
5、提供大量函數
6、適合模塊化設計
7、不同硬件結構對應不同的編譯器
二、函數式編程
百度百科介紹:函數式編程
通俗解釋:用編程語言去實現數學函數
函數式編程 = 編程語言定義的函數 + 數學意義的函數
特性:
1、閉包:函數作爲第一類對象
2、高階函數:將函數作爲參數,返回值中包含函數
3、惰性計算:在求值程序需要產生表達式的值時進行計算
4、遞歸:控制流程的機制,尾遞歸,在函數的最後一步進行遞歸
5、函數與其他數據類型一樣,處於平等地位
6、只用"表達式",不用"語句"
7、函數保持獨立,所有功能就是返回一個新的值,沒有其他行爲,尤其是不得修改外部變量的值
8、不修改狀態(不修改變量)
9、引用透明性:如果提供同樣的輸入,那麼函數總是返回同樣的結果
三、面向對象編程(OOP):
百度百科介紹:面向對象編程
面向對象宗旨:一切皆對象
特性:
1、封裝
2、繼承
3、多態
PS:最後看一看 這位大神 對於編程思想的理解,或許對你的編程之路會有很大的幫助