
Ask HN: Resources about writing reliable software - cocoflunchy
I&#x27;m looking for books &#x2F; articles about how to write reliable software. 
There is a lot of focus in the web &#x2F; startup world on writing code as fast as possible with the general assumption that you can always fix your bugs once they&#x27;re in production (ie &#x27;Move fast and break things&#x27;).<p>I don&#x27;t see many articles on general strategies &#x2F; ways of thinking &#x2F; processes to put in place when you can&#x27;t afford to have bugs in your software. I&#x27;m not writing airplane-level, formally-verified code either (the level I&#x27;m aiming for is that the user can&#x27;t do his job if the app fails but no one is going to die either)<p>More specifically, we&#x27;re writing mobile apps where some of the users don&#x27;t have network connectivity for a part of the day, so syncing is a big issue.<p>Thanks for all your ideas!
======
brudgers
_Programming Erlang: Software for a Concurrent World_ , Joe Armstrong. The
tldr; is "Let it crash." From an engineering perspective, this seems like the
sensible approach. Let it crash has been field tested in life and death uses:

[https://www.hq.nasa.gov/alsj/a11/a11.1201-pa.html](https://www.hq.nasa.gov/alsj/a11/a11.1201-pa.html)

------
domnomnom
I don’t think books are very helpful, you basically just write lots of
functions with immutable data structures. It’s hard to understand unless
you’re forced into functional programming. I recommend clojure. Programming in
a functional paradigm is closer to writing mathematical proofs. It’s not fun
at first but it will totally change the way you think about programming.

