编程方法论
學(xué)習(xí)編程由淺入深的門道:
1、先認(rèn)識(shí)計(jì)算機(jī)的組成和運(yùn)行原理,所謂工欲善其事必先利其器,推薦書籍《計(jì)算機(jī)組成原理》
2、計(jì)算機(jī)最原始的交流:過程性的編程語言:匯編語言,推薦書籍《王爽-匯編語言(第二版)》,《PC匯編語言程序設(shè)計(jì)》
3、進(jìn)階操作:結(jié)構(gòu)性的編程語言:C語言,推薦書籍 C語言之父的著作《The C Programming Language》,《數(shù)據(jù)結(jié)構(gòu)》,《算法導(dǎo)論》
4、走向高級(jí):面向?qū)ο蟮木幊?/strong>:如C#、Java、C++、Python等,這個(gè)就看后期的個(gè)人發(fā)展偏好了,不過最好能先精學(xué)一種語言之后,再了解其他語言,個(gè)人建議從Java,推薦書籍《java編程思想(第4版)》或者 Python,推薦書籍《Python編程:入門到實(shí)踐》《Python核心編程》
?
三大編程方法論:
一、面向過程編程(OPP):結(jié)構(gòu)化程序設(shè)計(jì),以過程為中心
百度百科介紹:?面向過程編程
特性:
1、采用自頂向下、逐步求精的程序設(shè)計(jì)方法,使用三種基本控制結(jié)構(gòu)構(gòu)造程序,即任何程序都可由順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)構(gòu)造。
2、嚴(yán)格的語法:每一條語句的書寫格式都有著嚴(yán)格的規(guī)定
3、與計(jì)算機(jī)硬件結(jié)構(gòu)無關(guān)
4、語句接近自然表達(dá)式
5、提供大量函數(shù)
6、適合模塊化設(shè)計(jì)
7、不同硬件結(jié)構(gòu)對(duì)應(yīng)不同的編譯器
?
?
二、函數(shù)式編程
百度百科介紹:函數(shù)式編程
通俗解釋:用編程語言去實(shí)現(xiàn)數(shù)學(xué)函數(shù)
函數(shù)式編程 = 編程語言定義的函數(shù) + 數(shù)學(xué)意義的函數(shù)
特性:
1、閉包:函數(shù)作為第一類對(duì)象
2、高階函數(shù):將函數(shù)作為參數(shù),返回值中包含函數(shù)
3、惰性計(jì)算:在求值程序需要產(chǎn)生表達(dá)式的值時(shí)進(jìn)行計(jì)算
4、遞歸:控制流程的機(jī)制,尾遞歸,在函數(shù)的最后一步進(jìn)行遞歸
5、函數(shù)與其他數(shù)據(jù)類型一樣,處于平等地位
6、只用"表達(dá)式",不用"語句"
7、函數(shù)保持獨(dú)立,所有功能就是返回一個(gè)新的值,沒有其他行為,尤其是不得修改外部變量的值
8、不修改狀態(tài)(不修改變量)
9、引用透明性:如果提供同樣的輸入,那么函數(shù)總是返回同樣的結(jié)果
?
三、面向?qū)ο缶幊?#xff08;OOP):
百度百科介紹:面向?qū)ο缶幊?/strong>
面向?qū)ο笞谥?#xff1a;一切皆對(duì)象
特性:
1、封裝
2、繼承
3、多態(tài)
?
?
PS:最后看一看??這位大神? 對(duì)于編程思想的理解,或許對(duì)你的編程之路會(huì)有很大的幫助
總結(jié)
- 上一篇: matlab鲍威尔方法求函数,基于MAT
- 下一篇: 数学建模论文注意事项