CoffeeScript is a programming language created by Jeremy Ashkenas that transpires to JavaScript. It aims to enhance JavaScript with syntax sugar like lambda functions, list comprehensions, and class definitions. CoffeeScript code reads like English and removes unnecessary characters like semicolons and parentheses from JavaScript. Classes in CoffeeScript are based on JavaScript's prototype-based inheritance, and new objects created with the new keyword link to the class's prototype for property lookup.