如何像比较编程语言一样,比较人类不同语言的性能
2个回答
展开全部
一般我们比较编程语言的“性能”都不是指语言本身的“表达能力”,你比如说C++和JAVA,两者都可以定义不同类型的变量,都可以自定义函数,都可以定义类……两者的“表达能力”不一定存在很大的差异
我们所比较的所谓“性能”,其实是指用某种语言写出来的程序的性能,或者说“执行性能”。比如说JAVA写的程序其实是编译为字节码,然后由JAVA虚拟机来将字节码“翻译”为当前机器的指令,而C++则是在编译时就编译成了当前机器的指令集合。所以JAVA的程序在执行时需要经过一个“间接层”也就是JAVA虚拟机,因此JAVA的程序在效率、性能上会比C++的程序更差,因为C++的程序编译好了就已经是机器指令程序了。这才有了我们所说的比较两个语言的“性能”。
而在现实生活中,不同语言之间不存在“执行性能”,真要比也是比“表达能力”,所以不应该用比较编程语言之间性能差异的方式去比较现实中的语言。
我们所比较的所谓“性能”,其实是指用某种语言写出来的程序的性能,或者说“执行性能”。比如说JAVA写的程序其实是编译为字节码,然后由JAVA虚拟机来将字节码“翻译”为当前机器的指令,而C++则是在编译时就编译成了当前机器的指令集合。所以JAVA的程序在执行时需要经过一个“间接层”也就是JAVA虚拟机,因此JAVA的程序在效率、性能上会比C++的程序更差,因为C++的程序编译好了就已经是机器指令程序了。这才有了我们所说的比较两个语言的“性能”。
而在现实生活中,不同语言之间不存在“执行性能”,真要比也是比“表达能力”,所以不应该用比较编程语言之间性能差异的方式去比较现实中的语言。
2017-05-22
展开全部
静态和动态是针对变量的数据类型而言的,区别如下:
1、使用静态类型语言编写的代码中,要声明变量的数据类型,而且不同数据类型的变量不允许直接赋值,它的数据类型是编译期间进行检查的。
2、静态类型语言在使用变量之前,需要为它们分配好内存。
3、静态类型语言功能强大,但相对难以学习,并且灵活性差。
4、动态类型语言与静态语言刚好相反,它只在程序运行期间才去进行数据类型检查,不需要给变量指定数据类型,它会在第一次同仁给变量时,在内部记录数据类型。
5、动态类型语言虽然快速灵活,但在代码运行前很难找到bug,所以提升了开发速度,但失去程序的健壮性。
PS:
1)静态类型语言:c、c++、c#、object-c、Java等
2)动态类型语言:Python、ruby、PHP、JavaScript、erlang等
1、使用静态类型语言编写的代码中,要声明变量的数据类型,而且不同数据类型的变量不允许直接赋值,它的数据类型是编译期间进行检查的。
2、静态类型语言在使用变量之前,需要为它们分配好内存。
3、静态类型语言功能强大,但相对难以学习,并且灵活性差。
4、动态类型语言与静态语言刚好相反,它只在程序运行期间才去进行数据类型检查,不需要给变量指定数据类型,它会在第一次同仁给变量时,在内部记录数据类型。
5、动态类型语言虽然快速灵活,但在代码运行前很难找到bug,所以提升了开发速度,但失去程序的健壮性。
PS:
1)静态类型语言:c、c++、c#、object-c、Java等
2)动态类型语言:Python、ruby、PHP、JavaScript、erlang等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询