Types 什么是声音编程语言?

Types 什么是声音编程语言?,types,dart,strong-typing,Types,Dart,Strong Typing,据 Dart是一种有声语言 上面句子中“声音”的意思是什么 我在其他主要编程语言中找不到类似的概念。有谁能给出一些与音频无关的声音语言的其他例子吗 根据维基百科: 也就是说,如果一个类型系统既有声音(意味着它拒绝所有不正确的程序)又是可判定的(意味着它可以编写一个算法来确定一个程序的类型是否正确) (参见) 有关词源的考虑,请参见“健全性” TL;DR:在这里,它的意思是“强健”、“健康” 什么是稳健性? 可靠性是指确保您的程序不会进入某些无效状态。声音类型系统意味着您永远无法进入表达式计算结果

Dart是一种有声语言

上面句子中“声音”的意思是什么


我在其他主要编程语言中找不到类似的概念。有谁能给出一些与音频无关的声音语言的其他例子吗

根据维基百科:

也就是说,如果一个类型系统既有声音(意味着它拒绝所有不正确的程序)又是可判定的(意味着它可以编写一个算法来确定一个程序的类型是否正确)

(参见)

有关词源的考虑,请参见“健全性”

TL;DR:在这里,它的意思是“强健”、“健康”

什么是稳健性?

可靠性是指确保您的程序不会进入某些无效状态。声音类型系统意味着您永远无法进入表达式计算结果与表达式的静态类型不匹配的状态。例如,如果表达式的静态类型是字符串,则在运行时,您可以保证在对其求值时只获取字符串

强模式,就像Java和C#中的类型系统一样,是可靠的。它使用静态检查(编译错误)和运行时检查的组合来加强这种可靠性。例如,将字符串指定给int是一个编译错误。如果对象不是字符串,则使用as string将对象强制转换为字符串将失败,并出现运行时错误

Dart是作为可选类型的语言创建的,不可靠。例如,在Dart中创建包含整数、字符串和流的列表是有效的。您的程序不会因为列表包含混合类型而编译或运行失败,即使列表被指定为浮点列表,但包含除浮点值以外的所有类型

在经典Dart中,问题发生在运行时从列表中获取流,但获取另一种类型会导致运行时异常和应用程序崩溃。例如,以下代码将动态类型的列表(包含字符串)分配给int类型的列表。遍历列表并从每个项中减去10会导致运行时异常,因为没有为字符串定义减号运算符

健康的好处 声音类型系统有几个好处:

在编译时显示与类型相关的错误。 健全的类型系统迫使代码明确其类型,因此在运行时很难发现的类型相关bug会在编译时暴露出来

更可读的代码。 代码更容易阅读,因为您可以依赖实际具有指定类型的值。在声音飞镖中,类型不能说谎

更易于维护的代码。 使用声音类型系统,当您更改一段代码时,类型系统可以警告您其他刚刚中断的代码

更好的提前(AOT)编译。 虽然AOT编译不需要强类型,但生成的代码效率要低得多

更干净的JavaScript。 对于web应用程序,strong mode更严格的键入允许dartdevc生成更干净、更紧凑的JavaScript


要使Dart具有可靠性,只需在Dart语言中添加一些规则。启用强模式后,Dart analyzer将强制执行三个附加规则:

重写方法时使用正确的返回类型

重写方法时使用正确的参数类型

不要将动态列表用作类型化列表


在这种情况下,声音是一个形容词,它的意思是“状态良好”