Assimilate CoffeeScript Programming with Free Open Source Books

CoffeeScript Books

CoffeeScript is a very succinct programming language that transcompiles into JavaScript, so there is no interpretation at runtime. The syntax is inspired by Ruby, Python and Haskell, and implements many features from these three languages.

CoffeeScript is closely related to JavaScript without having its eccentricities. However, CoffeeScript offers more than fixing many of the oddities of JavaScript, as it has some useful features including array comprehensions, prototype aliases and classes. It allows developers to write less code to get more done.

CoffeeScript is a new language, first appearing in 2009. The first stable release shortly followed in December 2010.

The focus of this article is to select the finest CoffeeScript books which help programmers become proficient coding in this language. The books selected help developers to take full advantage of the power of CoffeeScript. All of the books are published under open source licenses.

We have published a series covering the best open source programming books for other popular languages. Read them here.

Classes and Objects: Class Methods and Instance Methods, Chaining Calls to an Object, Class Variables, A CoffeeScript Type Function, Cloning an Object (Deep Copy), and Create an Object Literal if it does not already exist

Dates and Times: Finding Last (or Next) Month, Calculate Phase of the Moon for a Date, Get Days Between Two Dates, Finding the Last Day of the Month, Calculate the Date of Easter Sunday, Calculate the Date of Thanksgiving (USA and Canada)

Smooth CoffeeScript is a book about CoffeeScript and programming. Start with programming fundamentals, learn about functional programming with Underscore and problem solving, study object orientation and modularity. It covers client/server web apps with Canvas and WebSockets. No previous programming knowledge is required. The book spans over 200 pages and includes 35 exercises.

The book is an introduction to programming in CoffeeScript with an emphasis on clarity and abstraction. It is based on Eloquent JavaScript by Marijn Haverbeke.

Chapters cover:

Language

Introduction

Basic CoffeeScript

Functions – provides an introduction into the subject of Functional Programming

Data Structures – solves a few simple problems. The author discusses two new types of values, arrays and objects, and looks at some techniques related to them

Error Handling

Paradigm

Functional Programming – produces abstraction through clever ways of combining functions. In this chapter, the author writes a set of useful functions to understand how they work and solve problems with them to understand how to use them

Searching – introduces new functional programming concepts and their use in problem solving. It goes through the solution of two problems, discussing some interesting algorithms and techniques along the way

Object Orientation – discusses the ideas at the core of object-orientation along with CoffeeScript’s take on them

Regular Expressions – a language for describing patterns in strings. They form a small, separate language, which is embedded inside CoffeeScript

Modularity – deals with the process of organising programs. When structuring a program in CoffeeScript, we do two things. We separate it into smaller parts, called modules, each of which has a specific role, and we specify the relations between these parts

Appendix

Language Extras – illustrates some extra language constructs and idioms that may come in handy

Binary Heaps – explain the details behind this data structure

Performance – comparisons between CoffeeScript and CPython

Command Line Utility – a utility used to remove solutions from source files is shown here. The program uses the asynchronous file system functions in the same manner as server programs

Reference

Language Reference

Reserved Words

Underscore

QuickCheck

Additional Words

Footnotes

The book is released under the Creative Commons Attribution 3.0 Unported License. The download includes book and full source code with and without solutions.

In no particular order, I’ll close with useful free-to-download CoffeeScript programming books which are not released under an open source license.

About The Author

Steve Emms is the main author of OSSBlog.org. This site aims to promote open source software and hardware. Steve has written thousands of articles about open source software. He is also the creator of LinuxLinks.com.