學習彙編的重要意義!!

幾日前,在一位仁兄的blog裏看到如下一番話:其實我發現中國的教育還是有很大問題的,你們得讓你們的學生認識到這門課的作用啊,有些師兄說到出去工作了才發現彙編的作用。 
  我覺得值得慶幸的是這位仁兄在在校期間的學習中及時地意識到了彙編的重要性,並做出了正確的選擇。然而這位仁兄提到的“老師沒有讓學生認識到彙編的重要性”和“有些師兄工作了才發現彙編的重要性”這些在計算機專業教育中存在的客觀事實,再次讓我心情沉重! 
  爲了讓更多的計算機學習者意識彙編語言的重要性,我就拋磚引玉,發表一下對彙編語言的理解,希望能夠讓更多的計算機技術的學習者對彙編語言的作用有一個正確的認識。 
1.彙編語言 
  彙編語言是最接近於機器語言的編程語言。如果說機器語言是計算機操作的本質,那麼彙編語言就是最最接近本質的語言。彙編語言操作直接面向硬件,所以,我們在使用彙編語言的時候,我們能夠感知計算機的運行過程和原理,從而能夠對計算機硬件和應用程序之間的聯繫和交互形成一個清晰的認識。這也是最能夠鍛鍊編程者編程思維邏輯的,只有這樣,學習者才能形成一個軟、硬兼備的編程知識體系,這是任何高級語言都無法給予的!相對於繁複的高級語言,彙編語言指令集合更簡約,指令操作更直接,從彙編開始學習更符合循序漸進的學習原理!所以,對於計算機技術初學者或者自學者,彙編語言重要性無可替代! 
2.彙編語言之於高級語言 
  不否認,在應用層面,高級語言佔據了軟件開發市場的絕大部分。也正是這種現象,誤導了學習者,甚者是教育者!所以目前高校計算機專業的現狀是:專業課程中C語言,C++,java等高級語言一應俱全,而畢業的學生卻連簡單的程序都不能編寫。爲什麼?聽不懂,學不會!這就是缺乏基礎造成的! 
彙編語言纔是計算機技術的基礎,而不是常說的C語言。之所以說彙編重要,其一個重要的原因就是,彙編語言能夠讓你更好的理解高級語言,尤其是高級語言中的C語言。彙編語言對於內存的操作都是基於內存地址的,而C語言中最令人頭疼的指針概念,說白了就是內存的地址。指針的學習和應用中最頭疼的就是在指針這個抽象的概念和實際的內存單元之間建立思維映射,而這些恰恰是我們在彙編語言學習中頻繁做的一件平常事。另外,對於C語言中的數據類型、形參實參、函數調用、全局變量、局部變量等概念及操作,我們都可以用彙編語言中的一些操作相關聯,把這些抽象的概念和過程,通過彙編語言形成一個具體的映像,深度剖析,這樣我們才能真正的學會、學好C語言。 
  有了彙編和C的基礎,那些所謂的面向對象的語言學習起來就更爲順暢了!奉勸那些好高騖遠的學習者,踏踏實實的從彙編開始吧,古云:磨刀不誤砍柴工啊!  
3.彙編語言之於應用 
  很多學習者放棄對於彙編語言的學習,是因爲高級語言的開發更容易找到工作。這個理由也是我見到過的最現實的。但是,這裏面明顯存在着認識誤區! 
  首先,我們的學習是一個系統過程,我們的知識結構不是一個單一課程所能夠建立的。所以,學習彙編的目的並不是非要用匯編去掙飯錢。因爲彙編語言對於一個編程人員所應該具備的基本素質的培養和形成得意義是非常重大的!這在前文中已經分析了,不再贅述! 
  其次,彙編本身也是很重要的應用技術。由於學習者,尤其是在校的學生,平時接觸的最多的是純軟件的東西,所以,覺得五花八門的軟件纔是計算機技術應用的舞臺。那麼這些人最終會成爲那位博主提到的那些工作後才意識到彙編的作用的“師兄”!彙編的操作由於跟硬件緊密相關,所以,很多硬件設施的嵌入式編程使用的都是使用的彙編語言,因爲彙編語言更直接,更有效率!我們現在的數碼產品很多,而這些數碼產品賴以生存的芯片,主板等,都包含了嵌入式程序,而這些程序中,彙編語言的使用是相當重要的! 
  爲了工作放棄彙編,得失自明啊! 
很激動地寫了上面這些,目的只有一個:讓更多的學習者認識到彙編語言在計算機技術學習中的重要性!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章