编程语言随笔

       

编程语言分类

编程语言(programming language)

       用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。编程语言的描述一般可以分为语法及语义。语法是说明编程语言中,哪些符号或文字的组合方式是正确的,语义则是对于编程的解释。有些语言是用规格文件定义,例如C语言的规格文件也是ISO标准中一部份,2011年后的版本为ISO/IEC 9899:2011,而其他语言(像Perl)有一份主要的编程语言实现文件,视为是参考实现。

机器语言定义

       机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合.它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能.机器语言具有灵活、直接执行和速度快等特点.用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义.手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态.这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍.而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错.现在,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再去学习机器语言了.

汇编语言

       为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言.所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言.汇编语言亦称符号语言.汇编语言由 于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程.汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性.使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序.汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的“汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序.用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序.目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行.汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差.汇编语言是低级语言.但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途.

高级语言

    不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的.计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言.这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言.高级语言是面向用户的语言.无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用.计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。

编译型语言(Compiling Languages):程序在执行之前,需要先编译成机器语言文件,比如exe,运行的时候不需要再去翻译,直接运行就行,所以执行效率比较高。比如C/C++、vb、Pascal等

解释型语言(Interpreted Languages):也称脚本语言,程序在执行的时候才翻译成机器语言,每执行一次就要翻译一次,因此执行效率比较低。由于是在执行时才翻译,可以动态修改程序的属性和方法,所以也可称为动态语言。由于在执行时才翻译,可以调用不同的平台的解释器进行翻译,做到一份代码跨平台应用。比如Perl、Ruby、Python

Java比较特殊,Java程序也需要编译,但是没有直接编译成机器语言,而是编译成字节码,然后用解释方式执行字节码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,591评论 8 114
  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 10,747评论 2 35
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,935评论 25 709
  • 来源:视觉中国 俗话讲,人的运气三分靠打拼,七分靠命运。除了自身努力之外,还有很多因素可以左右到命运。当然影响力最...
    唐堂驿站阅读 9,663评论 0 1
  • 周六,晚八点。 课程结束,下楼时对他说,你不送送我吗?他微笑,送啊。 下楼。车就停在门口,打开后备箱,取出他挑的那...
    lichangan阅读 1,423评论 2 2