我对动态语言、静态语言、动态类型语言、静态类型语言的理解

本文详细解析了动态语言和静态语言的概念,包括它们在结构、类型系统方面的特点,以及JavaScript、PHP、Ruby、Python等语言的具体实例。同时,阐述了静态类型语言和动态类型语言的区别,并通过实例说明了如何在编程实践中应用这些概念。
摘要由CSDN通过智能技术生成

查了一些资料,没有找到比较官方的说法,这里说一下我对上述四个术语的理解。

动态语言

该术语在维基百科上有定义,定义如下:

动态编程语言高级程序设计语言的一个类别,在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。众所周知的ECMAScript(JavaScript)便是一个动态语言,除此之外如PHPRubyPython等也都属于动态语言,而CC++等语言则不属于动态语言。

简要的说,就是结构可以在运行期间动态的添加或者删除,比如JavaScript中,对象的属性和方法可以在运行期间动态增加或者删除。

静态语言

术语并没有看到严格的官方定义,相对于“动态语言”,我的理解是其结构在编译期间就确定,运行期间无法改变。如类中的属性、方法等在编译期间确定后就无法再运行期间修改了。


静态类型语言和动态类型语言

针对语言中的变量,如果变量声明后只能存储一种类型的数据,则成为静态类型,如C语言中的变量,int a;变量a只能存储int类型的数据;

如果变量声明后能够存储多种类型的数据,则称为动态类型,如JavaScript中的变量var a;变量a既能存储字符串,又能存储数字,以及其它任意类型的变量。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值