編程中所講的「思維深度」的本質是什麼?
一、
①語言是由名詞照按一定的序順組成的,動詞、形容詞、等等其本質也都是名詞。
②名詞就是用來給現實客觀存在的事物命名的。
③每一個名詞都代表了一個具體的形狀或者動作。代表現實的存在。腦中的幻想結果也是一種幻想出來的現實。
這些現實都有具體的圖像。或者抽象的圖像。真正蝦是現實,照片中的蝦,就是對現實中的蝦的一種命名,齊白石的蝦也是,只要我們想到蝦這個字,我們的大腦就會自然地根據眼睛曾經見過的各種蝦,在腦中繪製出蝦的圖像。我們就具備了繪製蝦圖的能力。
對於一些名詞比如龍,我們的大腦就只能繪製到各種龍的圖片、石雕、木雕、以及類似與龍的蛇。或者泥鰍、海馬等等~或者天空中出現過的像龍的雲朵,還有電腦繪圖技術繪製出來的龍的圖像,歐洲的那種龍,中國的長條條龍,恐龍~等等。
真正的活物龍,我們大腦無論如何也是繪製不出來的,我們的思維更笨就無法觸及到那個地方,最多就是能想像到恐龍骨架~至於科學家們根據骨架還原出來的那種看起來很真實的龍,我們也不可能確信它,100%確信。
還有那些關於龍的各種傳說,故事。
以上,我個人對「龍」的思維深度,就只能到這了。
拆,實際上就是一種繪圖的藝術~
ho Ec:介紹一種吊炸天的思維方式。不用謝。小洋粉:拆!技術的藝術~二、
很多厲害的程序員,都有一個習慣(至少曾經有經歷過),就是繪製拓撲圖。
現在讓我們回到本文的第一行第一句再閱讀一遍①②③打頭的三行句子
那麼編程的進階中,最關鍵最核心的事情可能不是寫代碼~
而是學會繪圖。你可能想那有什麼圖啊??沒圖就要硬繪。
比如進程和線程的關係。找出好幾篇講解關於進程和線程的文章來,首先看看裡面有沒有圖。
如果有,就首先看圖。看圖裡面的那些文字,英文的就用翻譯工具翻譯一下(這裡給大家介紹一款非常好用的英文翻譯工具快譯:Mac App Store 上的「快譯 - 多語言智能字典」(使用Mac電腦的同學可以用到)我手上有20個快譯的兌換碼哦~需要的可以加我微信索要嘿嘿~信號:xyfll7)
然後根據某些有趣的閱讀方法,比如適合我自己的這種閱讀方法:有趣的閱讀方法(當然你肯定有屬於你自己的更適合你自己的閱讀方法)
根據適合你自己的閱讀方法,來繪製關於線程和進程的拓撲圖,此處我再推薦一個很好地拓撲圖繪製工具:Draw.io(當然你可以用別的,ps、ai、甚至是電腦自帶的畫圖板)
使用http://Draw.io這個繪圖工具,就可以繪製出像這樣的關於進程和線程的拓撲圖來:(當然是根據文章的描述,把文章中的名詞都篩選出來,根據文章中所說描述的樣子,一點一點把圖畫出來)
我的這張圖是根據這篇文章繪製的:程序、任務、進程和線程的聯繫與區別 - CSDN博客(如果有錯誤的地方請指正)
有了這樣一張關於進程和線程的圖像以後,你在日後的閱讀中,每當看到進程和線程這樣的名詞的時候,你的大腦就可以輕易地繪製出這張圖來。大腦中能夠繪製出圖形來,就意味著你可以秒懂一些概念了~
當你知道進程和線程都是在內存和cpu之間交換數據~然後你就要繪製關於數據的結構的圖形,你可以百度「數據結構」我直接給出鏈接吧:數據結構(計算機存儲、組織數據方式)_百度百科
那麼cpu的圖怎麼繪製呢?不要緊我們有視頻:
小洋粉:cpu知識包你可以花一些時間,就像是看動畫片一樣,看看這些視頻~這也是一種讓大腦繪圖的方式
這裡還有一些關於內存的視頻:
小洋粉:內存知識包我們知道CPU和內存都是死的,要想讓內存和CPU都活起來就必須給它們加上電,那麼電又是如何在電腦的主板上面流動的呢?這裡有關於電是如何在主板上流動的視頻資源知識包:
小洋粉:電在主板上的流動~最後還有關於I/O、晶元組、數據匯流排BUS的知識
小洋粉:I/O系統是什麼?小洋粉:晶元組小洋粉:數據匯流排BUS三、
來到了代碼世界~
有了以上這些基礎知識以後,就可以知道,在電腦中你寫好的代碼被存放在硬碟中,接著當你或者用戶點擊運行由你的代碼所組成的軟體的時候,這些代碼(010011)被首先從硬碟中通過電路搬運到了內存當中,再搬運到L1、L2、L3的緩存當中(想要了解關於緩存的知識請點擊這個鏈接:UEFI和BIOS探秘 自己進去找找有清晰的圖片以及文字講解),等待或者正在被CPU運算處理,或者已經被CPU處理,再通過BUS經過I/O輸出成為各種形式:顯示器上的圖像、網線中的信號、耳機中的聲音、以及遊戲中的各種亂七八糟~
有一種很重要的輸出,網路輸出即TCP/IP、網路拓撲圖(這是互聯網的精髓所在)各種數據在全球互聯網中的傳輸基本就靠它了、還有HTTP:
xyfll7/TCP-IP小洋粉:HTTP有了以上的知識(存放在你腦海中的各種圖像)以後,你再回頭看你所熟悉的那些代碼~就會有完全不一樣的感覺。
結束了硬體知識的學習以後對於代碼,首先它們是運行在操作系統中的~那麼操作系統的結構又是什麼樣子呢?關注我的知乎專欄,或者微信公眾號:xyfii7。我會持續更新敬請期待哦~
以上有些鏈接暫時並沒有具體內容,是因為我還沒有學到~對於已經有的內容的我也會持續整理翻新,常常會有變動~我應該找個地方記錄一下變動日誌?我想我應該這麼做~但是知乎編輯器的支持對變動的記錄支持似乎不太好~找個很不好。有沒有什麼好的辦法呢?
推薦閱讀:
※Cognition 與職業危機
※第一篇:關於開發環境
※分治法,動態規劃及貪心演算法區別
※Scratchapixel舉步維艱,尋求贊助或投放廣告
※Matplotlib設計的基本邏輯