1.21 指令式程式設計、宣告式程式設計的理解與思考
阿新 • • 發佈:2021-01-21
指令式程式設計關注的是具體步驟。
宣告式程式設計關注的是最後的結果。
- 指令式程式設計
在平時常見的程式設計正規化就是指令式程式設計。來個生活中的例子說明一下什麼是指令式程式設計。比如,小紅想吃西紅柿炒雞蛋,然後她媽媽就去買菜、洗菜、做好西紅柿炒雞蛋。小紅她媽媽就是在執行指令式程式設計,必須清楚的知道每一步的動作。
下面再寫一個程式設計中對應的例子:
在一個集合中找到所有大於3的數字。
ArrayList<Integer> collation = new ArrayList<Integer>(); collation.add(1); collation.add(4); collation.add(5); ArrayList<Integer> result = new ArrayList<Integer>(); for (int num : collation) { if( num % 2 == 1 ){ result.add(num); } }
不管在C/C++、java、python、javascript等語言中都存在這種寫法。
- 宣告式程式設計
下面再看看宣告式程式設計正規化。
還是拿上面那個小紅要吃西紅柿炒雞蛋的例子,我們現在站在小紅的角度來考慮一下問題,她關注的是最後能吃到西紅柿炒雞蛋,至於是她媽媽做的,還是她媽媽點外賣,還是她媽媽請大廚做的,其實都不重要。小紅其實就是在做宣告式程式設計,她只需要表達清楚想吃西紅柿炒雞蛋這件事就行了。
在程式設計中,SQL是最好的宣告式程式設計例子。還是拿上面那個在集合中找數字的例子,用SQL的話只需要像下面這樣就行。
select * from collection where num > 3
至於資料庫中如何實現這條語句,其實根本不用關心,我們關心得是最後獲取到得結果。