Folks, what are the best books that you read in 2015 that changed your life?<p>http://www.gatesnotes.com/About-Bill-Gates/Best-Books-2015<p>link already has a lot of lists. But I want to see books that are more relevant to CS.
Asking a book to change one's life within the course of a year seems like a tall order.<p>That said I recommend Chade-Meng Tan's 'Search Inside Yourself'[0].<p>Chade-Meng Tan began his career at Google as software engineer and later transitioned to teach a course – that this book describes – on emotional intelligence, mindfulness, and self-awareness. Allegedly, the course was quite popular at Google. I highly recommend the book.<p>[0] <a href="http://www.amazon.com/Search-Inside-Yourself-Unexpected-Achieving/dp/0062116932/ref=sr_1_1?ie=UTF8&qid=1449533517&sr=8-1&keywords=search+inside+yourself" rel="nofollow">http://www.amazon.com/Search-Inside-Yourself-Unexpected-Achi...</a>
<a href="http://www.goodreads.com/book/show/155981.Psycho_Cybernetics_A_New_Way_to_Get_More_Living_Out_of_Life" rel="nofollow">http://www.goodreads.com/book/show/155981.Psycho_Cybernetics...</a><p>It has completely changed my thought process and helped me with self-realization.<p>Not CS relevant, however an interesting read.
<i>How Google Works</i><p>- Gives interesting insights in the healthy values at Google.<p><i>How Not to Be Wrong: The Power of Mathematical Thinking</i><p>- Interesting discussions about correct/incorrect interpretations of data/statistics.<p><i>Black Hat Python</i><p>- Gives short code examples of what can be possible to do.<p><i>Programming Collective Intelligence</i><p>- Outdated but very inspiring hands on examples of ML in Python
Beyond contributing to the change in my thinking over the past year, I'm not going to suggest that any of these books changed my life in the way that the <i>Bhagavad Gita</i> or <i>Leviathan</i> or <i>Foucault's Pendulum</i> might. Particularly since these are Computer Science related per the RFP. Anyway:<p>1. <i>Art of Computer Programming: Combinatorial Algorithms, Volume 4a</i>. This stuff is hard. It's harder than I can imagine. [It's worth noting that this probably clarifies my definition of "read", since I've only read a little bit of it so far and only really grokked a little bit of what I read].<p>2. <i>Programming Clojure</i> made me make sense of the truth underlying the joke "Clojure is just a Java library".<p>3. <i>The Art of Unix Programming</i> [1] made me understand my experience living through the transition from MSDos to twenty years of Windows and think about what I had lost and missed and how my understanding of software and design had been shaped. It also helped gain better intuitions when using Linux. [2]<p>4. <i>Starting Forth</i> [3] because Forth is worth learning. It's worth learning because it changed the way I think about programming languages.<p>5. <i>The Art and Science of Smalltalk</i> [4] for the same reasons as Forth, only more so. After reading about Smalltalk, I felt I began to understand the "Why" of Ruby. Ruby became many times richer with the context.<p>6. The weird one is <i>The RSpec Book: Behavior Driven Development with RSpec, Cucumber and Friends.</i> It's also the one that changed my thinking the most [caveat: it's also the most recently read]. I saw someone's "port" of RSpec to Clojure [6] and had saw the Turing Tarpit swallow Lisp. Until then, my smug weeniness didn't allow for the possibility. But implementing an internal DSL for RSpec missed the beauty of RSpec's design. I saw Lisp through the eyes of it's detractors. It's a case where Lisp's parentheses make an elegant idea grotesque.[7]<p>7. [Bonus] <i>The C Standard Library</i>. Trigonometric values are produced via the dark arts.<p>[1]: <a href="http://catb.org/esr/writings/taoup/html/" rel="nofollow">http://catb.org/esr/writings/taoup/html/</a><p>[2]: Please note, I am not anti-Windows or anti-Microsoft. There are tradeoffs all around.<p>[3]: <a href="http://www.forth.com/starting-forth/" rel="nofollow">http://www.forth.com/starting-forth/</a><p>[4]: <a href="http://sdmeta.gforge.inria.fr/FreeBooks/Art/artAdded174186187Final.pdf" rel="nofollow">http://sdmeta.gforge.inria.fr/FreeBooks/Art/artAdded17418618...</a><p>[5]: <a href="http://www.thriftbooks.com/" rel="nofollow">http://www.thriftbooks.com/</a><p>[6]: <a href="https://github.com/slagyr/speclj" rel="nofollow">https://github.com/slagyr/speclj</a><p>[7]: Please don't get me wrong. I don't dislike Lisp. I'm not arguing that the repository is typical, or that anyone else should find RSpec's design attractive. What I saw was that as an internal DSL, RSpec's design baby goes out with the Ruby bathwater in the land of Clojure internal DSL's.