我已经到了这样的地步:使用 Backbone.js 面向对象的 MVC 模式进行 GUI 编码变得非常复杂,并且正在考虑其他范例。MDV https://github.com/Polymer/TemplateBinding, FRP http://en.wikipedia.org/wiki/Functional_reactive_programming, ECS http://en.wikipedia.org/wiki/Entity_component_system, oh my.
如何Elm http://elm-lang.org/相比于Clojure脚本 https://github.com/clojure/clojurescript/wiki?它们在哪里重叠?
两者都是与编译为 JS 的 JS 非常不同的语言。据我了解,Elm 是一种函数式反应式编程 (FRP) 语言。 ClojureScript 不一定是 FRP,但您可以用它来做 FRP。 Elm 使用 Haskell 进行编译,而 ClojureScript 使用 JVM 进行编译,因此这两者都是 Node 商店的额外要求。
也许归结为Clojure 与 Haskell https://stackoverflow.com/questions/11607020/haskell-scala-clojure-what-to-choose-for-high-performance-pattern-matching-an.
两者都迫使您使用比纯 JS 更具声明性/函数式的编程风格。 ClojureScript 更像是 JS 的替代品,而 Elm 更像是整个 Web 开发堆栈 (HTML/CSS/JS) 的替代品。
其他差异:
- Elm 语法更像 Haskell
- ClojureScript 更接近传统的 Lisp 语法
- Elm 针对时变值(Elm 中的“信号”)进行了高度优化
- ClojureScript 更加成熟,你可以找到一些不错的开发工具(Eclipse 插件、LightTable 等)
- Elm 是静态类型,ClojureScript 是动态类型
希望这可以帮助。我仍在学习这两种语言,所以我可能错过了一些东西。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)