编译型语言和解释型语言的特点
终极管理员 知识笔记 3179阅读
编译型语言和解释型语言有什么区别?

答:对于编译型语言,我们下载到的是可执行文件,源代码被作者保留,所以编译型语言的程序一般是闭源的。 对于解释型语言,我们下载到的是所有的源代码,因为作者不给源代码就没法运行,所以解释型语言的程序一般是开源的。
高级语言和解释型语言有什么区别?

答:计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。 而这种转换的方式有两种: 由此高级语言也分为编译型语言和解释型语言。 主要区别在于,前者源程序编译后即可在该平台运行,后者是在运行期间才编译。 所以前者运行速度快,后者跨平台性好。 使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。 在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。
object-c是编译型语言吗?

答:Object-C是编译型语言,但是他是动态语言。 得益于特有的run time机制(准确说run time不是语法特性是运行时环境,这里不展开)OC代码是可以在运行的时候插入、替换方法的。 C#也是动态语言,通过C#的反射机制可以动态的插入一段代码执行。