Technical Notes 1
Free Talk
我发现自己每天都会在实验,或者编程,或者一些知识点上遇到困惑,但是之前总是简单百度看一下就过去了。今天我突然想另开一个专栏,用于记录自己每天的一个简单的知识收获,方便自己加深印象以及后续查阅。这一专栏的文章知识点都比较零碎,更多地是给自己做记录,打算之后有空每天都更新一篇。
编译型语言和解释型语言的区别
编译型语言代表:C,C++
解释型语言代表:JS,PHP
私以为不应该用编译型和解释型来区分一门语言,不过这次不打算再细究下去。
共同点:都是高级语言,都需要变为二进制代码才可以执行,区别在于转化的方式
从效果来看
编译型型语言需要通过某个编译器,生成一个exe二进制文件执行
解释型语言直接发出效果
运行的时候是否需要编译器
编译型语言最终运行的是二进制代码,不需要编译器
解释型语言需要边解释边运行,例如HTML文件需要浏览器这种解释器阅读
执行速度对比
编译型语言因为是二进制代码,速度快
解释型语言,比较慢,就比如网页的加载时只有文字没有图片等等
可移植性
编译型语言一旦CPU指令系统改变,之前的二进制文件就可能无法运行,可移植性差
解释型语言是在需要的时候才开始编译、运行,自然具有可移植性
升级上对比
编译型语言的二进制文件如果要升级,必须重新下载一个新的二进制文件
解释型语言直接刷新网页就好了
应用领域
编译型语言通常是安装软件
解释型语言通常是互联网、网站
实时采集
编译型语言没有做实时采集,选择一次性解决问题
解释型语言做实时采集,边解释、边运行
总结
主要是在知乎上看到了这篇文章,我觉得分析区别的角度比较新颖,自己粗略记录了下来,原文链接:编译型语言和解释型语言区别之我见 - 宁哥的文章 - 知乎 https://zhuanlan.zhihu.com/p/26302914