Programming Seeking Understanding
The blog of Mark Cheeseman

Domain Driven Design

The Big Blue Book. This book is the foundational text for domain modelling. It includes key concepts such as ubiquitous language, patterns commonly associated with DDD (such as Aggregate and Repository), and much more.

The Big Red Book. Possibly the best place to start with reading about domain-driven design. This book is a more practially oriented approach than Evans, with a detailed example running through the book. In addition, the re-arrangement of topical ordering to place the strategic patterns before tactical patterns helps avoid the initial (mistaken) impression that DDD is primarily about repositories, aggregates, entities, and value objects. It also includes material related to events and other developments since the Evans book was published.

JavaScript

When starting out to learn serious JavaScript programming (meaning anything more than ad-hoc JavaScript in a web-page), this is one of the best places to start.

The learning curve from the basics of JavaScript to understanding and using the stock patterns that recur in good quality JavaScript can be very steep. This book covers most of the key patterns and their variations that occur time and again in common JavaScript libraries - patterns that should be used in any production quality JavaScript.

Functional Programming, F#

Frequently noted as one of the best books to learn F#. This book is routinely revised with newer versions of F# (Expert F# 4.0 is now available).

The focus of this book is the paradigm of functional programming, as opposed to a specific language. The examples are given in F# and C#, however, and it could quite easily form a basis on which to learn F#.

Miscellaneous

Uncovers the principles of user centered design through a series of entertaining examples. While not specifically oriented towards software development, it remains directly applicable to UI design in spite of its age.