【问题标题】:Is there a reason to use Scheme over JavaScript? [closed]有理由在 JavaScript 上使用 Scheme 吗? [关闭]
【发布时间】:2014-02-04 07:59:57
【问题描述】:

据我所知,JavaScript 可用于在Scheme 中做所有可能的事情。

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

我知道一个人最终可能会使用JavaScript 编写不好的代码(具有全局变量、太多状态和副作用的代码),而Scheme 限制一个人编写functional 代码。

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

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

【问题讨论】:

  • “我在 Scheme 中学到的每个函数式编程范式在 JavaScript 中都是可行的”你需要了解更多...
  • @GoZoner,你能说出一些不符合 JavaScript 要求的 Scheme 概念吗?
  • Scheme 是如何限制你做功能代码的? set!set-car!set-cdr! 只是开始……
  • 卫生宏、可重入延续、动态风、准引用等等。 journal.stuffwithstuff.com/2013/07/18/javascript-isnt-scheme
  • @GoZoner,哇,谢谢!

标签: javascript functional-programming scheme


【解决方案1】:

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

有理由使用法语而不是英语吗?任何你可以用法语表达的东西你都可以用英语表达,所以真的有必要使用法语而不是英语吗?请用俄语、德语、西班牙语或您选择的任何其他口语画出相同的问题。

没有一种编程语言是完全独一无二的,你可以用一种语言做的任何事情都可以用另一种语言来完成,有些实现可能需要更多的创造性思维,但它仍然可以完成。

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

  • 您欣赏的简单和极简主义的结构 语言
  • 与表现力(lambda 表达式)
  • 你对Scheme比较熟悉
  • 客户端在 Scheme 中有现有代码

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

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

【讨论】:

    猜你喜欢
    • 2018-08-02
    • 2016-11-04
    • 2017-10-31
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 2013-12-03
    • 2011-10-12
    • 2017-12-16
    相关资源
    最近更新 更多