Hacker News new | past | comments | ask | show | jobs | submit login

- Functional Core, Imperative Shell[1] helped me truly grok the paradigm of functional programming.

- Grokking Simplicity[2] then shifted my thoughts on functional programming: it's not about avoiding mutation because mutation is bad. In fact mutation is usually the desired result, but care must be taken because mutation depends on when and how many times it's called.

Mutation is flipping bits in storage, setting pixels on a screen, sending emails: these effects are desired, but it is crucial to only have these effects happen when we want them to, in the order desired, and exactly the number of times we expect.

Compare to pure functions, which simply calculate a value: these can be called whenever, however many times we wish without any major negative consequences. They are much easier to reason about.

---

However, the two books that rewired my mental model the most were not technical. These books totally altered my overall mindset:

1. Conversations with God[3]. Best answers for biggest questions in life; answered better than any religion; actually resolves all the conflicts between different religions:

- What is the meaning of life?

- How did the universe begin?

- Why do bad things happen to good people?

- What happens after we die?

2. Direct response marketing. (I coined the term "precision marketing" to differentiate from the "brute force marketing" usually conjured when people hear the word "marketing.") Lots of different resources; Start from Zero[4] is a good one. Expert Secrets[5] is a well-written collection of direct response marketing's greatest hits.

[1]: https://hw.leftium.com/#/item/18043058

[2]: https://www.manning.com/books/grokking-simplicity

[3]: https://www.cwg.org/

[4]: https://startfromzero.com/

[5]: https://expertsecrets.com/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: