程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 冒號和他的學生們(連載13)——范式總結

冒號和他的學生們(連載13)——范式總結

編輯:關於JAVA

范式總結

至精而後闡其妙,至變而後通其數

——《文心雕龍·神思》

眾人落座之後,冒號開始了第四課的講授:“我們已經涉及了不少編程范式,雖只是走馬觀花,亦可管窺一斑。現用表格歸納如下——”

編程范式 核心概念 程序運行 典型應用 命令式/過程式
(Imperative/Procedural) 命令/過程
(Command
/Procedure) 命令執行 交互式、事件驅動型系統;數值計算等 聲明式
(Declarative) 函數式/應用式
(Functional
/Applicative) 函數
(Function) 表達式計算 微積分計算;數學邏輯;博弈等 邏輯式
(Logic) 斷言
(Predicate) 邏輯證明 機器證明;專家系統;自然語言處理等 對象式(Object-Oriented) 對象(Object) 對象間信息交換 大型復雜交互式系統等 並發式/並行式
(Concurrent/Parallel) 進程/線程
(Process
/Thread) 進程/線程間通訊與同步 圖形用戶界面;多任務系統如操作系統、服務器等;計算密集型系統如科學計算、人工智能等; 泛型式(Generic) 算法
(Algorithm) 算法實例化
(多發生於編譯期) 普適性算法如排序、搜索等;集合類容器等; 元編程(Metaprogramming) 程序
(Program) 動態生成代碼或自動修改執行指令 自動代碼生成;定義結構化配置文件;IDE;編譯器;解釋器;人工智能;領域特定語言(DSL)等 切面式(Aspect-Oriented) 切面(Aspect) 在接入點處執行建議 日志輸出;代碼跟蹤;性能監控;異常處理;安全檢查;事務管理等

冒號作結案陳詞:“編程范式當然不止以上八種,但暫時不必貪多求全。不同的范式各擅勝場,有風格之別而無高低之分。現在請大家暢所欲言,談談這段時間的學習感受。”

歎號表情有點復雜:“通過前面的學習,讓我長了不少見識,只是——”

“但講無妨。”見歎號有些吞吞吐吐,冒號鼓勵道。

“只是覺得有點——紙上談兵。”歎號鼓足勇氣說出心裡話。

引號不以為然:“我倒覺得應該更深入地去了解這些范式,現在有了一些感性認識,但還非常膚淺,希望以後能進一步展開。”

逗號挺實在:“有些地方似懂非懂,聽起來挺費勁的,直到情景編程才覺得輕松了些。以後可不可以多談些具體的編程知識、編程技巧和編程經驗?”

句號拍了拍他的肩膀:“你想學的是招法,老冒傳的是心法。”

逗號不服:“沒有招法再多心法也白搭——光說不練假把式。”

句號反駁:“只關注招法,境界永遠得不到提升——光練不說傻把式。”

“二位請暫停爭論。”冒號把頭轉向問號,“你怎麼看?”

問號很干脆:“管它心法還是招法,能解決問題就是好法。”

“你倒滑頭,整個一白貓黑貓論嘛!”冒號哈哈一笑,“首先,編程范式絕非中看不中用的屠龍之術,它有助於我們在更高的層次上去理解編程語言,故有心法之謂。其次,心法只有通過招法才能落到實處,也只有通過招法才能融會貫通。”

“那傳說中的‘無招勝有招’呢?”引號問。

冒號哂道:“武俠小說看多了,容易想入非非,那種境界豈是一般人所能達到的?對絕大多數人來說,無招就意味著自己沒招而將中他人之招。”

眾人竊笑。

“還有一樣是至關重要的。”冒號提醒道,“那就是實戰。”

句號深有體會:“以前在學校裡編程似乎還得心應手,到了公司就時感力有不逮。”

“花拳繡腿對付小喽啰綽綽有余,真碰到高手自然漏洞百出了。”冒號總結道,“編程水平的提升之道是:在實戰中演練招法,在招法中領會心法,心法反過來提升招法,進而提高實戰水平,如此循環往復呈螺旋式上升過程。正所謂熟能生巧,巧能生通。”

問號詢道:“下面我們的主題是什麼?”

冒號亮出他的學習理論:“軟件工程中有個迭代開發法,本班則采用迭代學習法:即在具體知識與抽象理論之間進行折返式學習。當然這種迭代不是機械式的重復,而是增量式的循環。假定你們以前更關注具體的編程語言,那麼遵循這種方式,先介紹抽象的編程范式是合適的。在初步了解范式之後,不妨重新回到編程語言上來。”

歎號求之不得:“是啊,在空中飄久了,會染上恐高症的。”

冒號笑著警告:“不要高興太早,著陸後我們還會再次起飛的——別忘了我們的迭代式學習是周而復始的。至於眼下談什麼,還是先征求各位的意見,這樣開放式教學才名副其實嘛。”

眾人開始交頭接耳、七嘴八舌地議論起來。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved