首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序与程序设计语言

一.计算机程序

计算机程序(program),就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。

Computer program, is a collection of instructions that performs a specific task when executed by a computer.

二.计算机程序设计语言

程序设计语言(program design language,简称PDL),又称编程语言(programming language),是一组用来定义计算机程序的语法规则。

自20世纪60 年代以来,世界上公布的程序设计语言已有上千种之多,但是只有很小一部分得到了广泛的应用。

1. 第一代语言(机器语言)

内存部份的范例:

整合范例

0000,0001,000000001000 代表STORE B, 16

0000,0001,000000000001 代表STORE B, 1

优点:计算机可以直接识别并执行,执行效率高

缺点:

开发工作繁杂琐碎 开发周期长,可读性差,不便于交流与合作,可移植性差,重用性差,程序设计曲高和寡。

2. 第二代语言(汇编语言)

汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在着难学难用、容易出错、维护困难等缺点。但是汇编语言也有自己的优点:可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。 从软件工程角度来看,只有在高级语言不能满足设计要求,或不具备支持某种特定功能的技术性能(如特殊的输入输出)时,汇编语言才被使用。

§指令示例(For PIC16F627 microcontroller)

汇编语言:MOVLW 0x5A

§表示将操作数0x5A移到当前寄存器

汇编语言编译器:使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,或汇编语言编译器。

3. 第三代语言(高级语言)

高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。

如:Java; C; C++; Python; C#; PHP; Javascript; Ruby; Matlab;R ; SQL ;Perl;Objective-C;Visual basic;Swift

高级语言编写的程序计算机不能直接识别并运行,需要翻译,一般有两种翻译方式:编辑和解释。

(1)编译

编译器把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的。

如:C、C++、Fortran、Pascal、Ada都是编译实现的。

(2)解释

解释器在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。

对于解释型Basic语言,需要一个专门的解释器解释执行 Basic程序,每条语言只有在执行才被翻译。这种解释型语言每执行一次就翻译一次,因而效率低下。

Java很特殊,Java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后在Java虚拟机上用解释方式执行字节码。Python 的也采用了类似Java的编译模式,先将Python程序编译成Python字节码,然后由一个专门的Python字节码解释器负责解释执行字节码。所以这两种语言也归类为解释性语言。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181015G1YJLX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券