为什么学好计算机就必须学好汇编?
生活随笔
收集整理的這篇文章主要介紹了
为什么学好计算机就必须学好汇编?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??為什么學好計算機就必須學好匯編?
這個問題太抽象。?
????????匯編是干什么的?為什么要學好匯編?不學不行嗎?要學好計算機非得學好匯編嗎?乍看到這些問題,真是一頭霧水。學好匯編會有什么好處?學好匯編老板就給你漲工資?還是學好匯編上天就會賜給你個大美女?還是政府就會給你解決住房問題?真是搞不懂。不過倒可以肯定頭腦沒大問題的人不會選擇上面三個答案。那到底是為什么呢?是啊,停留在問題的表面似乎永遠找不到答案。我們試圖找一下答案,我們從這里入手,學習過匯編的人會了解計算機的底層工作方式,他會了解到cpu、內存、硬盤等硬件設備是如果協調地工作在一起,數據從哪里轉移到哪里,在哪里被運算,又在哪里被存儲起來等等等等。總之,計算機在你的面前不會再是一個黑洞。做這樣一個比喻:一個貌美的姑娘總能讓小伙子產生美好的幻想,而在醫生眼里他永遠是由639塊肌肉和206塊骨頭組成的軀體。同樣計算機在常人眼里可能是個神奇的東西,但在專業人眼里他就是一堆晶體管。原來我們的目的是讓計算機在我們眼里變成一堆晶體管,這才是我們真正要的東西。得出結論:我們的真正目的是讓計算機在我們眼里變成一堆晶體管,而不是要學好匯編。?
????????學好計算機就必須達到這個目的嗎??
????????明確了我們的真正目的,輕松了一些。然而學好計算機就必須達到這個目的嗎?這個問題先不回答,看下面的例子:一個醫生倘若不懂人體脈絡、血液流向、器官構成,只是模仿過專業醫生做過內科手術,哪怕模仿的多熟練,恐怕沒有哪個患者敢讓他做。很顯然,這樣的人也不配叫醫生。倘若你是一個億萬富翁,某銀行行長到你家跑存款,他只知道一些表面的銀行利率和金融常識,不懂潛藏在背后的貨幣和金融原理,對投機風險不知曉,將巨額財產存儲在這樣的銀行多少讓人心里感覺不安。這樣的例子很多,但道理只有一個,學好計算機也不例外。要想成為計算機方面的專家,但不了解計算機是怎么工作的,顯然不合邏輯。得出結論:讓計算機在我們眼里變成一堆晶體管是學好計算機的必要條件。?
????????目的確定,選擇方法。?
????????條條大路通羅馬,只要你確定去羅馬。怎樣達到“讓計算機在我們眼里變成一堆晶體管”這一目的?我試圖找到一條最近的路,其實可能每個人都在找這條路。曾經想過,倘若科技夠發達,直接把一位計算機專家頭腦里面關于計算機方面的所有知識直接拷貝到我的腦子,這樣計算機就不在神秘。倘若真的存在仙境,夢中得到仙人指點,一夜我就可以成為計算機專家,這樣計算機就不在神秘。不要覺得可笑,上面的兩種方法也是方法,只不過目前還沒有出現過類似的現象。那么我們來看現實中一個可行的方法,通過匯編語言的學習是可以達到這個目的的。匯編語言直接面向計算機底層,我們可以通過編寫指令代碼的方式控制一個單位數據從一個地方移動到另一個指定地方,可以指定讓兩個數據進行加減乘除運算,還可以通過指令直接控制終端設備。這就相當于我們用顯微鏡觀察人體細胞,細胞內部組織展露無疑,細胞從此也就不再神秘。從而可以看出通過匯編語言的學習和應用對于理解計算機的內部工作方式是多么的直接。得出結論:學習匯編語言是達到“讓計算機在我們眼里變成一堆晶體管”這一目的的一種有效方式。?
????????從上面的圖以及我們剛才的分析可以看出,學習匯編語言與學好計算機之間是沒有直接關系的。而到此為止,這些似乎抽象復雜的關系也就被我們理順了,再遇到多么古怪的問題我們就會很清楚這個問題處于什么階段了。?
????????分析一個問題。?
????????學生甲:“我沒有學習過匯編語言,匯編語言太低級,我只學習高級語言,現在也學好計算機了。”?
????????這種觀點我并不反對。我們來分析一下,學生甲既然自稱已經學好計算機了,那么必然對計算機的內部工作方式相當清楚,即達到了我們上面所述的“讓計算機在我們眼里變成一堆晶體管”這一目的。那么他是通過什么方式達到這一目的的呢?答案是“學習高級語言”。做這樣一個類比:通過學習匯編語言達到這一目的就好比醫生通過顯微鏡觀察人體細胞。通過學習高級語言達到這一目的就好比醫生通過觀察細胞的繁殖、生長、血液細胞的流動、皮膚細胞的衰老等一系列細胞外在展現出來的情況來達到認知細胞內部組織結構的目的,特別是他對細胞內部組織結構的認知與我們用顯微鏡觀察到的完全一致。顯然,這種人是屬于天才的那種人。他具備對事情有很強的總結歸納、從表面現象分析本質原理的能力,而且一般對該領域有極大的興趣,促使他要搞清楚到底是怎么一回事。然而,通過以上兩種方式的對比,我們也不難看出,前者是正序的學習方式,后者為倒序的學習方式,后者一般會占用相當長的時間,因為過程中畢竟需要對表面現象進行深刻的分析、領悟,最終得出自己的結論,而前者直接通過顯微鏡觀察就一目了然了。?
????????結束語:證明一個結論的對錯并不重要,因為有太多的結論等我們去證明。重要的是要搞清楚我們面臨的現狀,從而采取最有效的方式,做出最有效的選擇。
轉載于:https://blog.51cto.com/2youyou2/683286
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的为什么学好计算机就必须学好汇编?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx配置长连接
- 下一篇: 诸葛马前课andoid app 应用