編程中所講的「思維深度」的本質是什麼?

一、

①語言是由名詞照按一定的序順組成的,動詞、形容詞、等等其本質也都是名詞。

②名詞就是用來給現實客觀存在的事物命名的。

③每一個名詞都代表了一個具體的形狀或者動作。代表現實的存在。腦中的幻想結果也是一種幻想出來的現實。

這些現實都有具體的圖像。或者抽象的圖像。真正蝦是現實,照片中的蝦,就是對現實中的蝦的一種命名,齊白石的蝦也是,只要我們想到蝦這個字,我們的大腦就會自然地根據眼睛曾經見過的各種蝦,在腦中繪製出蝦的圖像。我們就具備了繪製蝦圖的能力。

對於一些名詞比如龍,我們的大腦就只能繪製到各種龍的圖片、石雕、木雕、以及類似與龍的蛇。或者泥鰍、海馬等等~或者天空中出現過的像龍的雲朵,還有電腦繪圖技術繪製出來的龍的圖像,歐洲的那種龍,中國的長條條龍,恐龍~等等。

真正的活物龍,我們大腦無論如何也是繪製不出來的,我們的思維更笨就無法觸及到那個地方,最多就是能想像到恐龍骨架~至於科學家們根據骨架還原出來的那種看起來很真實的龍,我們也不可能確信它,100%確信。

還有那些關於龍的各種傳說,故事。

以上,我個人對「龍」的思維深度,就只能到這了。

拆,實際上就是一種繪圖的藝術~

ho Ec:介紹一種吊炸天的思維方式。不用謝。zhuanlan.zhihu.com圖標小洋粉:拆!技術的藝術~zhuanlan.zhihu.com圖標

二、

很多厲害的程序員,都有一個習慣(至少曾經有經歷過),就是繪製拓撲圖。

現在讓我們回到本文的第一行第一句再閱讀一遍①②③打頭的三行句子

那麼編程的進階中,最關鍵最核心的事情可能不是寫代碼~

而是學會繪圖。你可能想那有什麼圖啊??沒圖就要硬繪。

比如進程和線程的關係。找出好幾篇講解關於進程和線程的文章來,首先看看裡面有沒有圖。

如果有,就首先看圖。看圖裡面的那些文字,英文的就用翻譯工具翻譯一下(這裡給大家介紹一款非常好用的英文翻譯工具快譯:Mac App Store 上的「快譯 - 多語言智能字典」(使用Mac電腦的同學可以用到)我手上有20個快譯的兌換碼哦~需要的可以加我微信索要嘿嘿~信號:xyfll7)

然後根據某些有趣的閱讀方法,比如適合我自己的這種閱讀方法:有趣的閱讀方法(當然你肯定有屬於你自己的更適合你自己的閱讀方法)

根據適合你自己的閱讀方法,來繪製關於線程和進程的拓撲圖,此處我再推薦一個很好地拓撲圖繪製工具:Draw.io(當然你可以用別的,ps、ai、甚至是電腦自帶的畫圖板)

使用Draw.io這個繪圖工具,就可以繪製出像這樣的關於進程和線程的拓撲圖來:(當然是根據文章的描述,把文章中的名詞都篩選出來,根據文章中所說描述的樣子,一點一點把圖畫出來)

我的這張圖是根據這篇文章繪製的:程序、任務、進程和線程的聯繫與區別 - CSDN博客(如果有錯誤的地方請指正)

有了這樣一張關於進程和線程的圖像以後,你在日後的閱讀中,每當看到進程和線程這樣的名詞的時候,你的大腦就可以輕易地繪製出這張圖來。大腦中能夠繪製出圖形來,就意味著你可以秒懂一些概念了~

當你知道進程和線程都是在內存和cpu之間交換數據~然後你就要繪製關於數據的結構的圖形,你可以百度「數據結構」我直接給出鏈接吧:數據結構(計算機存儲、組織數據方式)_百度百科

那麼cpu的圖怎麼繪製呢?不要緊我們有視頻:

小洋粉:cpu知識包zhuanlan.zhihu.com圖標

你可以花一些時間,就像是看動畫片一樣,看看這些視頻~這也是一種讓大腦繪圖的方式

這裡還有一些關於內存的視頻:

小洋粉:內存知識包zhuanlan.zhihu.com圖標

我們知道CPU和內存都是死的,要想讓內存和CPU都活起來就必須給它們加上電,那麼電又是如何在電腦的主板上面流動的呢?這裡有關於電是如何在主板上流動的視頻資源知識包:

小洋粉:電在主板上的流動~zhuanlan.zhihu.com圖標

最後還有關於I/O、晶元組、數據匯流排BUS的知識

小洋粉:I/O系統是什麼?zhuanlan.zhihu.com圖標小洋粉:晶元組zhuanlan.zhihu.com圖標小洋粉:數據匯流排BUSzhuanlan.zhihu.com圖標

三、

來到了代碼世界~

有了以上這些基礎知識以後,就可以知道,在電腦中你寫好的代碼被存放在硬碟中,接著當你或者用戶點擊運行由你的代碼所組成的軟體的時候,這些代碼(010011)被首先從硬碟中通過電路搬運到了內存當中,再搬運到L1、L2、L3的緩存當中(想要了解關於緩存的知識請點擊這個鏈接:UEFI和BIOS探秘 自己進去找找有清晰的圖片以及文字講解),等待或者正在被CPU運算處理,或者已經被CPU處理,再通過BUS經過I/O輸出成為各種形式:顯示器上的圖像、網線中的信號、耳機中的聲音、以及遊戲中的各種亂七八糟~

有一種很重要的輸出,網路輸出即TCP/IP、網路拓撲圖(這是互聯網的精髓所在)各種數據在全球互聯網中的傳輸基本就靠它了、還有HTTP:

xyfll7/TCP-IPgithub.com

小洋粉:HTTPzhuanlan.zhihu.com圖標

有了以上的知識(存放在你腦海中的各種圖像)以後,你再回頭看你所熟悉的那些代碼~就會有完全不一樣的感覺。

結束了硬體知識的學習以後對於代碼,首先它們是運行在操作系統中的~那麼操作系統的結構又是什麼樣子呢?關注我的知乎專欄,或者微信公眾號:xyfii7。我會持續更新敬請期待哦~

以上有些鏈接暫時並沒有具體內容,是因為我還沒有學到~對於已經有的內容的我也會持續整理翻新,常常會有變動~我應該找個地方記錄一下變動日誌?我想我應該這麼做~但是知乎編輯器的支持對變動的記錄支持似乎不太好~找個很不好。有沒有什麼好的辦法呢?


推薦閱讀:

Cognition 與職業危機
第一篇:關於開發環境
分治法,動態規劃及貪心演算法區別
Scratchapixel舉步維艱,尋求贊助或投放廣告
Matplotlib設計的基本邏輯

TAG:編程 | 思維 | 思想 |