2008年12月15日
摘要:
抽象類型——實(shí)中之虛(
介紹抽象類型的種類、意義及其用法)
? 淺顯的比方只是門檻前的臺(tái)階,借之或可拾級(jí)入門,卻無法登堂入室
? 具體類型是創(chuàng)建對(duì)象的模板,抽象類型是創(chuàng)建類型的模塊
? 抽象數(shù)據(jù)類型的核心是數(shù)據(jù)抽象,而抽象類型的核心是多態(tài)抽象
? 必先以術(shù)養(yǎng)道,而后以道御術(shù)
? 以社會(huì)身份而非個(gè)人身份作為公民之間聯(lián)系的紐帶,正是針對(duì)接口而非實(shí)現(xiàn)來編程的社會(huì)現(xiàn)實(shí)版
? 個(gè)體身份對(duì)應(yīng)的規(guī)范抽象借助封裝,以數(shù)據(jù)抽象的形式出現(xiàn)
? 家庭身份對(duì)應(yīng)的規(guī)范抽象借助繼承,以類型層級(jí)的形式出現(xiàn)
? 社會(huì)身份對(duì)應(yīng)的規(guī)范抽象借助多態(tài),以多態(tài)抽象的形式出現(xiàn)
閱讀全文
摘要: 公告:《冒號(hào)課堂》已正式上市。
閱讀全文
摘要:
多態(tài)類型——靜中之動(dòng)(
通過實(shí)例展示多態(tài)類型的三種用法)
? 繼承是多態(tài)的基礎(chǔ),多態(tài)是繼承的目的
? 多態(tài)是動(dòng)靜結(jié)合的產(chǎn)物,將靜態(tài)類型的安全性和動(dòng)態(tài)類型的靈活性融為一體
? 前者(參數(shù)多態(tài))是發(fā)散式的,讓相同的實(shí)現(xiàn)代碼應(yīng)用于不同的場(chǎng)合
? 后者(包含多態(tài))是收斂式的,讓不同的實(shí)現(xiàn)代碼應(yīng)用于相同的場(chǎng)合
? 模板方法模式突出的是穩(wěn)定堅(jiān)固的骨架,策略模式突出的是靈活多變的手腕
閱讀全文
摘要: 終于有了自己的獨(dú)立博客
http://blog.zhenghui.org,以后就在那兒安家落戶了。
閱讀全文
摘要:
后臺(tái)腳本——敏捷開發(fā)的利器(
簡(jiǎn)談Perl、PHP、Python和Ruby)
? 語(yǔ)言的發(fā)展趨勢(shì)一定是動(dòng)靜結(jié)合、剛?cè)岵?jì)
? Perl凝練晦澀,Python優(yōu)雅明晰,Ruby精巧靈動(dòng),PHP簡(jiǎn)明單純
? 或許優(yōu)雅正是來自對(duì)細(xì)節(jié)和規(guī)范的重視
? (RoR)與Ruby結(jié)合之后,便如一只猱身而上靈貓,立刻襯托出Java和.NET大象般的身影
閱讀全文
摘要:
前臺(tái)語(yǔ)言——視覺與交互的藝術(shù)(
簡(jiǎn)談VB、Delphi和JavaScript)
? Delphi讓復(fù)雜的事情變得簡(jiǎn)單,VB讓簡(jiǎn)單的事情變得更簡(jiǎn)單
? 它(JavaScript)宛如一只神奇的魔袋,乍看平淡無奇,卻總能變出意想不到的寶貝
? 待友之道,貴在放大其優(yōu)點(diǎn)而縮小其缺點(diǎn),對(duì)待語(yǔ)言亦當(dāng)如是
? 大道相通,難者亦易,易者亦難
閱讀全文
摘要:
平臺(tái)語(yǔ)言——先搭臺(tái)后唱戲(
簡(jiǎn)談Java和C#)
? Java的目的是讓一種語(yǔ)言在多種平臺(tái)上運(yùn)行,而C# 的目的是讓多種語(yǔ)言在一種平臺(tái)上運(yùn)行
? 兩個(gè)平臺(tái)語(yǔ)言(Java和C#),一個(gè)重在語(yǔ)言,讓語(yǔ)言向平臺(tái)擴(kuò)散;一個(gè)重在平臺(tái),讓平臺(tái)來凝聚語(yǔ)言
? C++提供了一馬平川的大路,也提供了陷阱密布的小道;Java則在大路上鋪設(shè)水泥,同時(shí)封鎖了捷徑小道;C#同樣填平了大路上的坑坑洼洼,但把一些小道上“此路不通”的牌子悄悄換成了“此路危險(xiǎn)”
閱讀全文
摘要:
系統(tǒng)語(yǔ)言——權(quán)力的雙刃劍(
簡(jiǎn)談C、C++和D)
? 通禪悟道者拈花不語(yǔ),坐井觀天者蛙鳴鼓噪
? Java程序員大多被慣壞了,環(huán)保意識(shí)要淡薄得多
? (指針)用得好可以是削鐵如泥的神兵利器,用得不好則可能是自我毀滅的罪惡淵藪
? OOP又不是金子,含量越高越好。試圖把一切都裝進(jìn)OOP的箱子里的想法無異于削足適履
? 它們(系統(tǒng)語(yǔ)言)的理念是:優(yōu)化機(jī)器的時(shí)間而不是人的時(shí)間,優(yōu)化機(jī)器的記憶而不是人的記憶;假設(shè)編譯器是愚蠢的而程序員是聰明的,因此賦予程序員更多的權(quán)利、義務(wù)與責(zé)任
? C++是匹無轡無鞍的野馬,看似桀驁不馴,若能順性而御,必能足踏飛燕,行千里而不勞
閱讀全文
摘要:
語(yǔ)言誤區(qū)——語(yǔ)言的宗教情結(jié)(
關(guān)于編程語(yǔ)言的一些誤區(qū))
? 如果說編程范式是一種文化,那么編程語(yǔ)言更像是一種宗教——盡管它本不該是
? 語(yǔ)言只有兩種:一種怨聲載道,一種無人問津
? 對(duì)待一門語(yǔ)言的態(tài)度應(yīng)該是:與其抱怨?fàn)巿?zhí),不如揚(yáng)長(zhǎng)避短
? 過分拔高一種語(yǔ)言與抹煞語(yǔ)言之間的差別是兩種極端,皆為秕言謬說
? 這些人若有幸拜關(guān)公為師,他們最艷羨的一定他的赤兔馬和青龍偃月刀,或許還會(huì)抹紅臉蓄長(zhǎng)須什么的,就是不太愿學(xué)他的蓋世武功
? 理想的架構(gòu)師應(yīng)當(dāng)如文學(xué)大師,既有恢弘大氣的構(gòu)思,又有細(xì)膩深刻的筆法;應(yīng)當(dāng)如統(tǒng)軍大帥,既有運(yùn)籌帷幄的韜略,又有沖鋒陷陣的武功
閱讀全文
摘要:
動(dòng)態(tài)語(yǔ)言——披著彩衣飛舞的腳本語(yǔ)言(
動(dòng)態(tài)語(yǔ)言簡(jiǎn)談)
? 程序是為終端用戶服務(wù)的,而腳本是為程序員服務(wù)的
? 動(dòng)態(tài)語(yǔ)言秉承的一個(gè)理念是:優(yōu)化人的時(shí)間而不是機(jī)器的時(shí)間
? 待靜態(tài)語(yǔ)言披盔戴甲、備馬抬槍之際,動(dòng)態(tài)語(yǔ)言已衣袂飄飄,長(zhǎng)劍出手了
? 當(dāng)腳本語(yǔ)言披上動(dòng)態(tài)語(yǔ)言的彩衣,昔日不起眼的毛毛蟲便羽化成碟,開始飄舞在眾人追逐的目光之中
閱讀全文
摘要:
數(shù)據(jù)類型——規(guī)則與變通(
關(guān)于數(shù)據(jù)類型的討論)
? Duck類型的哲學(xué)是:名義不重要,重要的是能力
? 將一個(gè)會(huì)叫會(huì)游的家伙放進(jìn)池塘看起來不算壞主意,但如果一艘輪船趁機(jī)也轟隆隆地開了進(jìn)來,事情恐怕就不那么美妙了
? 靜態(tài)類型檢查類似“疑罪從有”的有罪推定制,動(dòng)態(tài)類型檢查類似“疑罪從無”的無罪推定制
? 盡可能守規(guī)則,必要時(shí)求變通
? 規(guī)則如褲帶,過于寬松和過于束縛都不好
閱讀全文
摘要:
教學(xué)計(jì)劃——接下來的故事(
討論下一步教學(xué)計(jì)劃)
? 編程水平的提升之道是:在實(shí)戰(zhàn)中演練招法,在招法中領(lǐng)會(huì)心法,心法反過來提升招法,進(jìn)而提高實(shí)戰(zhàn)水平,如此循環(huán)往復(fù)呈螺旋式上升過程。正所謂熟能生巧,巧能生通
? 迭代學(xué)習(xí)法:即在具體知識(shí)與抽象理論之間進(jìn)行折返式學(xué)習(xí)
? 網(wǎng)頁(yè)的迷人之處就在于,能夠用精美的畫皮來包裹冗長(zhǎng)低效的代碼
? 無論干哪一行,要想勝任愉快,離不開四樣?xùn)|西:才能、興趣、方法和努力
閱讀全文
摘要:
情景范式——餐館里的編程范式(
編程范式在餐館中的應(yīng)用)
? 廚師只需提供一種服務(wù):把紙上菜變成盤中菜,至于蒸、煮、炒、燉等具體做法純屬實(shí)現(xiàn)細(xì)節(jié)
? 可以這么理解(閉包):所謂包,指函數(shù)與其周圍的環(huán)境變量捆綁打包;所謂閉,指這些變量是封閉的,只能為該函數(shù)所專用
? 合理地使用閉包能使代碼更加簡(jiǎn)潔清晰,散發(fā)出函數(shù)式特有的優(yōu)雅氣質(zhì)
? 換盤子有兩種方式:一種是服務(wù)員主動(dòng)換,一種是客人要求換。前者是輪詢,后者是通知
? 如果把待加工的菜看作數(shù)據(jù),技法看作算法,將數(shù)據(jù)與算法分離,以算法為中心,那是什么范式?
閱讀全文
摘要:
匯總范式——一張五味俱全的大烙餅(
總結(jié)編程范式)
? 設(shè)計(jì)模式好比組合套路,能在一些特定場(chǎng)合下克敵制勝;編程范式則好比武功門派,博大精深且自成體系
? 一種編程范式之所以能獨(dú)樹一幟,關(guān)鍵在于它突破了原有的編程方式的某些限制,帶來革命性的新思維和新方法,進(jìn)一步解放了程序員的勞動(dòng)力
? 因其長(zhǎng)而容己,因其短而容他,此萬物之理也
? 語(yǔ)言為形,范式為神。若能以神導(dǎo)形、以形傳神,則看似平白無趣的程序也能寫出詩(shī)畫般的意境
閱讀全文