python是不是高级计算机语言_python和c++,java哪个是更高级的语言?为什么?

我理解的"高级"是抽象层次更高,"低级"是抽象层次更低。

那么问题就变成了:python和c++,Java哪个是抽象层次更高的语言?为什么?

我的(个人)看法是:python > java > c,当然,并不是抽象层次越高越好(trade off)。

我的观点是:我们把c++/c放在一起,从CSAPP中我们看到c语言是非常接近汇编语言的,c语言中的算术与逻辑操作、控制、过程、数组以及一些异质的数据结构在汇编级别有对应的实现方法,而且实现方法非常直观,像翻译一样。c++呢,由于一些历史的原因,以及c++各种编程范式的不断发展,c++扩展了c,又有了自己的不同之处,可以这么说,c++即支持“低级别”(类c)的操作,也支持一些"高级别"的抽象:如面向对象思想,模板编程思想,函数式编程思想。所以,c是“low level”的高级语言,c++是高级语言。

java相对于c来说做了一点的抽象:VM。java"无需"内存管理(GC),那么我们就重点关注业务逻辑、算法如何实现,至于它在内存中的表示,内存有没有回收,都不是关注焦点。就是说VM是一个中间层,这个中间层让Java抽象层次更高。因此Java程序员很舒服:我不用关心内存的回收问题了。

python是解释型语言,运行过程中也有一层VM,从这里看python的抽象层次是不会低于Java 的,同时python还提供了一种抽象:动态类型。动态类型让python程序员很舒服:我不用关心数据在内存中是如何表示的了。

总结来说,同意有些答主的看法,他们都是高级语言,但是他们的抽象层次不同。

我感觉是翻译的锅(哈哈哈):high-level,高级?高水平?高层次?高程度(高程度xx)?你开心就好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值