强类型语言的优点是编译时刻能检查出错误的类型匹配,以提高程序的安全性;可以根据对象类型优化相应运算,以提高目标代码的质量;减少运行时刻的开销。强类型语言真正的缺点永远就是原生类型不够多。
强类型指的是程序中表达的任何对象所从属的类型都必须能在编译时刻确定。常见的强类型语言有Java、Apex和Python等。强类型语言在大规模信息系统开发中具有巨大优势。
强类型是针对类型检查的严格程度而言的,它指任何变量在使用的时候必须要指定这个变量的类型,而且在程序的运行过程中这个变量只能存储这个类型的数据。因此,对于强类型语言,一个变量不经过强制转换,它永远是这个数据类型,不允许隐式的类型转换。例如:假设定义了一个double类型变量a,不经过强制类型转换那么程序int b = a是无法通过编译。常用的强类型语言有Java、C# 、Apex和Python等。
强类型是自定义类所具有的优势,它使得对象处理的数据更容易被理解。因此,强类型语言在大规模信息系统开发中具有巨大优势,特别是当设计者定义了由自定义类所组成的数据访问层,并把设计向组织内的其他程序员发布的时候。它可以通过类型检查机制在编译过程中发现许多容易被人忽视的错误,从而保证软件的质量,使得大规模的软件集成为可能。
强类型语言的优点是编译时刻能检查出错误的类型匹配,以提高程序的安全性;可以根据对象类型优化相应运算,以提高目标代码的质量;减少运行时刻的开销。强类型语言真正的缺点永远就是原生类型不够多。
延伸阅读:
弱类型和强类型异同点
(1) 不管是强类型还是弱类型,变量都有两个属性:类型和值;即,弱类型的变量同样有类型。 不管是哪一种编程语言,其中使用的变量,都既有类型,又有值。强类型的变量类型,必须在源代码中明确定义,称之为“变量声明”,弱类型的变量类型则是无需声明的,由解释器解释。但是,这并不意味着,弱类型的变量就没有类型这一概念了,举例来说,PHP的gettype就是返回该变量“当前”的类型。
(2) 强类型的变量类型是不能改变的,弱类型变量是随需改变的,这是强弱的真正含义。 强类型的变量一经声明,就只能存储这种类型的值,其他的值则必须通过转换之后才能付给该变量,有编译器自动理解的转换,也有由程序员明确指定的强制转换。但是,弱类型的变量类型则是随着需要不断转换。
(3)强制转换并没有改变变量类型。强类型语言有个“强制转换”,这改变的是变量的值的类型,以便进行赋值,而没有改变变量的类型。变量的类型是不允许改变的。
文章标题:强类型语言的优缺点是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/39261