日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

真正的高手,都具備高度抽象能力

 xfmKz 2019-10-26
生活中許多現(xiàn)象,其實(shí)不僅僅是我們表面看上去的那個樣子。
比如企業(yè)招聘時,往往要求學(xué)生必須通過英語四六級,并不是因?yàn)橛⒄Z有多剛需,而是為了確保應(yīng)聘者是個合格的大學(xué)畢業(yè)生。英語或其他證書的合格,證明他曾經(jīng)在大學(xué)里認(rèn)真學(xué)習(xí)過,更容易在工作中也可以有持續(xù)學(xué)習(xí)的能力。
比如一些專家宣傳紅酒有利于健康。真正原因是,有條件喝紅酒的人,往往社會層次相對高,人更有錢,能擁有更舒適的生活條件,更好的醫(yī)療保健條件,更多的體育鍛煉條件,更充分的健康意識等等。是這些條件,而不是紅酒,讓他們更健康。
比如花大價錢買學(xué)區(qū)房,讓孩子進(jìn)入好學(xué)校,是孩子日后成績優(yōu)異的原因。但真正為孩子創(chuàng)造成績優(yōu)異條件的,是愿意花大價錢買學(xué)區(qū)房的家長,是高度重視子女教育的人。他們往往本身也比較優(yōu)秀,這種家長會在各個方面督促、幫助子女學(xué)習(xí)。是這些家長,長年累月的努力和關(guān)心,才讓他們的孩子學(xué)習(xí)成績更好,學(xué)區(qū)房只是一個表象而已。

(圖片源自網(wǎng)絡(luò))

為什么有的人能看到現(xiàn)象,有的人能分析更多原因甚至直擊本質(zhì)呢?
因?yàn)槌橄竽芰Α?/span>
在之前的《編程究竟難在哪?》,我們談過編程思維,其實(shí)就是“理解問題——找出路徑”的思維過程,它由分解—識別模式—抽象—算法四個步驟組成。
今天,想和大家探討的是這其中最重要的一步——抽象能力。
(一)什么是抽象能力?
人們在實(shí)踐中認(rèn)識到,在現(xiàn)實(shí)世界中一定事物、狀態(tài)或過程之間,總存在某些相似的方面,即共性。
把這些相似的方面集中和概括起來,暫時忽略它們之間的差異,這就是抽象。
比如,我們將10只十分熟悉的貓咪放入100只陌生的貓咪中,一開始僅靠形象記憶,就可輕而易舉找到這10只貓咪,但如果把這10只熟悉的貓放入一千只、一萬只、十萬只陌生的貓群中,我們僅靠形象記憶找到貓的困難會越來越大,大到不可能。

(圖片源自網(wǎng)絡(luò))

如果在10只貓身體上都打上記號,事情立即會變得很簡單。
這個打記號的過程,是抽象思維。
抽象思維在理解概念時,就是在給所指事物尋找記號,不過這個記號不是人為的,而是事物本身固有的,指的是事物的規(guī)律和本質(zhì)。
當(dāng)我們遇到從未見過的事物時,如果能夠運(yùn)用“抽象思維”去尋找記憶中的知識——現(xiàn)有的事物之間的聯(lián)系,作為解決過程的關(guān)鍵要素,那么我們解決問題的效率將會大大上升。
《北大邏輯課》一書中,就講了一個運(yùn)用“抽象思維”解決現(xiàn)實(shí)問題的例子。
在大宋提刑官中,有這么一樁有名的案子:
有一天衙門接到報案,發(fā)現(xiàn)一民居失火,男主人與房屋都慘遭不幸,而女主人因?yàn)閯偤糜惺码x家,因此幸免于難。
正在女主人為丈夫的逝去而哭泣的時候,法醫(yī)宋慈發(fā)現(xiàn)了尸體的異樣:死者雖表層皮膚被燒毀,但口中十分干凈,并無煙灰。于是斷定這個案件并非意外事故,而是另有兇手隱瞞真相,死者是先被謀殺、后尸體被燒毀。
宋慈的推理過程是這樣的:
取一活豬、一死豬一起放在火中燒著,取出后發(fā)現(xiàn)活豬被燒毀后口中有大量煙灰,而死豬口中十分干凈,并無煙灰。
宋慈解釋道:“之所以會如此,是因?yàn)閯游镌诒换馃龝l(fā)出激烈的自救運(yùn)動,而劇烈運(yùn)動會大量的呼吸氧氣,同時,就必然會把煙灰吸入口中、肺中,例如我們過年燒的豬頭,由于是死豬,口中就十分干凈?!?/section>
“同理,本案中死者的口中并無煙灰,因此可以推斷,他在火災(zāi)發(fā)生前,就已經(jīng)被人殺害了!”
宋慈之所以能做出這段推理,就是靈活運(yùn)用抽象,從“豬遇火災(zāi)的反映”抽象出“口中有無煙灰是生物遇火時,是死或生的唯一標(biāo)準(zhǔn)”這一定理,并加以證明的結(jié)果。
一個抽象能力強(qiáng)的人,往往能從復(fù)雜的現(xiàn)象中直擊事物的本質(zhì)。也就是我們生活中常見的“這個人總是能抓住重點(diǎn)”“這個人總能看到我們看不到的”。
二、為什么抽象能力如此重要?
1.抽象能力決定你是否能比別人快速掌握技能
回憶你學(xué)習(xí)的過程,其實(shí)是一個抽象能力的過程。
首先,你需要觀察大量具體事物,比如學(xué)英語,要觀察大量的英語單詞;學(xué)物理,你要解答很多相同的題型。
在這基礎(chǔ)上,你尋找共同規(guī)律。很多英語單詞都是很多詞根、詞綴組成的,而詞根、詞綴又是有限的,這是一種規(guī)律;物理考試考的都是不一樣的題目,但很多習(xí)題考察的都是牛頓的三大定律。
緊接著,你開始加以演繹變化。在英語單詞里,詞綴有些是放在前面,有些是放在后面,有些詞根、詞綴兩兩組合,根據(jù)不同的排列組合,就會得出一定的變化。
最后,你總結(jié)出共同規(guī)律和這些規(guī)律演繹出來的新變化,即使遇到新的問題,也能迅速答出/應(yīng)對。
這也是為什么以前老師總是讓我們做題海戰(zhàn)術(shù),只是有的人只停留在了“題海”,有的人于千千萬萬中尋找規(guī)律總結(jié)出了一套“戰(zhàn)術(shù)”。

(圖片源自網(wǎng)絡(luò))

編程也是這樣,初級開發(fā)者和高級開發(fā)者在技能的學(xué)習(xí)、使用上是有差距的。
初級開發(fā)者往往只是停留在“見西瓜是西瓜,見葡萄是葡萄”的層次,客戶/產(chǎn)品說什么就做什么,在設(shè)計(jì)上讓你怎么做你就怎么實(shí)現(xiàn),從來也不去想是否滿足了用戶哪些方面的需求,代碼質(zhì)量和結(jié)構(gòu)也就很難得到保障,甚至通常會等到邏輯重復(fù)時再抽象封裝,可能只能解決了表面問題,嚴(yán)重則會引起返工。
但高級開發(fā)者,能夠根據(jù)業(yè)務(wù)的特點(diǎn),抽象出軟件最合理的設(shè)計(jì),使得程序具有良好的可讀性和擴(kuò)展性,通常一開始寫出的邏輯就為了以后的重用。
許多開發(fā)框架就是一步步抽象/埋坑/優(yōu)化而來的。

              (圖片源自網(wǎng)絡(luò))

包括各領(lǐng)域的頂尖高手,他們之所以能在自己的領(lǐng)域上,有深刻和精到的認(rèn)識,能夠解決復(fù)雜困難的問題,并且能夠不斷產(chǎn)生創(chuàng)造性的想法并付諸實(shí)踐,除了具備大量的知識積累外,也依賴于其個人的抽象能力。
像數(shù)學(xué)、物理、化學(xué)以及其他各學(xué)科中的各種各樣的公式,它們都是抽象思考的結(jié)果。
2、抽象能力,能把復(fù)雜的問題變簡單

我之前看過一個產(chǎn)品經(jīng)理分享的案例,說他給大神級別的人物匯報產(chǎn)品方案的時候,被對方為難,對方反復(fù)說一句話:不要說這些具象的東西,講一些抽象的概念。

當(dāng)時他很不理解,方案最終不是要看具體的產(chǎn)品原型嗎?為什么又要抽象呢?

在后來的工作中,他才意識到能講出抽象的概念有多重要。因?yàn)榘咽虑橄霃?fù)雜很容易,但是把復(fù)雜的事情想簡單,是個需要功力的活。

從簡單到復(fù)雜,更突出全面性,多積累經(jīng)驗(yàn)多假設(shè)一些情況就可以。
但從復(fù)雜到簡單,則需要從表面看到本質(zhì),從片面看到整體,然后提煉出共同的特征。

     (圖片源自網(wǎng)絡(luò))

作為產(chǎn)品,要滿足的,往往是一個需求類別而不是具體的某個需求,所以一定會考慮代碼的復(fù)用性、組件的復(fù)用性、同一個功能對不同場景的復(fù)用性。有了復(fù)用的能力,才能夠用更少的開發(fā)去滿足更多場景的同類需求問題。
因此,一個具備抽象能力的產(chǎn)品經(jīng)理,是反復(fù)從一個具體的需求,看到一類的需求,看到衍生的相關(guān)的需求,甚至再對需求進(jìn)行分類,看到更高層面的需求,進(jìn)而系統(tǒng)性解決同類的需求的循環(huán)訓(xùn)練。
如此反復(fù)訓(xùn)練,當(dāng)他們再遇到復(fù)雜問題時,便比其他人,能更迅速直擊到本質(zhì)而簡單的重點(diǎn)上。
在我們的生活里,利用抽象把復(fù)雜的問題變得簡單的場景也有很多。
看看我們的地鐵路線圖。

     (圖片源自網(wǎng)絡(luò))

即使不標(biāo)出各個站點(diǎn)之間相隔的具體距離,也沒有標(biāo)出它們的具體位置,僅僅只是提取了必需的信息,就能將整個復(fù)雜的地鐵體系簡單地表現(xiàn)出來。我們只要有地鐵路線圖,就可以知道要怎樣去各個站。
還有日歷,日歷將日期和星期的概念用簡單的一連串的數(shù)字排列表現(xiàn)出來,我們在看日歷時,就可以直觀地理解日期、星期以及月份。這是因?yàn)槿諝v將這些概念抽象化地、精準(zhǔn)地表現(xiàn)了出來。
3.抽象能力,是能力的能力
臺灣大學(xué)哲學(xué)系主任傅佩榮,在《西方哲學(xué)課》中談到哲學(xué)是什么時,問了大家兩個問題。
第一個問題,你到全世界任何一所圖書館去查找書,可以發(fā)現(xiàn)編號都是從“1”開始,請問:編號“1”的會是什么?
是哲學(xué)。哲學(xué)為什么排第一呢?因?yàn)槭篱g所有的學(xué)問分門別類,只有哲學(xué)是一個整合性的學(xué)問,把各種學(xué)問整合起來找到重點(diǎn),給你一個明確的歸納。
第二個問題,你看到有些人明明研究的是數(shù)學(xué)、物理、化學(xué),或者專攻社會學(xué)、心理學(xué)、人類學(xué),但是他們研究到最后所得到的最高的學(xué)位都稱作“哲學(xué)博士”,這又是怎么回事呢?
在西方傳統(tǒng)中,經(jīng)過整個中世紀(jì)的發(fā)展,到近代的時候,他們認(rèn)為哲學(xué)是所有學(xué)問里面最特別的,它可以稱作“學(xué)問的學(xué)問”“知識的知識”或“科學(xué)的科學(xué)”,是各門學(xué)科里面最具綜合性的學(xué)科。

     (圖片源自網(wǎng)絡(luò))

因?yàn)檎軐W(xué)是一門人們對具體事物進(jìn)行抽象與概括、說理與解釋、透過現(xiàn)象看本質(zhì)的學(xué)科,它是抽象思考的過程。
因此可以說,抽象思考體現(xiàn)了綜合能力,是一種元能力,即“能力的能力”。
我們每個人都擁有元能力,比如,我們知道反思,能說出某一道題的解題思路,能不斷地追問自己為什么,甚至能隱隱感知別人在想什么。
但每個人的元能力又有高低之分。
很多傳統(tǒng)廣告人寫文案,更追求靈感,想個創(chuàng)意需要對環(huán)境和心情提出要求,否則就難以創(chuàng)作。

后來,一些優(yōu)秀文案行家出現(xiàn)了,告訴大家寫文案不依賴靈感,是有科學(xué)方法的,只要掌握了科學(xué)的營銷方法,寫文案就像做數(shù)學(xué)題一樣套用公式就可以推導(dǎo)出來,于是傳統(tǒng)廣告人懵逼了。
這套科學(xué)寫文案方法,是將大量文案的規(guī)律和方式總結(jié)成系統(tǒng)性的知識。這過程其實(shí)就一種能力的能力。它最大的優(yōu)勢就是,能夠建立一個完整的知識架構(gòu),來提高學(xué)習(xí)認(rèn)知和解決問題的效率。

     (圖片源自網(wǎng)絡(luò))

綜合以上,抽象能力非常重要,甚至決定著一個人能力水平的上限。
正如每個高級開發(fā)工程師都能做到:一旦掌握了某個語言的語法,就能將問題映射成語法,寫出合格的代碼
如果你不想一輩子都做一個初級碼農(nóng),想寫出來一些自己也感覺到滿意的代碼,不被更高級的編碼工具取代,你需要學(xué)會抽象。
三、如何培養(yǎng)抽象能力?
抽象能力的訓(xùn)練和培養(yǎng),離不開對大量具體事物的觀察,發(fā)現(xiàn)共同規(guī)律并加以演繹變化,最終找到提高效率的解決路徑。
這個過程就是學(xué)編程的過程。
編程中抽象思維運(yùn)用的極為普遍。一般在實(shí)際工作中,常常需要把問題的實(shí)體對象,根據(jù)需求表示為各種數(shù)據(jù)結(jié)構(gòu)如樹、堆、棧等,把業(yè)務(wù)邏輯過程表示為各種算法如排序和查找等。
抽象表示是解決問題的第一步,也是關(guān)鍵的一步。在程序員的實(shí)踐中,一旦問題被準(zhǔn)確的無歧義表示出來了,解決方案就烘云托月般地呈現(xiàn)出來了。這就是“數(shù)據(jù)即代碼,代碼即數(shù)據(jù)”的道理。
這種反復(fù)把現(xiàn)實(shí)問題轉(zhuǎn)化為機(jī)器問題,將問題簡化為概念模型,進(jìn)而寫成代碼的訓(xùn)練,能使人變得更加精煉和邏輯清晰。

     (圖片源自網(wǎng)絡(luò))

最重要的是,編程的本質(zhì)也是為了解決生活中的實(shí)際問題而存在的。
一個很典型的例子,我們每個人都離不開要搭乘電梯。
當(dāng)你想從 1 樓去 14 樓,涉及了編程里起終點(diǎn)和循環(huán)的概念。從起點(diǎn) 1 出發(fā),終點(diǎn)為 14,循環(huán)計(jì)數(shù)從 1 到 14,滿足的退出循環(huán)條件,即電梯停了,門也打開了。
當(dāng)你在上升的過程中,外面有人按了按鈕,涉及了編程里的判斷語句。電梯的程序中,有一個判斷條件 If,判斷是否有人按了按鈕,當(dāng)條件成立,電梯就會停止。
所以,開發(fā)學(xué)編程,學(xué)的不僅僅是敲代碼,更是通過總結(jié),掌握背后一整套高效解決問題的思維模式,來解決生活的現(xiàn)實(shí)問題。
普通人學(xué)編程也是如此。擁有編程思維的人,是為了使自己能力更加突出:邏輯清楚、能從現(xiàn)象看本質(zhì)、做事效率也非常高。
四、尾聲
生活處處有編程,“學(xué)會抽象”就是編程教會我們的其中一門重要的人生課。
學(xué)會抽象,也是學(xué)會了大道至簡。當(dāng)你能去除現(xiàn)象看本質(zhì),你本身就在著力同構(gòu)這個世界。大數(shù)據(jù)喧囂的時代,真正的核心其實(shí)就是解構(gòu)世界的一個個經(jīng)典算法,是算法在無比深刻地表達(dá)我們身處的現(xiàn)實(shí)世界。

-END-


最后,一起來發(fā)現(xiàn)編程的美好吧↓
只需8.9元,即可報名Python編程體驗(yàn)課!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多