【请问】解释性语言和编译性语言的区分
【请教】解释性语言和编译性语言的区分
计算机不能直接理解高级语言,
只能直接理解机器语言,
所以必须要把高级语言
翻译成机器语言,计算机才能执行高级语言编写的程序。
翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
能不能这样理解 语言本身没有二者之分..
他们差别是由于编译器或者解释器导致的.假如有合适的解释器,是不是说C语言也可以是解释性语言。
------解决方案--------------------
语言本身特性,设计目标决定了用编译或解释的难度。
记得在<concepts of programming languages>中提到,某个大神写了篇论文说是动态类型语言不能
用编译实现。不管正确与否,这说明语言会影响实现的选择。
------解决方案--------------------
语言的内容受到实现的限制,不是你随便定义一种语言就能设计出一种编译器/解释器来配合它,否则根本用不着什么编程语言,直接设计一种能够编译/解释自然语言的编译器/解释器就行了
语言和编译器/解释器是同时设计的,语言类型也是在设计时就已经明确的设计目标。单独设计任何一个都没意义,因为另一个很可能在理论上无法实现
计算机不能直接理解高级语言,
只能直接理解机器语言,
所以必须要把高级语言
翻译成机器语言,计算机才能执行高级语言编写的程序。
翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
能不能这样理解 语言本身没有二者之分..
他们差别是由于编译器或者解释器导致的.假如有合适的解释器,是不是说C语言也可以是解释性语言。
------解决方案--------------------
语言本身特性,设计目标决定了用编译或解释的难度。
记得在<concepts of programming languages>中提到,某个大神写了篇论文说是动态类型语言不能
用编译实现。不管正确与否,这说明语言会影响实现的选择。
------解决方案--------------------
首先感谢您的回答.
按照上面说的,我理解编译和解释是修饰翻译器的,而不是修饰语言的,与语言无关.
之所以说C语言是编译的..是由于这些翻译器都是编译性的..假设有个翻译器现在能够对C进行解释,那是不是又可以说C是解释性的..
我最想知道的是编译和解释,是由于语言天生决定的,还是说翻译器决定的.
语言的内容受到实现的限制,不是你随便定义一种语言就能设计出一种编译器/解释器来配合它,否则根本用不着什么编程语言,直接设计一种能够编译/解释自然语言的编译器/解释器就行了
语言和编译器/解释器是同时设计的,语言类型也是在设计时就已经明确的设计目标。单独设计任何一个都没意义,因为另一个很可能在理论上无法实现