是否有理由使用Scheme而不是JavaScript?

时间:2014-01-15 17:35:58

标签: javascript functional-programming scheme

据我所知,JavaScript可用于执行Scheme中可能执行的所有操作。

我在Scheme中学到的每个函数式编程范例都可以在JavaScript中使用。

我知道有人可能最终使用JavaScript来编写ungood代码(具有全局变量,有太多状态和副作用的代码),其中Scheme限制编写functional代码

但除此之外,是否真的有必要在Scheme之外的任何地方使用JavaScript

对于那些说JavaScript只能在浏览器上解释的人,请向PythonScheme提出相同的问题。

1 个答案:

答案 0 :(得分:2)

让我提出一个类似的问题:

是否有理由使用法语而不是英语?你能用法语表达的任何东西都可以用英语表达,那么真的有必要用法语而不是英语吗?请将相同的问题提交给俄语,德语,西班牙语或您选择的任何其他语言。

没有任何编程语言是完全独特的,您可以用一种语言完成的任何操作都可以用不同的语言完成,有些实现可能需要更多的创造性思维,但仍然可以完成。

使用Scheme而不是JavaScript或Python的一些原因:

  • 你欣赏这种简单而简约的结构 语言
  • 与表达能力相比,易于实施(lambda 表达式)
  • 您更熟悉Scheme
  • 客户端在Scheme
  • 中有现有代码

具体的实现或算法可能有最小/最大计算可用于给出精确的基准,但您必须查看特定的算法。一般来说,没有办法将一种语言定义为在所有情况下总是更好(甚至“从不更糟糕”),并试图将自己打成一种语言是危险的。在我看来,开放的态度是程序员可以拥有的最大优势之一。能够并愿意使用不同的语言或技术可以成为一个强大的工具。

我个人建议通过查找Polyglot Programming来进一步阅读。它与您的问题没有直接关系,但它是一种说明了解和使用各种语言的好处的心态。