1.5. Summary#
This book is about becoming a better programmer. Studying functional programming will help with that. The biggest obstacle in our way is the frustration of speaking a new language, particularly letting go of mutable state. But the benefits will be great: a discovery that programming transcends programming in any particular language or family of languages, an exposure to advanced language features, and an appreciation of beauty.
1.5.1. Terms and Concepts#
dynamic typing
first-class functions
functional programming languages
immutability
Lisp
ML
OCaml
referential transparency
side effects
state
static typing
type safety
1.5.2. Further Reading#
Introduction to Objective Caml, chapters 1 and 2, a freely available textbook that is recommended for this course
OCaml from the Very Beginning, chapter 1, a textbook that is very gentle and recommended for this course. The PDF and HTML formats of the book are free of charge.
A guided tour [of OCaml]: chapter 1 of Real World OCaml, a book written by some Cornellians that some students might enjoy reading
The history of Standard ML: though it focuses on the SML variant of the ML language, it’s relevant to OCaml
The value of values: a lecture by the designer of Clojure (a modern dialect of Lisp) on how the time of imperative programming has passed
Teach yourself programming in 10 years: an essay by a Director of Research at Google that puts the time required to become an educated programmer into perspective