Javascript szturmem zdobywa popularność jako język ogólnego rażenia. Nie jest to już język do wstawiania zabawnych skryptów na stronie. Coraz częściej jest on używany również po stronie back-endu.

Rosnąca popularność nie zmienia jednej rzeczy, mianowicie tego, że:

Javascript jest brzydki jak noc!

Rozwiązaniem tego problemu jest CoffeeScript. Jest to prosty język, który kompiluje się do poprawnego JavaScriptu, a składnią przypomina Rubiego lub Pythona. Poniżej próbka:

# Assignment:
number   = 42
opposite = true

# Conditions:
number = -42 if opposite

# Functions:
square = (x) -> x * x

# Arrays:
list = [1, 2, 3, 4, 5]

# Objects:
math =
  root:   Math.sqrt
  square: square
  cube:   (x) -> x * square x

# Splats:
race = (winner, runners...) ->
  print winner, runners

# Existence:
alert "I knew it!" if elvis?

# Array comprehensions:
cubes = (math.cube num for num in list)

Prawda, że wygląda nieźle? Jeśli wam się to podoba, to polecam zajrzeć na oficjalną stronę lub do prezentacji, którą wygłosiłem na ostatnim wrugu.

Dla tych którym nie chcę się instalować Kawoskryptu poprzez Node Package Managera (co jest sugerowanym sposobem instalacji) polecam Railsy 3.1 - tam CoffeeScript jest na dzień dobry.