1. 程式人生 > >開放系統理論(3)什麼是生物——邊界

開放系統理論(3)什麼是生物——邊界

我們逐漸步入正題。

當你拿到需求,你需要理解使用者,然後理解你要開發的產品。

當你要開發的產品複雜到你完全不能理解,有兩種方法,一種是不要理解它了,建立組織,讓組織去理解吧(不是找高手啊,這裡已假定你是高手了,你都理解不了,其它個體也理解不了)。

第二種,是想辦法簡化目標物件。

一般來說,當開發極為複雜的產品時,第一條路是對的。但你也明白,絕大多數時候,我們人類是不會選擇對的那條路的,因為制約太多了,比如,成本制約,是吧。錢啊。啊。

=========================================

所以,我們要走第二條路,先想而後做。

唔,不好意思,這裡我得提醒一下,前面先做而後想,象馬斯克那樣,對是開放系統指給我們的正路。

這節有點偏離了理論,然並鸞,理論是不能掙錢的。

暫時我們下道吧。我們先想而後做。

先想後做,一定是錯的。長遠來看。這是因為你簡化的目標物件,一定會造成失真,這些失真,在面對複雜系統時,你一定是在賭博,就看你運氣和人品了。

=======================================

我們今天練習的目標,是開放系統的起源之地——什麼是生物?

學過生物學的大家,都很清楚了,一共兩條,前面的第一節,我也提到過:

1)新陳代謝 2)可以複製自己。

這也是我的課程的特色,每幾千字,只有幾個字是有用的。

這節課,只有這幾個字是內容。

下面我們要考試了。

======================================

大家聽說過病毒嗎?

它是不是生物?

答案是:不是。不是生物。

為什麼?不滿足前面一條。

病毒“能”複製自己,雖然這個能也是有前提的,但畢竟是能。

但病毒不能也不需要新陳代謝。

所以病毒不是生物。

是不是很簡單。

======================================

你現在學會了,如何去用死的教條,卡複雜的問題。這很重要。

第二個要點。馬上要來了。

病毒是DNA鏈(組成的基因)外加一個蛋白質外殼。

它不是生物,那它是什麼?

??????????????????

這是很關鍵的一個問題。

=============================

分層和邊界

有點象我們程式設計師們每天需要思考的介面。

畫張圖吧,


上圖描述了病毒所在的位置。

它同時擁有無生命界的特徵和有生命界的特徵。

=========================================

那麼,再問一個問題,病毒到底有沒有生命呢?

這個難回答了。

但簡單來說,我個人看法:病毒是可以永恆存在的,但代價是它沒有生命。

所以,病毒可以從一個星系飛往另一個星系。時間奈何不得它。

病毒象一臺機器,沒有意識。這種所謂的永生,也可以說是永死。但並不妨礙它在條件合適時,複製自己。

====================================

小結,我不是理論家,也許後面,我會真正講枯燥的理論,但現在,我只是想把我思考的方法,簡要介紹給大家。

本節,我們講了兩個方法:

1. 用死的定義,卡複雜的問題。我們定義了什麼是生命,然後分辨哪些是,哪些不是。

2. 利用定義,找到邊界,劃定範圍。邊界也是開放系統理論簡化我們現實世界的重要方法:分層理論的基礎行為。有了邊界才能分層。分了層,你才可以只想本層的事。程式設計時,你應當相信底層是OK的。是吧,否則你要累死了。

邊界,邊界,邊界,太重要,太TM重要了。只是人們在這裡犯的錯不記其數。每天都在犯。

所以,美國的幼兒園的課本,第一課就在討論這個問題,一直講到大學。可是中國人沒有這種培訓。

所以,中國人之間合作,太TM難了,有些合夥人,吵來吵去,乾脆集體去美國學習合作,回國後,爭吵依舊啊。美國人也吵啊,可能更凶,但人家最後總能達成一致。是吧。這TM就怪了——是不是咱們缺課太多了?

反過來,這對於開放系統的理解,也造也困難。而不能理解開發系統,大家更是難以組織起來,開發複雜的系統。

所以,人們常聽到:找個高手,如何如何。

同仁們,你找工作時,如果你面對的是這樣一群人,儘快離開為好,就那格局,沒有大出息,諸葛亮把蜀國治理成什麼樣子?更何況今天的複雜產品,可遠比那時候複雜多了。

起點決定終點。

===============================================

下節課,我們接著講講生物。這節課我們定義的生物,與非生物界劃清了界限。