Programming languages 哪些语言没有全局变量?

Programming languages 哪些语言没有全局变量?,programming-languages,global-variables,Programming Languages,Global Variables,由于在中使用全局变量的批评浪潮,我想使用一种没有全局变量的语言。每个答案一条建议,谢谢。如果您不需要全局变量,请不要使用它们。我不明白为什么找到一种不支持它们的语言会有任何价值。你在处理一个范围问题。让你的变量存在于尽可能低的范围内,你就没事了。没有一种语言没有全局作用域。我不确定你的字面意思是没有全局变量(变化的值),还是你也想排除全局常量(不变的值)。Haskell就是这样一种没有全局变量的语言,尽管它有全局常量(本质上是以无参数函数的形式)。在Haskell中,如果要模拟全局状态,必须将“

由于在中使用全局变量的批评浪潮,我想使用一种没有全局变量的语言。每个答案一条建议,谢谢。

如果您不需要全局变量,请不要使用它们。我不明白为什么找到一种不支持它们的语言会有任何价值。你在处理一个范围问题。让你的变量存在于尽可能低的范围内,你就没事了。没有一种语言没有全局作用域。

我不确定你的字面意思是没有全局变量(变化的值),还是你也想排除全局常量(不变的值)。Haskell就是这样一种没有全局变量的语言,尽管它有全局常量(本质上是以无参数函数的形式)。在Haskell中,如果要模拟全局状态,必须将“全局”变量传递到调用的每个函数中。如果您想避免副作用,可以使用一种纯函数式编程语言,如haskell(或erlang或…),它只有常量。但是,要为一种与命令式编程风格完全不同的编程做好准备。

好吧,我读到Graal是一种没有变量的函数式编程语言,所以我想这可能符合条件。

我相信不使用全局变量,但这不是一个严肃的标准

Java(和类似的OOP语言)没有真正的全局变量,所有变量都绑定到一个实例或一个类。但我认为您还希望排除“模拟”全局变量(公共字段,唯一的理由是从外部访问)。我不认为任何流行语言都不允许这样做,但更不常见的语言概念可能有办法避免这样的事情。

Newspeak没有全局名称空间,因此没有全局变量,一切都是后期绑定的,我认为BETA系列中的其他语言也有同样的属性


按照惯例,如果合适的话,民意测验类型的问题应该是社区维基。找到一个问题的那天,让我们知道:-)标准Haskell是否有“变量”(不计算单子伪造的可变值)?这取决于您如何定义变量。Haskell中的变量最好用命令式语言中的常量来描述。在Haskell中,分配给变量的值永远不能更改。另见