
计算机语言(Computer Lnguage)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。
计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。
计算机语言主要分为三类:
- 低级语言
- 高级语言
- 专用语言
1、低级语言
- 机器语言、汇编语言和符号语言。
- 汇编语言源程序必须经过汇编,生成目标文件,然后执行。
2、高级语言
- BASIC(True basic、Qbasic、Virtual Basic)、C、PASCAL、FORTRAN、智能化语言(LISP、Prolog)等等。
- 高级语言源程序可以用解释、编译两种方式执行。通常用后一种。
我们使用的C语言就是使用的后者。
3、专用语言
CAD系统中的绘图语言和DBMS的数据库查询语言。
11机器语言
电子计算机所使用的是由"0"和"1"组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由"0"和"1"组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。
因此程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。
12汇编语言
为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用"ADD"代表加法,"MOV"代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。
汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。
13高级语言
131高级语言的发展
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言--FORTRAN问世了,40 多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。
特别要提到的:在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接 *** 作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言——C语言。
高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、流水线式的工业化生产。
60年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是个自为战,缺乏科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切,极大地震动了计算机界,史称"软件危机"。人们认识到:大型程序的编制不同于写小程序,它应该是一项新的技术,应该像处理工程一样处理软件研制的全过程。程序的设计应易于保证正确性,也便于验证正确性。1969年,提出了结构化程序设计方法,1970年,第一个结构化程序设计语言--Pascal语言出现,标志着结构化程序设计时期的开始。
80年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。在此之前的高级语言,几乎都是面向过程的,程序的执行是流水线似的,在一个模块被执行完成前,人们不能干别的事,也无法动态地改变程序的执行方向。这和人们日常处理事物的方式是不一致的,对人而言是希望发生一件事就处理一件事,也就是说,不能面向过程,而应是面向具体的应用功能,也就是对象(Object)。其方法就是软件的集成化,如同硬件的集成电路一样,生产一些通用的、封装紧密的功能模块,称之为软件集成块,它与具体应用无关,但能相互组合,完成具体的应用功能,同时又能重复使用。对使用者来说,只关心它的接口(输入量、输出量)及能实现的功能,至于如何实现的,那是它内部的事,使用者完全不用关心,C++、Virtual Basic、Delphi就是典型代表。
高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。
可编程控制器目前常用的编程语言有以下几种:①梯形图语言、②助记符语言、③顺序功能图、④功能块图和⑤某些高级语言。手持编程器多采用助记符语言,计算机软件编程采用梯形图语言,也有采用顺序功能图、功能块图的。
梯形图语言
梯形图的表达式沿用了原电气控制系统中的继电接触控制电路图的形式,二者的基本构思是一致的,只是使用符号和表达方式有所区别。
在可编程控制器中有多种程序设计语言。
1梯形图语言、2布尔助记符语言、3功能表图语言、4功能模块图语言及5结构化语句描述语言等。
梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能,例如,代替继电器、计数器、计时器完成顺序控制和逻辑控制等,通过扩展或增强指令集,它们也能执行其它的基本 *** 作。功能表图语言和语句描述语言是高级的程序设计语言,它可根据需要去执行更有效的 *** 作,例如,模拟量的控制,数据的 *** 纵,报表的报印和其他基本程序设计语言无法完成的功能。功能模块图语言采用功能模块图的形式,通过软连接的方式完成所要求的控制功能,它不仅在可编程序控制器中得到了广泛的应用,在集散控制系统的编程和组态时也常常被采用,由于它具有连接方便、 *** 作简单、易于掌握等特点,为广大工程设计和应用人员所喜爱。
根据可编程器应用范围,程序设计语言可以组合使用,常用的程序设计语言是:
梯形图程序设计语言
布尔助记符程序设计语言(语句表)
功能表图程序设计语言
功能模块图程序设计语言
结构化语句描述程序设计语言
梯形图与结构化语句描述程序设计语言
布尔助记符与功能表图程序设计语言
布尔助记符与结构化语句描述程序设计语言
1、梯形图(LadderDiagram)程序设计语言
梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,程序采用梯形图的形式描述。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。
梯形图程序设计语言是最常用的一种程序设计语言。它来源于继电器逻辑控制系统的描述。在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉,因此,由这种逻辑控制技术发展而来的梯形图受到了欢迎,并得到了广泛的应用。
梯形图程序设计语言的特点是:
(1)与电气 *** 作原理图相对应,具有直观性和对应性;
(2)与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握和学习;
(3)与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(PowerFLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待;
(4)与布尔助记符程序设计语言有一一对应关系,便于相互的转换和程序的检查。
2、布尔助记符(BooleanMnemonic)程序设计语言
布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示 *** 作功能。
布尔助记符程序设计语言具有下列特点:
(1)采用助记符来表示 *** 作功能,具有容易记忆,便于撑握的特点;(2)在编程器的键盘上采用助记符表示,具有便于 *** 作的特点,可在无计算机的场合进行编程设计;
(3)与梯形图有一一对应关系。其特点与梯形图语言基本类同。3、功能表图(SepuentialFunctionChart)程序设计语言
功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。它是近年来发展起来的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,从功能入手,使系统的 *** 作具有明确的含义,便于设计人员和 *** 作人员设计思想的沟通,便于程序的分工设计和检查调试。功能表图程序设计语言的特点是:
(1)以功能为主线,条理清楚,便于对程序 *** 作的理解和沟通;(2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;
(3)常用于系统的规模校大,程序关系较复杂的场合;
(4)只有在活动步的命令和 *** 作被执行,对活动步后的转换进行扫描,因此,整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。功能表图来源于佩特利(Petri)网,由于它具有图形表达方式,能较简单和清楚地描述并发系统和复杂系统的所有现象,并能对系统中存有的象死锁、不安全等反常现象进行分析和建模,在模型的基础上能直接编程,所以,得到了文泛的应用。近几年推出的可编程控制器和小型集散控制系统中也已提供了采用功能表图描述语言进行编程的软件。关于佩特利(Petri)网的一些基本概念,我在以后有机会时再介绍给各位,以有助于对功能表图的进一步理解。
4、功能模块图(FunctionBlock)程序设计语言
功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的控制运算或控制功能。功能模块可以分为不同的类型,在同一种类型中,也可能因功能参数的不同而使功能或应用范围有所差别,例如,输入端的数量、输入信号的类型等的不同使它的使用范围不同。由于采用软连接的方式进行功能模块之间及功能模块与外部端子的连接,因此控制方案的更改、信号连接的替换等 *** 作可以很方便实现。功能模块图程序设计语言的特点是:
(1)以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;
(2)功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易 *** 作性;
(3)对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少;
(4)由于每种功能模块需要占用一定的程序内存,对功能模块的执行需要一定的执行时间,因此,这种设计语言在大中型可编程控制器和集散控制系统的编程和组态中才被采用。
5、结构化语句(StructuredText)描述程序设计语言
结构化语句描述程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散控制系统的编程和组态。
结构化语句描述程序设计语言采用计算机的描述语句来描述系统中各种变量之间的各种运算关系,完成所需的功能或 *** 作。大多数制造厂商采用的语句描述程序设计语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。结构化程序设计语言具有下列特点:
(1)采用高级语言进行编程,可以完成较复杂的控制运算;(2)需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。
(3)直观性和易 *** 作性等性能较差;
(4)常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。
部分可编程序控制器的制造厂商为用户提供了简单的结构化程序设计语言,它与助记符程序设计语言相似,对程序的步数有一定的限制,同时,提供了与可编程序控制器间的接口或通信连接程序的编制方式,为用户的应用程序提供了扩展余地。
计算机程序(英语:Computer program),也称为软件(英语:software),简称程序(英语:Program)是指一组指示计算机或其他具有信息处理能力装置每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语和烹饪手法的人(体系结构)来做这个菜。
工业编程语言: A+ | Ada | 汇编语言| B | Brainfuck | C | C++ | C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon | Objective-C| Ocaml | Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# | Visual Basic NET
脚本编程语言: ActionScript | JavaScript | JScript | Nuva | PostScript | VBScript | lua
学术编程语言: APL/J | Haskell | Logo | ML | pascal|Prolog | Scheme | SAC
其他编程语言: ALGOL | BASIC| Clipper | Forth | Modula-2/Modula-3 | MUMPS | PL/I | Simula
以上就是关于有那几种编写程序和语言全部的内容,包括:有那几种编写程序和语言、可编程序控制器的编程语言有哪几种、什么是计算机程序计算机程序设计语言有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)