3 ms·
I liked reading Joe Armstrong's thesis[1] on erlang where he describes what it takes to build fault tolerant systems. Though he talks about erlang some of the c
by brickcap 11y ago
I liked reading Joe Armstrong's thesis[1] on erlang where he describes what it takes to build fault tolerant systems. Though he talks about erlang some of the concepts stuck with me and helped me in writing code in other languages.
For example one of the recurring themes is the concept of "intentional programming" that I found myself using in my code more often and it resulted in drastic simplification of ideas.
His other ideas like supervision are pretty much tied to erlang unless you want to dedicate effort in "porting" them to your preferred language.
The book is small (<300 pages) and quite readable even if you don't know any erlang.
I also liked reading about programming habits from @edw519[2]. Especially the part about reading code and analyzing it everyday. Following his way I can pretty much reproduce the entire codebase that I am currently working on from my memory right down to the unit tests.
Why is it helpful? Because if you have the entire thing in your head then your brain keeps working on the problem even if you are not. Faults in design and implementation are easier to catch. This practice of self critique is the second best thing to code review and the best if you can't get your code reviewed. It can also lead to "analysis paralysis" if you are not disciplined :)
[1]http://ftp.nsysu.edu.tw/FreeBSD/ports/distfiles/erlang/armstrong_thesis_2003.pdf http://ftp.nsysu.edu.tw/FreeBSD/ports/distfiles/erlang/armst...
[2]http://v25media.s3.amazonaws.com/edw519_mod.pdf http://v25media.s3.amazonaws.com/edw519_mod.pdf