<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    冒號課堂§5.1:教學(xué)計(jì)劃

     

    冒號課堂

    第五課 語言小談(1)


    課前導(dǎo)讀

    本課承上啟下,為今后的學(xué)習(xí)作一些鋪墊。在確定教學(xué)計(jì)劃后,對數(shù)據(jù)類型和動(dòng)態(tài)語言作了簡單的介紹,并對有關(guān)編程語言的一些觀點(diǎn)作出評論。

    本課共分四節(jié)——

    1. 教學(xué)計(jì)劃——接下來的故事
    2. 數(shù)據(jù)類型——規(guī)則與變通
    3. 動(dòng)態(tài)語言——穿著彩衣飛舞的腳本語言
    4. 語言誤區(qū)——語言的宗教情結(jié)

    5.1教學(xué)計(jì)劃——接下來的故事

    褚小者不可以懷大,綆短者不可以汲深                            ——《莊子·至樂》

     

    關(guān)鍵詞:編程范式,迭代學(xué)習(xí)法, 程序員

    摘要:   討論下一步教學(xué)計(jì)劃

     

     預(yù)覽

    ·           編程水平的提升之道是:在實(shí)戰(zhàn)中演練招法,在招法中領(lǐng)會(huì)心法,心法反過來提升招法,進(jìn)而提高實(shí)戰(zhàn)水平,如此循環(huán)往復(fù)呈螺旋式上升過程。正所謂熟能生巧,巧能生通

    ·           迭代學(xué)習(xí)法:即在具體知識與抽象理論之間進(jìn)行折返式學(xué)習(xí)

    ·           網(wǎng)頁的迷人之處就在于,能夠用精美的畫皮來包裹冗長低效的代碼

    ·           無論干哪一行,要想勝任愉快,離不開四樣?xùn)|西:才能、興趣、方法和努力

     

     提問

    ·           什么是迭代學(xué)習(xí)法?

    ·           一個(gè)合格的程序員需要學(xué)習(xí)和掌握不同領(lǐng)域的許多知識,如何能勝任愉快?


     

       講解

    新課開始了,冒號一反常態(tài),并沒有直奔主題:“在談?wù)撔略掝}之前,先請諸位暢所欲言,談?wù)勥@段時(shí)間的學(xué)習(xí)感受。”

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

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

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

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

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

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

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

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

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

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

    “你倒滑頭,整個(gè)一白貓黑貓論嘛!” 冒號哈哈一笑,“首先,編程范式絕非中看不中用的屠龍之術(shù),它有助于我們更快速地掌握、更深刻地理解、更純熟地運(yùn)用編程語言,故有心法之謂。其次,心法只有通過招法才能落到實(shí)處,也只有通過招法才能融會(huì)貫通。”

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

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

    眾人竊笑。

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

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

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

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

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

    嘆號唯唯連聲:“是啊,在空中飄久了,會(huì)染上恐高癥的。”

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

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

    一陣商討之后,大家似乎未能達(dá)成共識。冒號見狀,便讓他們一一道來。

    問號再次充當(dāng)急先鋒:“能不能比較一些當(dāng)今主流語言各自的優(yōu)缺點(diǎn)?”

    冒號笑言:“我怎么恍惚間又回到了第一堂課?你的潛臺詞還是那句話:到底學(xué)哪種語言好?”

    問號被窺破心事,微露窘色。

    “不過我非常理解你們的想法。”冒號體諒道,“雖然這是編程中最易提出卻又最難回答的問題,但考慮到大家對它如此興致盎然,我決定不顧引火燒身之危,鋌而走險(xiǎn)一回。”

    眾人鼓掌。

    冒號故作疑惑:“你們這是對問題的答案表示期待呢,還是對我的勇氣表示贊賞?”

    眾皆笑曰:“兼而有之,兼而有之!”

    嘆號提出:“近來動(dòng)態(tài)語言非常流行,能說說它與靜態(tài)語言到底有何不同,是否會(huì)取而代之?”

    “嗯,這個(gè)問題總算簡單了些。”冒號如釋重負(fù)。

    逗號堅(jiān)持道:“我還是那個(gè)建議,希望學(xué)些具體的編程知識和技巧,比如將最流行的Java語言中的一些重點(diǎn)和難點(diǎn)分幾個(gè)專題來討論。”

    冒號頷許:“這是個(gè)很好的建議,可以采納。”

    引號有不同意見:“Java沒有C++來勁:要說難點(diǎn),C++多得多;要說流行度,按照TIOBE的數(shù)據(jù),CC++之和還超過Java五個(gè)百分點(diǎn)呢。”

    逗號不服:“你沒看到CC++正在逐漸沒落嗎?”

    引號冷哼一聲:“開玩笑,什么時(shí)候操作系統(tǒng)、數(shù)據(jù)庫、游戲軟件和嵌入式系統(tǒng)都改用Java了再說這話。別忘了,Java的虛擬機(jī)都還是CC++寫成的呢。”

    冒號忙止住干戈:“我還沒來得及成為眾矢之的呢,你們二位倒先掐上了。”

    句號提議:“最好找一個(gè)項(xiàng)目實(shí)例,從頭至尾演練一次,既能貫穿各個(gè)知識點(diǎn),又能讓我們對軟件開發(fā)有個(gè)整體認(rèn)識。”

    “這個(gè)想法聽起來非常不錯(cuò)。”冒號沉吟了一會(huì)又道,“只是一個(gè)真正企業(yè)級的項(xiàng)目,涉及面太廣。比如一個(gè)完整的web應(yīng)用,不論是采用重量級的J2EE.NET技術(shù),還是采用輕量級的PerlPHPRubyPython等動(dòng)態(tài)語言技術(shù),除了要掌握各自的主體語言外,還涉及到相應(yīng)的框架、集成環(huán)境和各種工具,以及JavaScriptCSSHTMLXML等技術(shù),同時(shí)數(shù)據(jù)庫的知識也是不可或缺的。”

    問號奇道:“JavaScriptCSSHTML這些不主要是網(wǎng)頁設(shè)計(jì)人員的語言嗎?”

    冒號解釋:“網(wǎng)頁設(shè)計(jì)人員大多用Dreamweaver之類的工具來設(shè)計(jì)HTML頁面,開發(fā)一般網(wǎng)站尚可勉力而為,若開發(fā)企業(yè)級軟件則有些力不從心了。更何況web應(yīng)用的趨勢是具有更豐富用戶體驗(yàn)的Rich Internet application (RIA),采用大量的AJAXFLEX等技術(shù),需要熟悉JavascriptActionscript之類的語言,這些就更非一般網(wǎng)頁設(shè)計(jì)人員所能勝任。”

    引號插言:“據(jù)我所知,許多公司都是請網(wǎng)頁設(shè)計(jì)師來編寫HTMLJavascript等代碼的。”

    冒號指出:“網(wǎng)頁的迷人之處就在于,能夠用精美的畫皮來包裹冗長低效的代碼。出于軟件開發(fā)的時(shí)間和成本的考慮,公司的選擇無可非議,但如果要提高軟件競爭力,這些代碼至少要經(jīng)過程序員的加工處理。”

    逗號復(fù)言:“那數(shù)據(jù)庫總該是數(shù)據(jù)庫管理員的事吧?程序員至多用到hibernateiBATIS之類的ORM[1]框架。”

    冒號斷然否定:“數(shù)據(jù)庫絕不只是DBA的事,ORM也不能取代數(shù)據(jù)庫的設(shè)計(jì)和SQL的使用。另外,復(fù)雜的應(yīng)用需要編寫大量的存儲過程stored procedure),故還應(yīng)掌握PL/SQLTransact-SQL等擴(kuò)展數(shù)據(jù)庫語言。換句話說,從web開發(fā)最前端的網(wǎng)頁到最后端的數(shù)據(jù)庫,都應(yīng)該有程序員的身影。”

    句號聯(lián)想到:“借用前面餐館的例子,不妨把接待員看作客戶層client    tier,把服務(wù)員看作表現(xiàn)層presentation tier),把廚師看作業(yè)務(wù)層business tier),把收銀員看作數(shù)據(jù)層data tier),把廚工看作常用的輔助類helper class[2]。”

    冒號微微點(diǎn)頭:“比較靠譜。要說不當(dāng)之處,就是服務(wù)器端的表現(xiàn)層不會(huì)如服務(wù)員那樣直接與客戶打交道,此外業(yè)務(wù)層常與數(shù)據(jù)層打交道,但廚師好像不會(huì)與收銀員有什么瓜葛。”

    嘆號夸張地捂住臉:“天哪,程序員竟然身兼五職,太慘了吧?”

    “當(dāng)然程序員會(huì)各有分工,不過如果你總局限某一層的應(yīng)用開發(fā),今后憑什么謀取更高的職位?”冒號苦口婆心,“無論干哪一行,要想勝任愉快,離不開四樣?xùn)|西:才能、興趣、方法和努力。沒有才能則難以勝任;沒有興趣則難以愉快;沒有方法則事倍功半;沒有努力則一事無成。我相信好的方法最終能激發(fā)人的才能、興趣和努力,這也是本班的一個(gè)理念。希望大家能通過各種問題的討論,獲得一些方法上的啟示。”

    問號急切地詢問:“那么我們的下一步是什么?”

    “綜合各位的意見,我們從簡到繁。”冒號公布計(jì)劃,“先簡單談?wù)剟?dòng)態(tài)語言;再對主流語言作簡評;然后以Java為主、C++C#為輔,對語言中的一些要點(diǎn)作專題討論;最后如果時(shí)間允許,找一個(gè)項(xiàng)目來實(shí)踐一番。”

    “嘔耶!”眾人皆大歡喜。


      插語


    [1] ORMObject-Relational Mapping)是一種編程技術(shù),能將OOP中的對象模型映射到數(shù)據(jù)庫的關(guān)系模型。

    [2] 傳統(tǒng)的三層架構(gòu)為:表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)層。其中表現(xiàn)層可進(jìn)一步分為客戶端的客戶層和服務(wù)器端的表現(xiàn)層,數(shù)據(jù)層有時(shí)用集成層(integration tier)和資源層(resource tier)代替。

     

       總結(jié)

     

    • 所謂迭代學(xué)習(xí)法,是指在具體知識與抽象理論之間進(jìn)行增量式的循環(huán)學(xué)習(xí)。
    • 一個(gè)合格的程序員不應(yīng)只局限某一層的應(yīng)用開發(fā)。
    • 要想工作勝任愉快,才能、興趣、方法和努力缺一不可。一套好的方法可以激發(fā)才能、興趣和努力。

     

     “”參考

    [1] Deepak AlurJohn CrupiDan MalksCore J2EE Patterns: Best Practices and Design StrategiesUpper Saddle River, NJPrentice Hall PTR2003120-121

    posted on 2008-12-30 10:17 鄭暉 閱讀(2927) 評論(1)  編輯  收藏 所屬分類: 冒號課堂

    評論

    # re: 冒號課堂§5.1:教學(xué)計(jì)劃 2008-12-30 13:03 R_XiaoGuang

    期待!  回復(fù)  更多評論   

    導(dǎo)航

    統(tǒng)計(jì)

    公告

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

    留言簿(17)

    隨筆分類(61)

    隨筆檔案(61)

    文章分類(1)

    文章檔案(1)

    最新隨筆

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日本一区二区三区免费高清在线| 久久久无码精品亚洲日韩按摩| 免费a级毛片网站| 免费高清在线爱做视频| 在线免费观看中文字幕| 久久精品国产亚洲av麻豆图片| 亚洲精品资源在线| 亚洲乱码日产精品BD在线观看| 亚洲乱码一区av春药高潮| 亚洲已满18点击进入在线观看| 亚洲情A成黄在线观看动漫软件 | 免费精品国偷自产在线在线| 在线看片韩国免费人成视频| 国产精品成人免费一区二区| 成年女人毛片免费观看97| 永久久久免费浮力影院| 免费a级毛片18以上观看精品| 国产精品亚洲综合一区| 亚洲人成无码网站| 亚洲自偷自偷精品| 久久精品国产亚洲AV忘忧草18| 亚洲国产欧美一区二区三区 | 亚洲免费人成在线视频观看| 亚洲av永久无码精品漫画 | jizzjizz亚洲| 福利免费观看午夜体检区| 我要看免费的毛片| 亚洲av手机在线观看| 亚洲小说区图片区另类春色| 亚洲国产一区国产亚洲| 激情亚洲一区国产精品| 立即播放免费毛片一级| 免费毛片在线看不用播放器| 亚洲免费黄色网址| 国产一区二区三区在线观看免费 | 成年丰满熟妇午夜免费视频| 国产免费观看青青草原网站| 亚洲精品国产综合久久一线| 免费中文字幕一级毛片| 亚洲国产精彩中文乱码AV| 亚洲中文字幕不卡无码|