什么是程序设计语言
经过半个多世纪的发展,产生了几百种程序设计语言,各种语言都具有自己的特色,有些已经消亡,留下来的则不断被改进,并应用在不同的领域中.有些语言是通用的,有些语言则是针对专门领域设计的,称为领域专用语言(Domain Specific Language,DSL),其基本设计思想是求专不求全。
程序设计语言有时也称为编程语言。
根据其抽象层次,可将程序设计语言分为低级语言和高级语言,低级语言包括机器语言和汇编语言,高级语言则丰富得多。
1.机器语言和汇编语官
机器语言是用二进制代码表示的、计算机能直接识别和执行的机器指令的集合。它是计算机的设计者通过硬件结构赋予计算机的操作功能,因此,机器语言与具体硬件结构密切相关.例如,将两个整数相乘并打印运算结果的某机器语言程序如表7-1所示。
用机器语言编写程序,编程人员首先要熟记所用计算机的全部指令代码和代码的含义。同时,程序员豁要自己处理每条指令和每个数据的存储分配和输人输出,还要记住编程过程中每一步所使用的工作单元处在何种状态。
在那个年代(1950年前后),编程是一种什么样的工作呢?
那时编写程序不是今天这样的“写”程序,程序也不是写在纸上的,而是在纸带上打出不规则的小孔(修改程序就是给纸带打补丁)。程序员需要先把给计算机的指令换算成二进制数字,然后把二进制数字转成这些小孔,每一个小孔代表了给计算机的一个信号,上百个小孔驱使计算机做一个动作,成千个小孔才形成一条指令!
显然,用机器指令编写的程序难以阅读和理解,而且如果程序出了错,检查和排除错误也非常困难。为了克服用机器语言编程难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码,于是就产生了汇编语言。
在汇编语言中,常用ADD表示相加、SUB表示相减、MUL表示相乘等。例如,用某汇编语言实现两个整数相乘并打印输出的程序如表7-2所示。
虽然使用汇编语言编写程序的效率和程序的可读性有所提高,但本质上仍然是面向机器的语言,使用起来还是比较烦琐费时,通用性也差。汇编语言仍然是低级语言,适用于编制系统软件中与硬件直接相关的那些部分和一些过程控制软件。由于计算机并不认识汇编语言的文字符号,这就需要一个专门的程序,负责将这些符号翻译成二进制数形式的机器语言,这种翻译程序被称为汇编程序。
2.商级语官
不论是机器语言还是汇编语言都是面向硬件的,语言对机器过分依赖,都不利于程序的编写和移植。因此,人们开发了多种高级程序设计语言(简称高级语言)。在高级语言中,人们使用更接近于自然语言的符号进行表达,例如,用print表示打印输出、用“+”表示相加运算等.例如,用C语言编写的实现两个整数相乘并输出的程序如表7-3所示。
当然,计算机也不能直接识别高级语言程序,因此,高级语言程序在执行前也需要翻译成计算机能够执行的指令。
3.编译与解释
用某种高级语言或汇编语言编写的程序称为源程序,源程序不能直接在计算机上执行。
如果源程序是用汇编语言编写的,则需要用汇编程序将其翻译成目标程序,再与必要的其他目标程序链接后才能执行。如果源程序是用某种高级语言编写的,则需要对应的编译程序(也称为编译器)将其翻译成目标程序并进行链接,然后才能执行,如图7-1所示。
高级语言程序也可以通过解释方式运行,这需要一个解释程序。解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序先翻译成某种中间表示形式,然后再解释执行。解释程序与编译程序的区别是:编译程序首先将源程序翻译成目标语言程序,经链接后产生可执行程序,然后在计算机上运行可执行程序.这就是说,在编译方式下,机器上运行的是与源程序等价的可执行程序,源程序和编译程序都不再参与可执行程序的执行过程;在解释方式下.解释程序和源程序(或其中间表示)都要参与到程序的运行过程中,运行程序的控制权在解释程序。也就是说,解释程序翻译源程序时不产生独立的目标程序,而编译程序则需将源程序翻译成独立的目标程序。
推荐新闻
更多行业-
深圳网站建设怎样建站比较好?做好这三点就可以了
许多人说建立一个网站实际上就是这么简单。你不必从这里看向那里。去做吧。...
2021-07-02 -
网络营销市场细分的意义和作用
20世纪50年代,美国著名的市场营销学家温德尔·史密斯提...
2014-06-13 -
网站建设如何优化视觉效果?
对于每一个网站建设的朋友来说,做网站的时候最重要的一个方面就是注意优化...
2023-04-13 -
4件神兵利器决胜于外链厮杀时代
可以毫不夸张的说,seo已经进入到一个战火连天、硝烟四起、穷雄逐鹿...
2012-02-07 -
移动端网站建设哪些地方是重点?
智能手机的出现彻底打破了人们上网的习惯。过去,当人们想在网上买东西时,...
2020-05-18 -
SEO超级外链不得不说的事
对超级外链的分析研究为止。其中细节可能没论述太明白,至此。逻辑可能有漏...
2012-07-08
预约专业咨询顾问沟通!
免责声明
非常感谢您访问我们的网站。在您使用本网站之前,请您仔细阅读本声明的所有条款。
1、本站部分内容来源自网络,涉及到的部分文章和图片版权属于原作者,本站转载仅供大家学习和交流,切勿用于任何商业活动。
2、本站不承担用户因使用这些资源对自己和他人造成任何形式的损失或伤害。
3、本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准。
4、如果侵害了您的合法权益,请您及时与我们,我们会在第一时间删除相关内容!
联系方式:010-60259772
电子邮件:394588593@qq.com