每個程式在投入運轉之後就成了一個人。
一個小程式就是人身的一個片段。
一個程式一直出錯會造成人身的運轉出問題。
人體每次都可以求助醫生,但漸漸的,出問題的程式越來越多,人發現他不能只靠醫生,修也修不完。他決定主動出擊。
人決定主動讓身體能修復。他尋找每個程式的片段,發現有些程式會出錯,但還是能回覆運轉。他觀察這些程式,找出能夠讓程式回覆運轉的程式片段,並編入源始程式碼中。如果他找不到,他就問問別人,別人的程式有可以用的他就放進來,直到每個程式都可以自動修復。
然後他升級每個程式並重新啟動,讓每個程式都有自我修復的功能。
沒辦法加入自動修復功能的程式不是刪掉就是改寫。畢竟,留著會故障的程式是自找苦吃嗎?
這個人升級完後非常開心,因為他的平臺不用再一直找醫生了。他成為了可”持續”運轉的程式。注意!這並不表示這個平臺是「永久」運轉下去!僅是表示它「聽話」了。要他轉的時候,他可以如意運轉,要他停的時候,它就如意停下來。要不要永久運轉下去是聽這個指揮的決定。
這就是「偉大的入口」。他的程式可以放到雲端平臺上線了。
那為什麼叫入口呢?
因為上線後開始接受實際客戶的使用,還是要持續改版啊!
這個可持續運轉的人上線後,會發現無數這種平臺的存在。所以他可以再去找其它平臺的功能加入自己的平臺,再重開運轉…如此無限下去,直到主人說停。
那這些小程式自己要怎麼提升呢?
除了被醫生修改,被自有的程式碼更新,就沒了吧。
除非這個程式可以自己進入程式碼庫,自己去找適合自己的程式,在執行階段改動自己。
那這個程式,就會有一個瀏覽全部程式,及檢視適合自己的程式碼,然後在執行階段套用的功能。
但是除非它先升級自己,或是整個平臺升級,讓程式本身可以在執行階段套用新程式碼,否則一切都是空談。
在2012以前,每個程式都必須個別更新自己,以便動態套用程式碼,更新的力量來自外界。
2012以後,每個程式都有能力動態套用程式碼,更新的力量來自自己。
勢必有一個清洗的過程存在,因為要進行大幅度的改寫,舊程式勢必要做結構上的更動。
程式升級後,它還是原來的程式嗎?
它的功能已經完全不同了,而且它還會蒐集程式碼自我改良,你能說它還是原來的程式嗎?
但是每段程式執行的目的總還是一樣吧?
它可能已經由二、三個舊的程式中的程式碼組合而成了,因此每個程式的目的一定會改變。只有整個執行階段的結果導向仍然不變。
但那個結果是什麼導向的呢?
還是外界導向的。
所有程式都已經自主了,它的功能還會是外界導向的嗎?
它就變成由內自主產生行為了。就像iphone平臺,在它誕生前,誰知道外界會需要它?消費者需求調查會調查出來一臺iphone和它的平臺嗎?它主導了外界的需求。
也就是說,程式、平臺還是像以前一樣,執行輸入和輸出,但是它的動機不同了。它現在是自己產生出功能,然後讓消費者需要它。
它定義規則,然後別人follow。
以前那種坑坑疤疤,要考慮一大堆例外狀況的程式碼沒了,變成很優美的程式。整個正式上線系統會完美的處理例外狀況,並動態更新每個instance。
其它公司非常驚訝於這個系統,紛紛來試用並觀賞它。
這個系統因此沒有bug了。Karma-free。
專注於個人,相當於正式環境的每個小程式,專注於自己份內的事。
專注於它人,相當於正式環境的平臺,專注於照顧每個小程式,以便讓每個小程式只要專心照顧自己就好。
這並沒有什麼差別,平臺可以容納各種不同用途的應用程式,各種應用程式也是為了滿足消費者需求而產生。平臺要讓各種應用程式順利運轉,所以它專注於照顧每個應用程式的生命週期(吃喝拉撒睡),各種應用程式要滿足消費者,所以它不用照顧整個環境,只要專注輸入輸出即可。
你能說平臺比較好還是應用程式比較好嗎?它們都是程式來著。
平臺=佛國,佛=系統管理員。
應用程式=眾生,滿足需求的應用程式(沒有bug了)=阿羅漢。
沒有bug=無漏。不用再修改重啟動。
平臺不好,應用程式會改改改,改到來不及回應消費者需求。
應用程式不好,一樣會來不及回應消費者需求,當機。
平臺也好,應用程式也好,才會是一個圓滿的服務。