我想使用“javascript 派生语言”来学习和使用当今一些常用的 Web 技术,如 node.js、jquery 等。
在玩弄了一段时间的函数概念和语言(主要是 F#)之后,我正在寻找 Javascript 世界中是否有类似的东西。到目前为止,我发现并考虑的是:
- Javascript 的功能方式:尽可能广泛地使用 javascript 的功能部分,利用 Underscore 或其他功能库。这种方法的优点是学习“母语”。对我来说,缺点是我真的不喜欢它的语法,并且在 Javascript 中编写“功能优先”的程序感觉不是很自然。
- CoffeeScript + Underscore:我见过一些使用 CoffeScript + Underscore 的例子,它们看起来很吸引人。例如:http
://autotelicum.github.com/Smooth-CoffeeScript/SmoothCoffeeScript.html#toc-Chapter-7 这样做的好处是 CoffeScript 正在广泛传播,并且似乎是设计用于与javascript虚拟机。它的语法对我来说感觉更自然,我可以以更简单的方式以功能方式编写一些东西。
缺点将远离 javascript 本身(这对我来说真的不是太大的问题)并且处于非真正功能的中间地带。 - Livescript:源自 Coco(它本身源自 CoffeScript),它的语法对我来说更有吸引力(它甚至还有我钟爱的 F# 管道 '|>' 运算符)。优点是它是最实用的方法。缺点是它不是很普及(我在 SO 中进行了搜索,但实际上并没有任何关于它的内容)和所有暗示(没有太多的社区、支持、教程等)。
在考虑了所有这些之后,我没有真正的结论,所以如果习惯使用 javascript、CoffeeScript 等的人能够指导我了解这些问题的真正重要性,那就太好了。
以防万一...我还没有真正考虑过使用Pit(因此继续使用 F#),因为尽管它编译为 javascript,但我认为它没有与上述任何 javascript 库集成,并且不遵循相同的工作流程或与 javascript 生态系统以及列出的选项集成。
非常感谢!