“弱打字”语言的优势

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。如果+ 运算符可以处理两个参数的组合,那么它就可以工作。

【讨论】:

并非所有的静态类型系统都到处都有明确的类型签名。有些有类型推断。大多数这样做的也可以推断出多态值的类型。所以你说的比真实的恕我直言更虚假。

以上是关于“弱打字”语言的优势的主要内容,如果未能解决你的问题,请参考以下文章

Delphi优势在哪里?

erlang对比java优势在哪

Kotlin 编程语言都有哪些优势? [关闭]

Go语言优势与劣势

使用Python语言开发爬虫有什么优势?

JavaWeb优势都有哪些?