I just learnt Coffeescript, and as a Python programmer loved being able to write Javascript in a Python like language. Coffeescript is inspired by Python/Ruby and is very close to these languages. Writing Coffeescript and reading the compiled Javascript also improved my understanding of Javascript. Without much ado here is translation of some Python code to Coffeescript to get you started.
Defining a variable
Python
a = 10
Coffeescript
a = 10
Setting scope is done via whitespaces.
Python
if i == 10:
foo()
Coffeescript
if i == 10
foo()
No semicolons
List comprehensions
Python
languages = ["Python", "Coffeescript", "Java", "Ruby", "Haskell"]
languages = [lan.lower() for lan in languages]
Coffeescript
languages = ["Python", "Coffeescript", "Java", "Ruby", "Haskell"]
languages = (lan.lowerCase for lan in languages)
Get a range
Python
tillTen = range(1, 10)
CoffeScript
tillTen = [1...10]
String Interpolation
Python
language = "Python"
greet = "I love %s" % language
Coffeescript
language = "Coffescript"
greet = "I love #{language}"
Multi Line String
Python
"""
The Quick Brown
Fox, Jumps over
The lazy Dog
"""
Coffeescript
"""
The Quick Brown
Fox, Jumps over
The lazy Dog
"""
Defining a function
Python
def double(x):
return 2 * x
Coffeescript
double = (x) ->
2 * x
Here is a larger python script converted to Coffeescript.
You will see that they are very similar and if you know Python learning (and loving) Coffeescript won’t take you a long time. Excited? Get started here.
Resources
- CoffeeScript: Accelerated JavaScript Development: This is the book I read Coffeescript from and I highly recommend it.
- The Little book of Coffeescript
- Official Coffeescript Site
- Another take on Coffeescript for Python people
Can you believe that it has been only an year since the 1.0 release!
Thank you for reading the Agiliq blog. This article was written by shabda on Dec 24, 2011 in coffeescript .
You can subscribe ⚛ to our blog.
We love building amazing apps for web and mobile for our clients. If you are looking for development help, contact us today ✉.
Would you like to download 10+ free Django and Python books? Get them here