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 relatively inexpensive PDF textbook that is very gentle and recommended for this course
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