1 What is software design?
This chapter covers
- Establishing the idea and intuition behind software design
- Finding similarities and dissimilarities between object-oriented and functional design
- Introducing the concepts of functional design
- Introducing general design principles
Functional Design and Architecture presents the interesting ideas about software design and architecture we’ve discovered thus far in functional programming. You may be asking, why break the status quo — why stray from plain old techniques the imperative world elaborated for us years ago? Good question. I could answer that functional programming techniques can make your code safer, shorter, and better in general. I could also say that some problems are much easier to approach within the functional paradigm. Moreover, I could argue that the functional paradigm is no doubt just as deserving as others. But these are just words — not that convincing and lacking strong facts.