※ 引述《dharma (達)》之銘言:
: 現在很多新出來的程式語言,(如Swift),從本質上說,都是物件導向語法,這是因為
近
: 幾十年來,從來沒有比物件導向實現更先進的程式設計實現在新程式語言中全面取代物
件
: 導向思想。
: 上面是某程式語言教學書看到的
: 他說的符合實情現況嗎?
: 一直沒有更先進的東西嶄露頭角
: 可能取而代之
: thanks
其實從我的觀點來看,軟體概念發展
例如,OO,MVC,MVVM,Design pattern
這些東西其實到後期都是為了"管理"的目的而發展出來的。
然而,軟體設計尚未跨出二維度空間的設計模式,所以整個為了管理的新模式就不會有太
大的突破。就如同人類的商業模式一直在那幾個模式循環,只是換個世代改了不同平台與
媒介。
你可以想像當未來某天寫程式需要站上平台或帶上VR頭盔在立體空間處理著你的程式方塊
,那麼那個世代的新管理概念就會油然而生。
這十年來,我們的世界有著許多聰明的個人與團隊想要掙脫大架構的枷鎖例如JAVA這些怪
物的框框,想自己建立一個自認為快又簡化的程式語言。
但這些新的程式語言發展到後來仍舊會慢慢背離它一開始的初衷,人加入的越來越多,架
構越來越肥。第一版到第二版,第二版到第三版,當每一個版本改動時,你之前版本就得
改一次或挪到新版本上。
我們仿佛像個笨蛋一直在循環這些從1970年代開始的理論,唯一的差別在於每個世代都有
聰明人跳出來幫大家重新複習一次如何寫一個新的引擎,然後再讓它越來越複雜。
那回歸我想說的,這些概念例如OO,對初學者而言就是一種模式。
你不一定要學會這種模式,你亂寫一樣可以滿足你的老闆。只要你可以用很少的時間,做
大量的管理或改善工作。
即使一萬行程式碼寫在一個檔案裡,都是你的本事。
這些東西到底有什麼樣的目的與意義?
說穿了,就是希望讓工作可以多一點效率,增加效率的同時也就是增加你偷懶的時間,用
結構化的思維減少你寫扣的行數,用五秒鐘讓隊友看懂你的扣,就等於未來你可以五秒鐘
看懂隊友的扣。
坦白說,這些概念4-50年來沒什麼改變
差別在於,你跟你的隊友把這些概用到什麼地方上? 當你運用這些概念在大專案裡build
出讓你隊友省下很多時間的物件或模型時,即使它的概念極致就是這樣,那又何妨呢?
人生來工作,工作的目的不就是建立一個可以相互讓工作CP值變高一點的團隊,不是嗎?