一 基础:

1.解释型语言与编译型语言的区别

首先,我们编程都是用的高级语言(写汇编和机器语言的大牛除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序,

说到翻译其实有两种:解释和编译,两种翻译的时间不同而已.

用编译性语言写的程序执行之前,需要一个专门的编译过程,通过编译系统(不仅仅只是通过编译器.编译器只是编译系统的一部分)把高级语言翻译成机器语言,把源高级语言程序编译成机器语言文件,比如windows的exe文件.以后直接运行就可以了,不需要在编译le,因为翻译只做了一次,运行时不需要翻译,所以编程语言的程序执行效率高,但也不能一概而论,

部分解释性语言的解释器通过在运行时动态优化代码,甚至超过编译型语言.

(1)解释型语言

解释则不同,解释型语言编写的程序不需要编译。解释型语言在运行的时候才翻译,比如VB语言,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是执行的时候才翻译。这样解释型语言每执行一次就要翻译一次,效率比较低 .

2.二者的利弊

编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。      但随着硬件的升级和设计思想的变革,编译型和解释型语言越来越笼统,主要体现在一些新兴的高级语言上,而解释型语言的自身特点也使得编译器厂商愿意花费更多成本来优化解释器,解释型语言性能超过编译型语言也是必然的。

3.java和c#

JAVA语言是一种编译-解释型语言,同时具备编译特性和解释的(其实,确切的说java就是解释性语言,其所谓编译过程是将.java文件编译成平台无关的字节码.class文件,并不是向C一样编译成可执行文件的机器语言,作为编译型语言,JAVA程序要被统一编译成字节码文件——文件后缀是class。此种文件在java中又称为类文件。java类文件不能再计算机上直接执行,它需要被java虚拟机翻译成本地的机器码后才能执行,而java虚拟机的翻译过程则是解释性的。java字节码文件首先被加载到计算机内存中,然后读出一条指令,翻译一条指令,执行一条指令,该过程被称为java语言的解释执行,是由java虚拟机完成的。而在现实中,java开发工具JDK提供了两个很重要的命令来完成上面的编译和解释(翻译)过程。两个命令分别是java.exe和javac.exe,前者加载java类文件,并逐步对字节码文件进行编译,而另一个命令则对应了java语言的解释(javac.exe)过程。在次序上,java语言是要先进行编译的过程,接着解释执行。

C#程序在第一次运行的时候,会依赖其.NET Frameworker平台,编译成IL中间码),然后由JIT compiler翻译成本地的机器码执行。从第二次在运行相同的程序,则不需要再执行以上编译和翻译过程,而是直接运行第一次翻译成的机器码。所以对于C#来说,通常第一次运行时间会很长,但从第二次开始,程序的执行时间会快很多。    那么,C#为什么要进行两次“编译”呢?其实,微软想通过动态编译(由JIT compiler工具实现)来实现其程序运行的最优化。如果代码在运行前进行动态编译运行,那么JIT compiler可以很智能的根据你本地机器的硬件条件来进行优化,比如使用更好的register,机器指令等等,而不是像原来那样,build一份程序针对所有硬件的机器跑,没有充分利用各个机器的条件。

python语言的解释性特点指的是编写的程序不需要编译_解释性与编译型 Python2和python3的区别...相关推荐

  1. python语言是开源的现拥有十几万个第三方函数库_智慧树知到《Python程序设计基础》章节测试答案...

    智慧树知到<Python程序设计基础>章节测试答案 绪论 1.学好Python程序设计要注意的几个问题是 A:多看多练 B:多想多整理 C:多交流多请教 D:只看视频,不思考.不练习 答案 ...

  2. python可以写安卓应用吗_python可以编写android程序吗?

    python可以编写android程序吗?答案是肯定的.Android不直接支持使用python开发应用,需要使用其它中间件或者库.PythonForAndroid.CLE以及Wrapandroid ...

  3. python输入10个整数_python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明。...

    python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明. 重难点:通过input函数输入的行消息为字符串格式,必须转换为整型,否则 ...

  4. 【Python】学习笔记——-Python2 和 Python3的区别

    有什么区别? 短版本:Python 2.x是遗留的,Python 3.x是语言的现在和未来 Python 3.0于2008年发布.最终的2.x版本2.7发布于2010年年中发布,其中包含了对此生命周期 ...

  5. 编写lisp程序解一元二次方程_用C语言编写一程序求解一元二次方程的根。

    展开全部 C语言编写一程序求解32313133353236313431303231363533e78988e69d8331333365643661一元二次方程的根: #include #include ...

  6. python语言单词接龙_Python单词接龙小程序

    偶然间阅读资料发现Linux发行版内置了英语词典,随手用Python写个小程序进行词语接龙 规则:用户给出第一个词,系统根据结尾随机给出一个相同开头的词,如此反复 用户词不得重复,单词表中也不含缩写符 ...

  7. python不需要缩进的代码顶行编写_python程序快速缩进多行代码方法总结

    该语言中缩进是其精髓,通过缩进可以表示函数.循环等程序结构的范围.有时写完程序后,发现所有程序需要放入函数def中,这时就需要对一整块程序同时进行缩进,还有其他一些情况,也会需要多行整体缩进.下面介绍 ...

  8. Python 之 Python2 和 Python3 的区别

    1.默认编码方式 # Python2 默认编码方式是 ascll码 # Python3 默认编码方式是 utf-8 # Python2 输出中文要加  # -*- encoding:utf-8 -*- ...

  9. 编写10ms延时的子程序c语言,求解!!!用汇编语言编写延时程序问题!!!!...

    软件延时:(asm) 晶振 12MHZ, 延时 1 秒 程序如下: DELAY:MOV 72H,#100 LOOP3:MOV 71H,#100 LOOP1:MOV 70H,#47 LOOP0:DJNZ ...

最新文章

  1. fdisk -l 找不到分区怎么办?想办法找到隐藏分区。
  2. 如何实现一个优质的微服务框架:Apache ServiceComb 的开放性设计
  3. 3DSlicer31:结构的实例分析IGSReader
  4. node.js 安装使用http-server
  5. android学习之路1:前车之鉴之开发环境搭建
  6. 因为重置网络“netsh winsock reset”导致开不了机
  7. 伺服驱动器cn1引脚定义_台达A2 A3系列伺服CN1接线对照表
  8. NetApp 数据存储解决方案
  9. [论文阅读笔记]DeepFool: a simple and accurate method to fool deep neural networks
  10. 对抗样本(一)以综述入门
  11. 面试官没想到我对redis数据结构这么了解,直接给offer
  12. 【JS】阮一峰js教程总结
  13. Windows Server 2016-Powershell之客户端加域
  14. jQuery购物车 商品数量加减和小计
  15. 【如何中医调理过敏性鼻炎】
  16. 比赛报名 | 2019AIIA杯电梯调度算法大赛正式启动
  17. Marshmallow 库
  18. Windows11原版镜像
  19. 狂神JavaWeb课程笔记
  20. c语言send发送结构体,Socket编程中用send发送结构体

热门文章

  1. 创业新力量缔造新未来,岳麓峰会再增“长沙势能”
  2. 小程序循环不同的组建_小程序之八,对象数组、循环及条件渲染
  3. ssm访问html页面,SSM实现未登录无法访问页面
  4. CTF- Reverse迷宫题类型方法特征讲解
  5. Python 下载的九种方法
  6. Python中的四种交换数值的方法
  7. 弃繁就简!一行代码搞定 Python 日志!
  8. Python取出两个文件中相同的电话号码及地址(文件类型为:txt文本)
  9. Python基础教程:in和not in操作
  10. 一道问题引出的python中可变数据类型与不可变数据类型