Foreword
For the past couple of decades, object-oriented programming has dominated the industry, its ability to hide complexity and provide structure and intuition providing a major boost to software development.
Not all kinds of complexity submit willingly to the mechanisms of encapsulated shared state and virtual methods. Some domains of computation, analysis, and transformation were not much helped by objects, and, looming bigger every day, the demand for concurrency is placing new pressure on the object-oriented paradigm.
From an obscure existence in academic institutions and research labs, functional and declarative techniques have gradually crept into mainstream languages to counter those challenges. In C#, for instance, we added generics, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access