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¶
functional programming languages
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
The perils of JavaSchools: an essay by the CEO of Stack Overflow on why (my words here) CS 2110 is not enough, and why you need both CS 3110 and CS 3410.
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