冒號(hào)和他的學(xué)生們(連載13)——范式總結(jié)

          冒號(hào)和他的學(xué)生們

          ——程序員提高班紀(jì)事

          1. 范式總結(jié)

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

                     

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

          編程范式

          核心概念

          程序運(yùn)行

          典型應(yīng)用

          命令式/過程式

          Imperative/Procedural

          命令/過程

          Command

          /Procedure

          命令執(zhí)行

          交互式、事件驅(qū)動(dòng)型系統(tǒng);數(shù)值計(jì)算等

          聲明式

          Declarative

          函數(shù)式/應(yīng)用式

          (Functional

          /Applicative

          函數(shù)

          Function

          表達(dá)式計(jì)算

          微積分計(jì)算;數(shù)學(xué)邏輯;博弈等

          邏輯式

          Logic

          斷言

          Predicate

          邏輯證明

          機(jī)器證明;專家系統(tǒng);自然語言處理等

          對(duì)象式(Object-Oriented

          對(duì)象(Object

          對(duì)象間信息交換

          大型復(fù)雜交互式系統(tǒng)等

          并發(fā)式/并行式

          Concurrent/Parallel

          進(jìn)程/線程

          Process

              /Thread

          進(jìn)程/線程間通訊與同步

          圖形用戶界面;多任務(wù)系統(tǒng)如操作系統(tǒng)、服務(wù)器等;計(jì)算密集型系統(tǒng)如科學(xué)計(jì)算、人工智能等;

          泛型式(Generic

          算法

          Algorithm

          算法實(shí)例化

          (多發(fā)生于編譯期)

          普適性算法如排序、搜索等;集合類容器等;

          元編程(Metaprogramming

          程序

          Program

          動(dòng)態(tài)生成代碼或自動(dòng)修改執(zhí)行指令

          自動(dòng)代碼生成;定義結(jié)構(gòu)化配置文件;IDE;編譯器;解釋器;人工智能;領(lǐng)域特定語言(DSL)等

          切面式(Aspect-Oriented

          切面(Aspect

          在接入點(diǎn)處執(zhí)行建議

          日志輸出;代碼跟蹤;性能監(jiān)控;異常處理;安全檢查;事務(wù)管理等

          冒號(hào)作結(jié)案陳詞:“編程范式當(dāng)然不止以上八種,但暫時(shí)不必貪多求全。不同的范式各擅勝場,有風(fēng)格之別而無高低之分。現(xiàn)在請(qǐng)大家暢所欲言,談?wù)勥@段時(shí)間的學(xué)習(xí)感受。”

          嘆號(hào)表情有點(diǎn)復(fù)雜:“通過前面的學(xué)習(xí),讓我長了不少見識(shí),只是——”

          “但講無妨。”見嘆號(hào)有些吞吞吐吐,冒號(hào)鼓勵(lì)道。

          “只是覺得有點(diǎn)——紙上談兵。”嘆號(hào)鼓足勇氣說出心里話。

          引號(hào)不以為然:“我倒覺得應(yīng)該更深入地去了解這些范式,現(xiàn)在有了一些感性認(rèn)識(shí),但還非常膚淺,希望以后能進(jìn)一步展開。”

          逗號(hào)挺實(shí)在:“有些地方似懂非懂,聽起來挺費(fèi)勁的,直到情景編程才覺得輕松了些。以后可不可以多談些具體的編程知識(shí)、編程技巧和編程經(jīng)驗(yàn)?”

          句號(hào)拍了拍他的肩膀:“你想學(xué)的是招法,老冒傳的是心法。”

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

          句號(hào)反駁:“只關(guān)注招法,境界永遠(yuǎn)得不到提升——光練不說傻把式。”

          “二位請(qǐng)暫停爭論。”冒號(hào)把頭轉(zhuǎn)向問號(hào),“你怎么看?”

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

          “你倒滑頭,整個(gè)一白貓黑貓論嘛!”冒號(hào)哈哈一笑,“首先,編程范式絕非中看不中用的屠龍之術(shù),它有助于我們?cè)诟叩膶哟紊先ダ斫饩幊陶Z言,故有心法之謂。其次,心法只有通過招法才能落到實(shí)處,也只有通過招法才能融會(huì)貫通。”

          “那傳說中的‘無招勝有招’呢?”引號(hào)問。

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

          眾人竊笑。

          “還有一樣是至關(guān)重要的。”冒號(hào)提醒道,“那就是實(shí)戰(zhàn)。”

          句號(hào)深有體會(huì):“以前在學(xué)校里編程似乎還得心應(yīng)手,到了公司就時(shí)感力有不逮。”

          “花拳繡腿對(duì)付小嘍啰綽綽有余,真碰到高手自然漏洞百出了。”冒號(hào)總結(jié)道,“編程水平的提升之道是:在實(shí)戰(zhàn)中演練招法,在招法中領(lǐng)會(huì)心法,心法反過來提升招法,進(jìn)而提高實(shí)戰(zhàn)水平,如此循環(huán)往復(fù)呈螺旋式上升過程。正所謂熟能生巧,巧能生通。”

          問號(hào)詢道:“下面我們的主題是什么?”

          冒號(hào)亮出他的學(xué)習(xí)理論:“軟件工程中有個(gè)迭代開發(fā)法,本班則采用迭代學(xué)習(xí)法:即在具體知識(shí)與抽象理論之間進(jìn)行折返式學(xué)習(xí)。當(dāng)然這種迭代不是機(jī)械式的重復(fù),而是增量式的循環(huán)。假定你們以前更關(guān)注具體的編程語言,那么遵循這種方式,先介紹抽象的編程范式是合適的。在初步了解范式之后,不妨重新回到編程語言上來。

          嘆號(hào)求之不得:“是啊,在空中飄久了,會(huì)染上恐高癥的。”

          冒號(hào)笑著警告:“不要高興太早,著陸后我們還會(huì)再次起飛的——?jiǎng)e忘了我們的迭代式學(xué)習(xí)是周而復(fù)始的。至于眼下談什么,還是先征求各位的意見,這樣開放式教學(xué)才名副其實(shí)嘛。”

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

          posted on 2008-05-13 08:22 鄭暉 閱讀(2111) 評(píng)論(8)  編輯  收藏 所屬分類: 冒號(hào)和他的學(xué)生們

          評(píng)論

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

          拜讀......................  回復(fù)  更多評(píng)論   

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

          實(shí)例良多,要接下去有新意實(shí)在難也。所以提高班實(shí)在難辦。找個(gè)項(xiàng)目施展一下未嘗不可。可以征集項(xiàng)目,小項(xiàng)目免費(fèi)做示范!  回復(fù)  更多評(píng)論   

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

          支持"支持支持!"說的,....老師可以找一個(gè)小項(xiàng)目來免費(fèi)做演示,...
          讓我們?cè)趯?shí)戰(zhàn)中去運(yùn)用..掌握....  回復(fù)  更多評(píng)論   

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

          @支持支持!
          @Lone_wolf
          二位意見可以考慮。  回復(fù)  更多評(píng)論   

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

          一口氣讀完~~ 很不錯(cuò)呢~  回復(fù)  更多評(píng)論   

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

          問號(hào)先說,“要不談?wù)剟?dòng)態(tài)語言,融匯各心法演練一次?”老冒笑言,“我先問問你,何為動(dòng)態(tài)語言......”  回復(fù)  更多評(píng)論   

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

          @lanser
          多謝提供臺(tái)詞,動(dòng)態(tài)語言不久將會(huì)涉及。  回復(fù)  更多評(píng)論   

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

          恩,您說得太對(duì)了,是覺得這些概念有些飄渺虛無~
          若能用實(shí)例項(xiàng)目解釋一番,是為大妙  回復(fù)  更多評(píng)論   

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          博客搬家:http://blog.zhenghui.org
          《冒號(hào)課堂》一書于2009年10月上市,詳情請(qǐng)見
          冒號(hào)課堂

          留言簿(17)

          隨筆分類(61)

          隨筆檔案(61)

          文章分類(1)

          文章檔案(1)

          最新隨筆

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 泸水县| 余庆县| 平和县| 陵水| 宣恩县| 青田县| 淮北市| 高安市| 宁河县| 贡嘎县| 嵊泗县| 安图县| 工布江达县| 柳州市| 乌拉特前旗| 会东县| 华容县| 都兰县| 黑河市| 金溪县| 平潭县| 易门县| 垣曲县| 寿宁县| 庐江县| 绥棱县| 尉犁县| 柳林县| 卫辉市| 长顺县| 宜川县| 大名县| 山阴县| 阳原县| 文安县| 华坪县| 正蓝旗| 涟水县| 毕节市| 平利县| 客服|