我知道我是以错误的方式来到这里的。您应该首先学习Javascript,然后在厌倦了大括号和变量声明时开始查看Coffeescript。然而,我是一个有点经验丰富的Ruby和Python程序员,但没有Javascript流畅性,他们希望进入Web脚本(主要通过Rails)。
我确信Coffeescript是我的选择,但是我很难找到一个不会让Javascript熟悉的教程。我见过的大多数教程都详细解释了Coffeescript的特点,只是为了掩盖如何实际编写Web应用程序等小问题。
那么,对于那些不了解JS的人来说,你知道任何Coffeescript教程吗?
答案 0 :(得分:10)
我建议免费在线Smooth Coffeescript一本书(基于Eloquent Javascript)。
不需要以前的编程知识。 CoffeeScript可以帮助您 简单而优雅地编写面向Web的应用程序。它是密切的 与JavaScript相关但没有古怪的角落。
Smooth CoffeeScript是一本关于CoffeeScript和编程的书。 从编程基础开始,了解功能 使用Underscore进行编程并解决问题,研究对象 方向和模块化。它涵盖了客户端/服务器Web应用程序 画布和WebSockets。
答案 1 :(得分:10)
你可能不想听到这个,但无论如何我都要说:你应该先学习JavaScript。
JavaScript与其他语言有点独特,因为它垄断了浏览器脚本。目前可以在浏览器中使用否其他语言(除非它使用插件,或者解释器使用JavaScript!)。因此,对于任何需要执行任何数量的客户端脚本的项目,JavaScript知识是必须的。
你可能在想“嘿,我知道Python和Ruby,我从来不需要学习C或汇编!”,这当然是正确的。但是,这些语言从未垄断过他们的领域。在很多情况下,Python可以用于与C相同的东西。该平台不关心您使用的语言,只要它支持它。
浏览器平台仅支持JavaScript。
CoffeScript是JavaScript的抽象。虽然CoffeeScript被编译成JavaScript,但是当你试图弄清楚那些模糊的JavaScript错误,或调试生成的函数,或者想知道为什么有两个级别的未命名函数嵌套时,你会想知道它到底是什么上。
现在,我不是说你必须成为一个JavaScript忍者(尽管我推荐它),但我我说的是你应该来掌握首先是实际的网络语言。
学习JavaScript,学习它的概念(在我看来,它是一种非常迷人的语言,一旦你克服了一些不足之处),然后使用CoffeeScript来抽象出技术性。
既然你确实要求教程,那么这里有一些:首先,Mozilla guide to JavaScript非常好。如果您想要一些更高级的主题,那就是also an interactive tutorial made by John Resig。最后,你可能已经知道了a bunch of CoffeeScript tutorials。
答案 2 :(得分:4)
我有Python,ActionScript和Java的背景知识。我开始直接学习CoffeeScript而无意学习JavaScript。我一路上学到了很多JavaScript,但我认为开始直接学习CoffeeScript是完全可以的。
我第一次被Smooth CoffeeScript所吸引,因为它声称是针对那些试图直接学习CoffeeScript的人。然而,写作风格并不符合我的喜好。 YMMV。
此外,凭借我的Python背景,我发现我对语法不需要太多帮助。我直接从他CoffeeScript web page获得了我需要的所有语法帮助。我主要需要帮助平台(蛋糕,开发环境,测试等),这在CoffeeScript网页上有很好的介绍,我还需要从其他几本书中获得。我最喜欢的教学书是The Little Book on CoffeeScript(一小时阅读),我最喜欢的参考文献是Trevor Burnham的Pragmatic Bookshelf book on CoffeeScript,它从CoffeeScript的角度教我jQuery。
帮助我快速提升的另一件事是在CoffeeScript中分叉/升级我自己的一些工具。我在github上分叉了CoffeeDoc存储库以创建我自己的版本,我最终重新编写它来创建CoffeeDocTest,就像Python的DocTest一样,除了CoffeeScript。我对CoffeeScript的Coda语法模式的升级通过github的pull-request机制接受回主分支...在代码审查和一些清理之后。看别人的代码真的可以帮助你学习成语。从知道的人那里获得代码审查会有所帮助。
答案 3 :(得分:1)
你的问题对我来说没有多大意义,因为CoffeeScript 是 JavaScript。要知道一个是了解另一个。对我来说,建议学习CoffeeScript的最佳方法是破解一本JavaScript书籍,但语言是同一种,这听起来可能违反直觉。
我知道它们看起来不同,但差异在语法层[1]结束。在CoffeeScript中添加一些分号,花括号和parens,你或多或少都在那里。所以去学习JavaScript,你会发现你也在学习CoffeeScript。
您还可以学习CoffeeScript并顺便选择JavaScript。这可能有点困难,因为在实现源映射之前,调试只能在JavaScript中完成(你会调试很多,我向你保证;-))。
[1]:除了可能稍微复杂一些的类定义外。