今天和大家聊聊計算機語言的話題。不知大家注意過沒有,不僅人類有語言:漢語,英語,法語,拉丁語,日語等等,和計算機打交道也要通過語言,C語言,C++,JAVA,BASIC,PASCAL,各種匯編語言,……。既然都叫語言,是不是有什么共性的東東,好讓大家在繁瑣的各種計算機語言的語法定義、語句定義中尋到線索,從而從語句結構上快速地掌握一門新的語言,也來做一把庖丁,游刃有余于其間,一覽眾山小,呵呵!
其實,大家從出生就開始了人類語言的學習,不信看看自己的baby,或周圍親戚朋友的baby,哪個不是從爸爸、媽媽、車車、狗狗,到2歲時:媽媽,車車來了,再到5歲時:媽媽,我今天看到一輛好長好長的火車,后到小學以后:今天我和媽媽去了新的北京南站,看到了來來往往的,或是整裝待發的長長的火車,……
怎么樣?字,詞,句,段。小學學語文,中學學英語是不是都是離不開這個范圍?言歸正傳,計算機語言,比如C語言中,各種類型的變量,常量,運算符(如:賦值符=, 大于>等),關鍵字(如:if,into,等),都是“字”;表達式即為“詞”;語句即為“句”;函數、宏定義即為“段”。是不是有人已經“噢!”了?運算符、關鍵字就是“動詞”, 變量、常量就是“名詞”。還有令人頭痛的匯編語言,做LINUX系統移植,以及硬件驅動的同行們接觸這些多,其實ARM匯編語言也離不開這四個字,操作數(寄存器、立即數)、操作符,條件描述,是“字”;地址模式,帶有條件描述的指令,是表達式,是“詞”;每條匯編指令是“句”,函數及宏是“段”。趕緊再去看看ARM指令吧!體驗體驗。
注:ARM指令一般格式為:<操作符>{<條件碼>}{} <目的操作數寄存器>,<源操作數寄存器1>,<地址模式>
地址模式一般定義為:<源操作數寄存器2>, <移位操作> <移動的位數>
再其實,給計算機打交道的方式命名為:“語言”,本來科學家們就是這么打算的。從古至今,人們矢志不移地要發明工具,把人從手工計算中解放出來,十七世紀的大數學家萊布尼茨和現代的巴克斯(第一個高級程序設計語言FORTRAN的發明人)等許許多多科學家們就潛心于研究人類邏輯和語言的表達,以應用于計算機設計和應用,為此付出了很多努力,才有了我們今天的計算機技術,我們的確“站在巨人的肩膀上”啊!
學習是有方法的,只要掌握了訣竅,就會很快輕松掌握,期望大家都能成為編程高手。計算機老實了,你讓它做什么,它就做什么,和人不一樣。相信你會在和計算機的“語言交流”中得到快樂。
Enjoy your life,Enjoy your work,Enjoy your computer!