廣度與深度的轉換

一個人的一生是有限的,一個人的能力是有限的,因此只可能在有限的領域中走的較遠,即有深度。然世界紛紜精彩,領域衆多,即有廣度。如果能夠把深度直接橫向推廣到廣度(即在各個領域都具有深度),這是多麼理想而又美好的事情。這也是本文的“需求”,通過計算機專業特有的抽象,反饋思想在一定程度上實現這個“需求”。

爲什麼希望從某一個領域的深度直接橫向推廣到廣度?

根據實事求是的原則,“實事”是一個人受到,時間,空間,大腦運算速度,記憶能力等衆多限制,不可能在所有的領域中取得深度。“實事”是一個人生活在一個社會中,生活需要衆多領域深度的支持,好比需要更漂亮的衣服,更快的交通工具,更好的醫療,更美味的食物等等。以上兩個“實事”是矛盾的,需要而又不能得到。但“實事”是,隨着時代的發展與進步人們的生活確實越來越好了。解決上述矛盾是通過“數量”,即通過數量來解決,一個人實現是矛盾的,但是很多人可以通過互相合作來解決這個矛盾,比如我用深度編寫更好的代碼來換取工資,用工資購買其他領域深度的產品(幸運的是大多數情況都能通過這種方式解決,生活變的更美好了)。

但有些問題需要一個人解決。比如如何追女孩子,如何提高自己的品味,是否應該買房,如何讓家庭關係更和諧等問題。把時間都花在了計算機上,現在想找的對象不是計算機而是人;提高的都是程序的運行速度,而卻想提高自己的品味;寫的都是if-else,現在想通過一個方法傳入是否應該買房,而得到一個結果;協調的都是各部門,產品與開發,開發與測試,開發與運行,現在想把這種協調能力用到家庭關係中。作爲IT男,總被人說是IQ越來越高,EQ越來越低。我的理解是EQ更多的代表廣度。如果能把IQ推廣到EQ豈不是很美好。因此希望能把一個領域中既有的深度,用最低的成本直接橫向推廣到另一個領域而不是從另一領域從頭開始。

深度重要還是廣度重要?二者是否能平衡?

做管理的,好比IT部門中的技術總監,看似在各種領域,開發,測試,產品需求都不會很深入的瞭解,更不會實際的去寫代碼,屬於典型的廣度。但從管理這個領域來看,這又是典型的深度。深度和廣度是相對存在的。因此他們的重要性是相對的。只能在特定的條件下才能說深度和廣度那個更重要。

生活需要廣度,因爲生活由非常多的領域組成,要會做點飯、要會修點家電換個燈泡啥的、要會擺弄一下電腦、要會幾項體育運動……要不就會像王導一樣鬧4塊5的笑話了,廣度構成了生活,也提供了生活的經常。

在現實生活模型中,深度是安家立本的,簡單說就是用來賺錢的。材料科學領域需要深度來創造新材料、能源領域需要深度來提供清潔高效的能源、員工需要深度來提升職位、農民需要深度來提升生產力。可以說深度是創造價值的核心,是文化傳承存在的意義與目的。其重要性不言而喻。

理想的情況是同時具有廣度和深度,但是上面的“實事”已經說明不可能。但可以在在一定的、有限的前提下實現這個“需求”。如何做到呢?

直接由深度橫推到其他領域的深度不容易,但是如果其他領域的深度和當前領域是一樣的呢?答案是肯定的。其他領域與當前領域一樣是不可能的。但是共同點肯定有的。因此可以得出共同點是可以直接橫推的。現在問題簡化爲如何尋找共同點。細節是不同的,因此需要用抽象的思想將細節包含從而達到忽略的細節的目的。

如何抽象?這也不是一個簡單的問題。抽象有一個平衡,即抽象越高越通用,但包含忽略的細節太多,增加了實現的難度。抽象越低越不通用,但是包含的細節較多,降低了實現的難度。因此實際過程中需要平衡抽象的度或者說層次。

步驟一:熟悉的領域A與要推廣的領域B。兩邊都需要抽象,先要從領域A中的總的流程與細節中簡化並抽象出正確的,自己能把握的模型,並歸檔。

步驟二:如果能夠直接根據領域B中的細節知道應該使用A中的哪個已有模型(領域跨度較小),則直接使用。比如從android推廣到IOS開發,可以直接將開發,設計模型直接用於IOS開發。如果不能夠直接根據領域B中的細節知道應該使用A中的哪個已有模型領域跨度較大)則需要提高抽象的層次,後續逐步的細化,直到可以使用A中已有的模型。

步驟三:將推廣過來的抽象模型,逐步實現到細節,就像在指導方針下進行,能提高效率與減少錯誤。從而最終達到領域A深度橫推領域B的目標。

結語:優先使用數量與合作來解決深度推廣到廣度的需求。其次使用抽象的思想來解決深度推廣到廣度的需求。

發佈了32 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章