“弱打字”语言的优势
Posted
技术标签:
【中文标题】“弱打字”语言的优势【英文标题】:Advantages to Languages with "Weak Typing" 【发布时间】:2011-05-22 12:05:59 【问题描述】:为什么编程语言要使用弱类型而不是强类型?
【问题讨论】:
***.com/questions/323323/… 由于“弱类型”和“强类型”这两个术语没有一个公认的定义,所以这个问题基本上没有意义,因此在 OP 提供精确定义之前无法回答。 您为什么不尝试使用通用定义或使用您自己的定义。不要那么迂腐。 你能更新一下弱类型的通用定义吗? 正如我已经在您上面的评论中向您解释的那样:没有通用定义。您可能会问“为什么编程语言要使用 flurblr 而不是 brnksar”,因为这两个词与“弱类型”和“强类型”一样有意义。对于静态/动态、隐式/显式、健全/不健全、安全/不安全和结构/名义/鸭子类型,有一个普遍同意的定义。目前正在就潜在/清单类型的含义达成共识。但是没有人知道“强”或“弱”类型是什么意思。 【参考方案1】:在非常基础的层面上,它还可以让初学者更容易上手。 (可能是 php 成功的原因之一,不管你是否欣赏 PHP。)
也就是说,内存管理、指针等健全的操作知识普遍受到侵蚀,这有点令人担忧,因为你不能总是站在巨人的肩膀上。 (还是有人要写微码、高性能设备驱动等)
【讨论】:
【参考方案2】:据推测,一个优势在于开发时间。它允许程序员在编写代码时花更少的时间考虑和输入变量类型。当您不知道变量应该是什么类型时,这是否可以抵消潜在的错误增加和难以理解代码,这本身就是一个问题。
另一个原因是它使某些类型的多态性更容易处理。给定一个接受两个参数并将它们相加的函数,没有必要将它们都指定为int
,甚至指定为某个接口addable
。如果+
运算符可以处理两个参数的组合,那么它就可以工作。
【讨论】:
并非所有的静态类型系统都到处都有明确的类型签名。有些有类型推断。大多数这样做的也可以推断出多态值的类型。所以你说的比真实的恕我直言更虚假。以上是关于“弱打字”语言的优势的主要内容,如果未能解决你的问题,请参考以下文章