Ask HN: What's the best computer science book you've read recently?
41–50 of 201 posts
Re: Ask HN: What's the best computer science book you've read recently?
#42Re: Ask HN: What's the best computer science book you've read recently?
#43# Elements of Programming
https://www.amazon.com/Elements-Programming-Alexander-Stepan...
This book proposes how to write C++-ish code in a mathematical way that makes all your code terse. In this talk, Sean Parent, at that time working on Adobe Photoshop, estimated that the PS codebase could be reduced from 3,000,000 LOC to 30,000 LOC (=100x!!) if they followed ideas from the book https://www.youtube.com/watch?v=4moyKUHApq4&t=39m30s
Another point of his is that the explosion of written code we are seeing isn't sustainable and that so much of this code is algorithms or data structures with overlapping functionalities. As the codebases grow, and these functionalities diverge even further, pulling the reigns in on the chaos becomes gradually impossible.
Bjarne Stroustrup (aka the C++ OG) gave this book five stars on Amazon (in what is his one and only Amazon product review lol).
This style might become dominant because it's only really possible in modern successors of C++ such as Swift or Rust, not so much in C++ itself.
https://smile.amazon.com/review/R1MG7U1LR7FK6/
# Grammar of graphics
https://www.amazon.com/Grammar-Graphics-Statistics-Computing...
This book changed my perception of creativity, aesthetics and mathematics and their relationships. Fundamentally, the book provides all the diverse tools to give you confidence that your graphics are mathematically sound and visually pleasing. After reading this, Tufte just doesn't cut it anymore. It's such a weird book because it talks about topics as disparate Bayesian rule, OOP, color theory, SQL, chaotic models of time (lolwut), style-sheet language design and a bjillion other topics but always somehow all of these are very relevant. It's like if Bret Victor was a book, a tour de force of polymathical insanity.
The book is in full color and it has some of the nicest looking and most instructive graphics I've ever seen even for things that I understand, such as Central Limit Theorem. It makes sense the the best graphics would be in the book written by the guy who wrote a book on how to do visualizations mathematically. The book is also interesting if you are doing any sort of UI interfaces, because UI interfaces are definitely just a subset of graphical visualizations.
# Scala for Machine Learning
https://www.amazon.com/Scala-Machine-Learning-Patrick-Nicola...
This book almost never gets mentioned but it's a superb intro to machine learning if you dig types, scalable back-ends or JVM.
It’s the only ML book that I’ve seen that contains the word monad so if you sometimes get a hankering for some monading (esp. in the context of ML pipelines), look no further.
Discusses setup of actual large scale ML pipelines using modern concurrency primitives such as actors using the Akka framework.
# Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques for Building Intelligent Systems
https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-T...
Not released yet but I've been reading the drafts and it's a nice intro to machine learning using modern ML frameworks, TensorFlow and Scikit-Learn.
# Basic Category Theory for Computer Scientists
https://www.amazon.com/gp/product/0262660717/ref=as_li_ss_tl...
Not done with the book but despite it's age, hands down best intro to category theory if you care about it only for CS purposes as it tries to show how to apply the concepts. Very concise (~70 pages).
# Markov Logic: An Interface Layer for Artificial Intelligence
https://www.amazon.com/Markov-Logic-Interface-Artificial-Int...
Have you ever wondered what's the relationship between machine learning and logic? If so look no further.
# Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series)
https://www.amazon.com/gp/product/0262018020/ref=as_li_ss_tl...
Exhaustive overview of the entire field of machine learning. It's engaging and full of graphics.
# Deep Learning
https://www.amazon.com/gp/product/0262035618/ref=as_li_ss_tl...
http://www.deeplearningbook.org/
You probably have heard about this whole "deep learning" meme. This book is a pretty self-contained intro into the state of the art of deep learning.
# Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems
https://www.amazon.com/Designing-Scalability-Erlang-OTP-Faul...
Even though this is an Erlang book (I don't really know Erlang), 1/3 of the book is devoted to designing scalable and robust distributed systems in a general setting which I found the book worth it on it's own.
# Practical Foundations for Programming Languages
https://www.amazon.com/gp/product/1107150302/ref=as_li_ss_tl...
Not much to say, probably THE book on programming language theory.
# A First Course in Network Theory
https://www.amazon.com/First-Course-Network-Theory/dp/019872...
Up until recently I didn't know the difference between graphs and networks. But look at me now, I still don't but at least I have a book on it.
Re: Ask HN: What's the best computer science book you've read recently?
#44It was a real eye-opener of what types can do.
Re: Ask HN: What's the best computer science book you've read recently?
#45Re: Ask HN: What's the best computer science book you've read recently?
#46Re: Ask HN: What's the best computer science book you've read recently?
#47The Algorithm Design Manual by Skiena. Each section contains a story of some situation he was in where he faced a problem which he solved by applying one of various algo techniques (DP, divide and conquer, etc.). After reading CLRS for a class, it was nice to see how some of the most common textbook algorithms have been applied by a notable computer scientist.
Re: Ask HN: What's the best computer science book you've read recently?
#48I still haven't read anything better than Code by Charles Petzold [1] and it's not even close. [1] https://www.amazon.com/Code-Language-Computer-Hardware-Softw...
Basically beginner programmers can acquire a broad understanding of the foundation the programs you're building are built on by reading this book. It reads more like a non-fiction expose than a programming language tutorial book, which is to say, given its subject, it's an easy read you can do on the couch. Depending on your skill and knowledge level, there may be a few sections you have to re-read several times until you understand it, but you won't feel as though you need to go over to your computer chair and try something to fully grasp it.
If you can do basic arithmetic, you can get through this book. That seems to be the hidden premise. That computers are easy and should be easy to understand. This book is a testament of that. Though I'm sure some will find this doesn't go deep enough. But the point is: learning so generally will create many entry points for you to follow up on in your journey into programming and computer science. It will clear up many things and essentially make the path seem less scary and out of reach. This book achieves that really well. High level programmers will come away feeling far less insecure about their lack of knowledge of the underpinnings of whatever it is they are developing. I know I did. I can't say enough about this book. It's the real deal. I'm sure those with a computer science degree might have more to say (that is they likely think it's a cursory overview), but I think for everyone else it's a computer science degree in a book you can read in one or two weeks. At least half the degree. For the second half, I recommend Algorithms In A Nutshell. And done! Go back to programming your high level JavaScript react app and get on with your life.
On a side note: it's my opinion that theory first is the wrong way. Application first, theory as needed is the right approach. Otherwise it's like learning music theory before u know u even like to play music. U might not even like being a programmer or be natural at it. And if u spend 4 years studying theory first, u will have spent a lot of time to discover what u could have in like a month. In addition, it can suck the joy and fun out of the exploration of programming and computer science. It's natural and fun to learn as u dive into real problems. Everything u can learn is on the internet. It's very rewarding and often faster to learn things when you are learning it to attain a specific goal. The theory u do learn seems to make much more sense in the face of some goal you are trying to apply it to. In short over ur computing career u can learn the same stuff far faster and far more enjoyably if you do so paired with actual problems.
But that said sometimes u do gotta step back and allocate time for fundamentals, even if u have no specific problem they are related to. However you will know when it's time to brush up on algorithms, or finally learn how the computer works below your day to day level of abstraction. Just know that a larger and larger percentage of us programmers went the applied route, rather than the computer science theory first + formal education route. It's probably the majority of programmers at this point in time. In short u r not alone learning this as u go. Learn to enjoy that early on and save yourself from the pain of insecurity of not knowing everything. This is an exploration and investigation, and perhaps you will make some discoveries nobody else has been able to make, and far before u have mastered and understood everything there is to know about he computer. Perhaps that's it's biggest selling point--you don't have to know everything before you can contribute to the computer world! So enjoy your pursuits in programming, knowing in your unique exploration at any time u may come up with something highly novel and valuable.
Re: Ask HN: What's the best computer science book you've read recently?
#49Engineering a Compiler 2nd Ed by Cooper & Torczon I used it to supplement my prescribed compiler construction textbook and it's incredibly useful! Also surprisingly easy to read compared to some texts with a very math-heavy approach.
Re: Ask HN: What's the best computer science book you've read recently?
#50Lately I've been reading Network Algorithmics. Awesome book. https://www.amazon.com/Network-Algorithmics-Interdisciplinar...