`
chenzehe
  • 浏览: 538264 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

什么是编译性语言、解释性语言和脚本语言

阅读更多


     计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能值型高级语言编写的程序。

     翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

     解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。

什么是脚本语言?

     1.脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。
HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。
     2.脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.
     3.与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。
注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。
     4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在.
脚本语言不需要编译,可以直接用,由解释器来负责解释。
     5.脚本语言一般都是以文本形式存在,类似于一种命令.
举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.
你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言.

 

JAVA语言

 

 java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。Java既可以被编译,也可以被解释。通过编译器,可以把Java程序翻译成一种中间代码 - 称为字节码 - 可以被Java解释器解释的独立于平台的代码。通过解释器,每条Java字节指令被分析,然后在计算机上运行。只需编译一次,程序运行时解释执行。下图说明了它是如何工作的:


可以把Java字节码看作运行在Java虚拟机(Java VM)上的机器代码指令。每中Java解释器,不管是Java开发工具还是可以运行Java小应用程序的Web浏览器,都是一种Java VM的实例。JavaVM也可以由硬件实现。

 Java字节码使“写一次,到处运行”成为可能。可以在任何有Java编译器的平台上把Java程序编译成字节码。这个字节码可以运行在任何Java VM上。例如,同一个Java程序可以运行在WindowsNT、Solaris和Macintosh上。

 

Java平台

 平台是程序运行的硬件或软件环境。Java平台与大多数其它平台不同之处在于它是运行于其它基于硬件平台的纯软件平台。大多数其它平台是硬件和操作系统的结合。

Java平台由两部分组成:

 

Java虚拟机(Java VM)
Java应用程序界面(Java API)
我们已经介绍了Java VM,它是Java平台的基础,可以移植到各种基于硬件的平台上。Java API是软件组件的集合,它们提供了很多有用的功能,如图
形用户界面(GUI)。Java API被分组为相关组件的库(包)。

 下图描述了一个运行在Java平台上的Java程序,如应用程序(application)或小应用程序(applet)。如图中显示的,JavaAPI和VM把Java程序从硬件依赖中分离出来。

 

作为一种独立于平台的环境,Java比本地代码慢一些。然而,聪明的编译器、很好地调制过的解释器和即时字节码编译器可以在不牺牲可移植性的条件下使Java的表现接近本地代码。

 

分享到:
评论

相关推荐

    编译性语言、解释性语言和脚本语言

    计算机编程语言根据其工作原理和执行机制,主要分为编译性语言、解释性语言和脚本语言。这三种类型的编程语言各有特点,适用于不同的场景。 编译性语言,如C、C++、Objective-C和Fortran,它们的源代码首先需要通过...

    Python 简介 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言.rar

    Python是一种解释性语言:没有编译这个环节 Python是交互式语言:可以在一个 Python 提示符 >>> 后直接执行代码 Python是面向对象语言:支持面向对象的风格或代码封装在对象的编程技术 Python 是初学者的语言:支持...

    基于Lua解释性语言-脚本语言的手机跨平台架构 共11页.ppt

    2. 解释性语言:Lua 语言是一种解释性语言,能够实时执行代码,不需要编译过程。 3. 跨平台:Lua 语言具有良好的跨平台性,能够在多种平台上运行,如 Windows、Linux、Mac OS 等。 4. 可移植性:Lua 语言具有良好的...

    脚本语言介绍及代码

    3. **解释执行**:脚本语言通常采用解释器来执行代码,这意味着代码可以在无需预先编译的情况下直接运行。 4. **强大的交互能力**:脚本语言能够轻松地与其他编程语言编写的程序组件进行通信,便于整合现有资源。 #...

    Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言 Python 的设计具有很强的可读性,相比其他

    它受到了ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell和其他脚本语言的影响,而且它的源代码遵循GPL(GNU General Public License)协议。Python经历了多个版本的迭代,其中Python 2.0引入了完整的垃圾...

    脚本语言支持组件支持库

    脚本语言支持组件是软件开发中的一个重要组成部分,它主要用于增强应用程序对各种脚本语言的兼容性和集成能力。在本文中,我们将深入探讨脚本语言支持组件的概念、功能、应用场景以及如何利用它来提升软件的灵活性和...

    第4章__客户端脚本语言_java客户端脚本语言_

    java客户端脚本语言。JavaScript是一种嵌入HTML的脚本语言,它不需要编译,在客户端可以通过浏览器解释执行。JavaScript具有跨平台、基于对象和事件驱动的特点,同时它也具有一定的安全性。

    脚本语言ViceScript 使用实例

    脚本语言通常是非编译型的,它们在运行时被解释,而不是在执行前编译成机器代码,这使得它们具有开发速度快、调试方便的特点。ViceScript的出现,为用户提供了更多的选择,尤其是在快速原型开发和轻量级应用领域。 ...

    VB 实现简单脚本语言编译器及执行器

    在VB(Visual Basic)编程环境中实现一个简单的脚本语言编译器及执行器是一项具有挑战性的任务,它涉及到计算机科学中的编译原理、解析技术、虚拟机设计等多个领域。VB本身是一个面向对象的编程语言,通常用于快速...

    编译原理实践-语言认知1

    Python和Haskell则分别代表了脚本语言和函数式编程语言的发展。 2.1.2 C语言简介 C语言是一种中级语言,它结合了低级语言的效率和高级语言的易读性。C语言在系统编程、嵌入式系统和软件开发中广泛应用。 2.1.3 ...

    嵌入式的脚本语言

    在实际开发过程中,开发者可能会结合脚本语言的灵活性和C语言的性能,通过编写C语言的底层模块,供脚本语言调用。这种方法可以在保持脚本语言易用性的同时,利用C语言实现性能敏感的部分。例如,`root`操作可能作为...

    11.2.5重编译脚本和官方汉化资源

    总的来说,重编译脚本和官方汉化资源对于软件开发者和用户都至关重要,它们帮助软件更好地适应各种环境和语言需求,提高了软件的可用性和国际化程度。理解并掌握这些概念和技术,对于在IT行业中进行高效开发和维护是...

    开源脚本语言-编译器开发1

    与编译型语言不同,脚本语言通常在解释器或引擎的帮助下逐行运行,而无需事先编译成机器码。常见的脚本语言有JavaScript、Python、Perl和Ruby等。 编译器是将高级语言转换为机器可理解的代码的程序。对于脚本语言的...

    魔王语言解释

    "魔王语言解释"是一个独特的编程或脚本语言,它的存在可能是为了教育目的或者挑战程序员的思维,通过非传统的编程方式来编写程序。这个压缩包包含了多个版本或变体的魔王语言解释器,允许用户对比和理解不同的实现...

    脚本解释器框架.rar

    本资源“脚本解释器框架.rar”提供了一个基于C++的简单脚本语言解释器框架,它涵盖了基本的变量定义、标准函数、关键字以及运算符等功能,为初学者或开发者提供了学习和扩展的基础。 C++是这个项目的主要编程语言,...

    编写脚本语言测试程序

    测试程序通常包含解析器、编译器(如果脚本语言需要预编译)以及执行引擎,用于模拟运行环境并提供错误检测和调试功能。 IDispatch接口是Microsoft COM(组件对象模型)中的一部分,它允许不透明的对象(如自动化...

    脚本语言21世纪的高级编程语言.pdf

    本文是一篇观点文章,旨在解释为什么在新的世纪里,脚本语言将比系统编程语言更好地处理许多编程任务。 脚本语言和系统编程语言的任务定位不同,这导致了两者之间基本的差异。系统编程语言旨在从零开始构建数据结构...

    PIKE--一种基于解释的脚本语言

    总的来说,PIKE作为一种解释型的脚本语言,因其高效、灵活和易学的特性,被广泛应用于快速原型开发、脚本编写以及网络服务等领域。对于那些寻求快速开发解决方案的开发者来说,PIKE是一个值得考虑的工具。

    使用C语言编写的脚本语言Tiderip解释器.zip

    1. **语法设计**:Tiderip可能拥有自己独特的语法规则,旨在提供良好的可读性和易写性,同时保持与现有脚本语言的兼容性。 2. **数据结构**:C语言中的结构体和联合体可以用来定义Tiderip的内置数据类型,如整型、...

    java与脚本语言.rar

    Java是一种广泛使用的面向对象的编程语言,而脚本语言则以它们的轻量级、解释执行和快速开发特性而闻名。两者在软件开发领域中各有所长,常常被用来解决不同的问题。本压缩包文件“java与脚本语言.rar”可能包含关于...

Global site tag (gtag.js) - Google Analytics