动态语言之“动”

本文对比了静态语言和动态语言的主要区别,静态语言的对象类型在编译时确定且不可更改,而动态语言的对象类型可在运行时确定并允许改变。静态语言在编码上有更多限制但运行效率高,动态语言编码灵活简洁但需在运行时处理类型判断。
摘要由CSDN通过智能技术生成

    语言的动态与静态主要差别在类型上:静态语言的对象类型在编译器确定,不能更改;动态语言的对象类型在运行时确定,而且可以改变。

    比喻一下,静态语言的对象好比“形状”(类型)是固定的,“大小”(变量值)是可变的,而动态语言更进一步,变量的“形状”和“大小”都可以变化。

    静态语言因类型确定有不少语法上的限制,编码时也会有相应的代码;而动态语言则因没有这些限制,编码实现更为简洁。另一方面,由于静态语言的类型描述精确,运行时的效率高于动态语言——动态语言需在运行时对类型判断进行额外处理。开发效率 vs 执行效率,没有好与不好,只有适用与不适用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值