今天和大家聊聊计算机语言的话题。不知大家注意过没有,不仅人类有语言:汉语,英语,法语,拉丁语,日语等等,和计算机打交道也要通过语言,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!