据我所知,JavaScript
可用于执行Scheme
中可能执行的所有操作。
我在Scheme
中学到的每个函数式编程范例都可以在JavaScript
中使用。
我知道有人可能最终使用JavaScript
来编写ungood代码(具有全局变量,有太多状态和副作用的代码),其中Scheme
限制编写functional
代码
但除此之外,是否真的有必要在Scheme
之外的任何地方使用JavaScript
?
对于那些说JavaScript
只能在浏览器上解释的人,请向Python
和Scheme
提出相同的问题。
答案 0 :(得分:2)
让我提出一个类似的问题:
是否有理由使用法语而不是英语?你能用法语表达的任何东西都可以用英语表达,那么真的有必要用法语而不是英语吗?请将相同的问题提交给俄语,德语,西班牙语或您选择的任何其他语言。
没有任何编程语言是完全独特的,您可以用一种语言完成的任何操作都可以用不同的语言完成,有些实现可能需要更多的创造性思维,但仍然可以完成。
使用Scheme而不是JavaScript或Python的一些原因:
具体的实现或算法可能有最小/最大计算可用于给出精确的基准,但您必须查看特定的算法。一般来说,没有办法将一种语言定义为在所有情况下总是更好(甚至“从不更糟糕”),并试图将自己打成一种语言是危险的。在我看来,开放的态度是程序员可以拥有的最大优势之一。能够并愿意使用不同的语言或技术可以成为一个强大的工具。
我个人建议通过查找Polyglot Programming来进一步阅读。它与您的问题没有直接关系,但它是一种说明了解和使用各种语言的好处的心态。