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

          冒號和他的學生們

          ——程序員提高班紀事

          1. 范式總結

          至精而后闡其妙,至變而后通其數                            ——《文心雕龍·神思》

                     

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

          編程范式

          核心概念

          程序運行

          典型應用

          命令式/過程式

          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

          在接入點處執行建議

          日志輸出;代碼跟蹤;性能監控;異常處理;安全檢查;事務管理等

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          眾人竊笑。

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

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

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

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

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

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

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

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

          posted on 2008-05-13 08:22 鄭暉 閱讀(2102) 評論(8)  編輯  收藏 所屬分類: 冒號和他的學生們

          評論

          # re: 冒號和他的學生們(連載13)——范式總結 2008-05-13 09:37 yanhuaking

          拜讀......................  回復  更多評論   

          # re: 冒號和他的學生們(連載13)——范式總結 2008-05-13 15:28 支持支持!

          實例良多,要接下去有新意實在難也。所以提高班實在難辦。找個項目施展一下未嘗不可。可以征集項目,小項目免費做示范!  回復  更多評論   

          # re: 冒號和他的學生們(連載13)——范式總結 2008-05-13 17:01 Lone_wolf

          支持"支持支持!"說的,....老師可以找一個小項目來免費做演示,...
          讓我們在實戰中去運用..掌握....  回復  更多評論   

          # re: 冒號和他的學生們(連載13)——范式總結 2008-05-13 17:22 鄭暉

          @支持支持!
          @Lone_wolf
          二位意見可以考慮。  回復  更多評論   

          # re: 冒號和他的學生們(連載13)——范式總結 2008-05-13 17:40 落Nicety

          一口氣讀完~~ 很不錯呢~  回復  更多評論   

          # re: 冒號和他的學生們(連載13)——范式總結 2008-05-14 22:51 lanser

          問號先說,“要不談談動態語言,融匯各心法演練一次?”老冒笑言,“我先問問你,何為動態語言......”  回復  更多評論   

          # re: 冒號和他的學生們(連載13)——范式總結 2008-05-15 07:30 鄭暉

          @lanser
          多謝提供臺詞,動態語言不久將會涉及。  回復  更多評論   

          # re: 冒號和他的學生們(連載13)——范式總結 2008-05-17 21:34 閑狐

          恩,您說得太對了,是覺得這些概念有些飄渺虛無~
          若能用實例項目解釋一番,是為大妙  回復  更多評論   

          導航

          統計

          公告

          博客搬家:http://blog.zhenghui.org
          《冒號課堂》一書于2009年10月上市,詳情請見
          冒號課堂

          留言簿(17)

          隨筆分類(61)

          隨筆檔案(61)

          文章分類(1)

          文章檔案(1)

          最新隨筆

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 修水县| 泸西县| 安丘市| 正定县| 洪湖市| 新竹市| 化德县| 石泉县| 永川市| 左权县| 石景山区| 昌邑市| 衡山县| 庆元县| 宁陵县| 阿图什市| 延津县| 涟源市| 桦川县| 陆丰市| 房山区| 息烽县| 天气| 乌兰浩特市| 锡林郭勒盟| 惠州市| 溧水县| 西华县| 中宁县| 宜城市| 太谷县| 青神县| 从化市| 阿鲁科尔沁旗| 孟津县| 淮阳县| 霍林郭勒市| 通州区| 韶山市| 广南县| 普陀区|