`

解惑解释性语言、编译性语言和动态语言

    博客分类:
  • java
阅读更多

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

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

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

     编译性语言:   C   c#   vb   delphi  
     解释性语言:   asp   vbscript   javascript   
     编译性语言:   以二进制形式保存   不可见源代码  
     解释性语言:   以代码形式保存   可见原代码

    

     java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。 先看一下java程序的运行过程,程序运行时先将.java文件通过编译器编译成字节码文件(.class文件),然后java虚拟机将.class文件进行解释,进而执行。最新的JAVA将使用JIT技术吧,所以JAVA是   编译+解释+编译   性语言

    

     编译性语言执行较快,解释性语言相对慢。

    

     总的来说,生成目标代码的是编译性的语言,没有生成目标代码的是解释性的语言(目标代码包括中间代码)。

     可以简单地理解为直接被解释执行的语言称为动态语言。而需要编译环境将程序转换为其它的编码再执行的语言称为静态语言。

当前静态语言有:Java、C/C++、C#、DELPHI、VB等。

动态语言有:ASP、PHP、Perl、Python,Smalltalk、Ruby等。

 

分享到:
评论
1 楼 jc_dreaming 2010-04-12  

相关推荐

    Java解惑(中文).pdf

    这份高清版、文字版的资料很可能包含了深入浅出的解释和实例分析,以中文的形式呈现,使得国内开发者更容易理解和学习。 首先,Java中的易混淆知识点可能包括: 1. **静态与非静态成员**:静态成员属于类,而非...

    Java解惑(中文).zip

    2. **类与对象**:Java是面向对象的语言,理解类的定义、对象的创建、封装、继承和多态性是核心概念。类是数据和操作数据的方法的集合,而对象则是类的实例。 3. **异常处理**:Java有强大的异常处理机制,通过try-...

    java解惑(最具影响力的JAVA书籍)

    "Java解惑"这本书籍旨在帮助程序员解决在实际编程过程中遇到的困惑和难题,通过深入浅出地解释那些看似出乎意料的代码行为,帮助读者提升对Java语言的理解。 1. **异常处理**:Java中的异常处理是一个重要的概念,...

    java解惑(罗列了95个容易让你迷惑的java知识点)

    以下就是针对标题"java解惑(罗列了95个容易让你迷惑的java知识点)"中提及的一些关键知识点的详细解释。 1. **Java内存模型**:Java内存模型(JMM)规定了线程如何共享和访问数据,包括主内存、工作内存以及内存间的...

    讲解Java解惑的PPT2

    在Java编程语言中,理解和解决Puzzlers是提升技能的关键步骤。本文主要分析了三个Java Puzzlers,分别是Puzzle 11 最后的笑声、Puzzle 12 ABC和Puzzle 13 畜牧场,以及Puzzle 14 转义字符的崩溃,这些都是Java中容易...

    基于WEB的C语言虚拟实验教学平台

    4. 编译与运行:即时编译并运行用户提交的代码,显示编译错误和运行结果,可能还包含性能分析和内存使用情况。 5. 测试与评估:设定测试用例,自动评估学生的代码,给出分数和反馈。 6. 讨论区:提供讨论交流平台...

    《C-C++完美演绎》源代码

    每个程序都是一个独立的实例,通过编译和运行这些程序,你可以验证书中理论的正确性,也可以通过修改和调试代码来提升自己的编程技能。 学习《C-C++完美演绎》的源代码,你需要掌握基本的C/C++编程环境,例如使用...

    PHP+MYSQL做的学生选课系统

    - 安全性:系统应考虑防止SQL注入、XSS攻击等安全问题,使用预编译语句、过滤输入和输出等方式确保数据安全。 - 性能优化:合理使用索引、缓存技术,减少数据库查询次数,提高系统响应速度。 5. 开发工具与环境:...

    C语言资源收藏

    此书应提供了清晰的解释和实例,帮助初学者克服这些难题。 2. **C专家编程.pdf**:这可能是关于C语言高级编程技巧的书籍,可能涵盖了诸如结构化编程、算法、数据结构、错误处理、程序优化等主题。专家编程强调的是...

    幻灯片 C语言课件 全册

    C语言是一种广泛应用于系统编程、应用编程、嵌入式开发等多个领域的高级编程语言。它以其高效、灵活和可移植性而备受...对于每个主题,幻灯片通常会包含清晰的概念解释、示例代码以及解惑问答,帮助学习者巩固所学。

    JAVA开发规范

    JAVA开发规范是软件工程中确保代码质量和项目可持续性的关键组成部分。这一规范涵盖了编码风格、命名约定、代码格式、编程技巧等多个方面,旨在提高代码的可读性、可维护性和标准化水平。 ### 编程规范 #### 引言 ...

    C++控制台贪吃蛇移植QT贪吃蛇.rar

    3. **QT Creator**:QT的集成开发环境,提供了便捷的代码编辑、编译和调试功能,有助于开发者更高效地构建项目。 4. **QT图形界面设计**:移植过程中,需要设计并布局GUI界面,包括创建窗口、添加控件、设置布局等...

Global site tag (gtag.js) - Google Analytics