将高级语言翻译成机器语言有两种方式:编译和解释。二者区别在于翻译的时间不同。
编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。因此效率比较高。比如C语言。
解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。比如Basic语言,专门有一个解释器能够直接执行Basic程序,每个语句都是执行的时候才翻译。
 
C语言是编译型的。
Java比较特殊,Java程序也需要编译,但是没有直接编译成机器语言,而是编译成字节码,然后用解释方式执行字节码。
C程序——>机器语言(编译)
Java程序——>字节码(编译)——>机器语言(解释)

本文出自 “知行合一” 博客,请务必保留此出处http://thinkpadw.blog.51cto.com/464973/96161

动态语言:一般来说“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。

例如:JS,var a = 10; a = "abc"; a = false  这种可以在运行时修改变量类型的,属于动态语言。

编译型语言VS解释型语言、动态语言、静态语言相关推荐

  1. 关于动态语言 静态语言 静态类型语言 动态类型语言的区别

    参考链接:关于"编译型""解释型""动态语言""静态语言""动态类型语言""静态类型语言& ...

  2. python中动态语言静态语言的定义_作为程序开发,你所需要知道的编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的概念以及区别...

    作为程序开发,你所需要知道的编译型与解释型.动态语言与静态语言.强类型语言与弱类型语言的概念以及区别! 在各式各样的开发过程当中,我相信各位开发小伙伴在开发过程中并没有太关注什么是解释性语言和编译性语 ...

  3. python动态与静态语言_静态语言和动态语言的区别

    via https://blog.csdn.net/hard_days/article/details/84967298 今天在群里聊天的时候,谈论到python和Java相比居然不用定义变量类型.我 ...

  4. python动态与静态语言_Python编程笔记--动态属性

    一.动态语言与静态语言 1.1 静态语言特点: a. 在定义变量时需要指定变量的类型,根据指定的类型来确定变量所占的内存空间 b. 需要经过编译才能运行 c. 在代码编译后,运行过程不能对代码进行操作 ...

  5. 什么是动态语言/静态语言

    下面简单介绍下什么是静态语言和静态语言: 动态语言:动态语言是指在运行期间才去做数据类型检测的语言.在用动态语言编程的时候并不需要给变量指定数据类型,该语言会在第一次将数据赋值给变量的时候在内部将数 ...

  6. 动态语言、静态语言、脚本语言、解释型语言、编译型语言

    本人是php程序员,也做过一年java的开发,学习过c语言,会JavaScript,再回想起来,感觉语言之间的区别有点迷惑,所以整理一下. 1.动态语言 动态语言是在运行时才确定数据类型的语言.变量使 ...

  7. 编译型语言和解释型语言【附 动(静)态语言 、动(静)态类型语言、强(弱)类型语言】

    编译型语言和解释型语言篇章 1.前言 1.1 高级语言分类 计算机高级语言按 程序的执行方式 可分为:编译型和解释型. #mermaid-svg-WFWRNjQdLlIZq9HE {font-fami ...

  8. 【编程语言】静态语言与动态语言的本质区别以及其应用场景

    从宏观的语言层面来说,编程语言类型共分为两大类:静态语言(又叫强类型语言)与动态语言(又叫弱类型语言).静态语言通常是低级(底层)语言,动态语言一般为高级(应用)语言,静态语言运用通常是通过编译器,而 ...

  9. 动态语言和静态语言两者的区别

    静态语言:静态语言在程序运行前会进行类型判断,类的成员,方法都会在编译阶段确定好内存地址.类成员只能访问属于自己的方法和变量,因此,静态语言的结构更加规范,便于调试,且可以进行多样化的性能优化.常见的 ...

  10. 关于解释和编译,静态语言和脚本语言

    感觉这篇文章写的挺好: 对于刚刚入门的小白来说常常听到说什么解释性语言和编译性语言,静态语言和脚步语言等,被弄的云里雾里.我个人的感觉的语言没有好坏和强弱之分,每种语言都有自己使用的范围,没有必要去强 ...

最新文章

  1. 北大副校长詹启敏回应“25篇论文造假”,​PubPpeer到底靠不靠谱?
  2. Android SystemServer分析
  3. VMware 11完全安装Mac OS X 10.10
  4. linux 调优系列
  5. DIV+CSS_1_样式表的分类
  6. jq mysql二级联动_jq+php+mysql 实现二级菜单联动
  7. ios category 笔记整理(一)
  8. cn.cw.gps.domain.VisitReport.setVisitID([Ljava.lang.String;)]
  9. 严重: Exception sending context initialized event to listener instance of class
  10. 机器学习基础(十一)—— Logistic Regression 梯度更新公式的推导
  11. Atitit 异常处理之道 attilax著.docx 1. 概念 2 1.1. 异常机制的设计原理 2 1.2. Atitit.异常机制的设计原理.docx java 2 1.3. JVM看Exc
  12. 石墨文档服务器版,石墨文档功能一览
  13. 大话西游2人数最多服务器,大话西游2:全服最火服务器!凌烟阁人山人海遍地200级玩家...
  14. 大数据简介、Hadoop 起源以及 Google 三大论文介绍
  15. python中如何画图中图
  16. Android Glide加载网络图片不显示,但浏览器能打开图片
  17. 原生版本 电信卡HD语音通话记录没有显示为‘外拨的4G高清语音’仅显示为‘外拨的通话’
  18. 腾讯2018秋招笔试真题——安排机器
  19. Java高级特性 - 多线程练习题
  20. java8—streamAPI(四)

热门文章

  1. 如何将Tomcat注册为系统服务
  2. tensorflow 人面关键点识别_人工智能算法-图像识别项目
  3. SecureCRT连接阿里云ECS服务器,经常掉线的解决方案
  4. Mycat分布式数据库架构解决方案--搭建MySQL读写分离环境--一主多从
  5. Hadoop相关问题解决
  6. 有没有办法从nodejs代码中的package.json获取版本?
  7. Win7磁盘清理怎么操作?十步让你学会
  8. ros加载编译opencv-3.4.9,编译安装opencv-3.4.9
  9. 安卓颜色标签android
  10. 查看被Linux干掉的进程,Linux 查看进程被杀死的详情