精華區beta Programming 關於我們 聯絡資訊
※ 引述《gsj.bbs@bbs.nchu.edu.tw (國王的新衣)》之銘言: : 我從來沒有反對抽象化的概念 : 將某些龐雜的事物化簡為抽象化的概念,的確是有它的好處與需求 是的 : 問題是將事物抽象化的方式、模型有多種, 是的 : 那一種才能最符合實際的狀況?或者是人類日常生活的習慣? : 就如我以往所強調的: : 對稱性很種要 : 你可以去觀察你的四周,人類社會組織的運作方式 : 包含你去考駕照、去餐聽吃飯、交女朋友等 : 不管這些事情有沒有訴之於條文,你可以發現一件事就是 : 它們都是 "循序化" 的一個過程 循序化是這世界上所有事物進行的的本質 但在循序化之上還有許許多多的層次 OO 是循序化的 並讓你處理循序化層次上其他層次的問題 : 我不知道你拿一個與事實狀況不對稱的OO抽象模型來套用它會有什麼好處! : 在我看來根本就是自找麻煩 OO 底層跟循序化本質相合相對稱 OO 所討論的層次如 物件 封裝 Refinement 物件多型 與世界上的事理相謀合 : 如果對稱性夠,也不會有這麼多人摸了兩三年還不知道OO在作什麼 : 如果這個抽象模型,是與人類日常生活習慣是相近的, : 為什麼會有這麼多人老是抓不到它的邏輯,反而是程式越寫越亂 OO 的學習曲線的確很長 但它的報籌是值得的 : 當然我也不完全否認所謂的 "OO" 抽象模型也有它適用的地方 : GUI可能是其中之一,但也僅限於此,超過這個範圍就完蛋了 No No No : 對於OO的愛用者,我的建議是 : 當處理與GUI有關的議題時才可用,當處理與GUI無關的議題時不用 : OO就像是老虎,將關在GUI的議題籠子裡才是安全的作法 : 放出GUI籠子以外,老虎就要吃人了,有傷害 No No No : 循序化的系統就要用循序化程式語言,循序化的抽象模型來詮釋它 : 才是方便符合邏輯的方法 : 有關 "循序化抽象模型", : 你的腦袋可能還不知道有這種東西的存在吧! : 所以才會以為循序化的程式語言都沒有抽象化模型 : 只有你們偉大的OO才有的這種看法 : 只要是循序化程式語言就很好用了,C就是我最常用的循序化程式語言 : 不像是有些人講的,非要扯到組合語言不可 : 在我的看法,組合語言之於C語言,它的強項在於 : 它可讓程式設計者 : 清楚的掌握程式碼或資料在記憶體中確切的Layout位置,尺寸大小 : C 語言則不行,因為這些工作要透過Compiler來作 : 不過這並不會影響到循序化抽象模型的建立,反而是更方便 : 你可能不知道循序化程式,也有它的抽象模型 : 而且普遍用在大型系統的系統分析中,不是只有OO才有抽象模型 : OO的抽象模型中,Class是物件 : 循序化的抽象模型也有物件,通常是指Struct : 而且基於循序化的抽象模型,分析循序化系統就等於在分析程式一樣 : 實際系統與程式系統是One on One的對稱 : 所以如果有一家公司的行政作業流程如果要電子化, : 系統分析完成的那一瞬間,也就幾乎等於程式架構完成了 : 只差訴諸於文字的程式映射 : 所以程式設計就變成一件很簡單的事 : 而且寫出來的程式在應用上,也完全符合使用者過去的習慣 您可以發表對循序化設計寫作的心得 我們很樂意聽 但去指責您不喜歡的東西 對初學者是不公平的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.148.171